.
FRDCSA | internal codebases | FreeKBS
Homepage

[Project image]
FreeKBS

Architecture Diagram: GIF
Code: GitHub

Jump to: Project Description | Parent Description | Capabilities

Project Description

A knowledge based system that is very well integrated with our tools.

Capabilities

  • freekbs2: https://www.lucid.ai/
  • Add ist-Asserted equivalent to freekbs2.
  • Have a function for grepping through all of freekbs2.
  • Write a function for Formalog that checks the synchronization of the Prolog and freekbs2 bases.
  • Create history mechanism for freekbs2-stack / freekbs2-ring
  • freekbs2 can possibly solve the module problem by defining bridge predicates in a module, and loading each KBS2 Context in a module.
  • Should probably learn how to do things with DBIx::Class before I write my freekbs2 source, so I can take advantage of that infrastructure.
  • Create a feature for freekbs2 and NLU which analyzes a Cyc Constant the first time it is seen, and record as such, such as when it was seen, etc.
  • KBS2, freekbs2:mysql:Org::Cyc::BaseKB query (nil)
  • Write freekbs2 to use qlf files for the prolog reasoner. One for each microtheory.
  • Could combine this with a more efficient mechanism if possible for freekbs2, such as several arity tables for the different relations, and implement that, and then have our persistence.
  • Update freekbs2 to have a partial or total order over all the assertions, for use with Prolog and Cyc and other order based logical languages.
  • Since I don't have persistence working correctly for Cyc, just use freekbs2 and convert later.
  • Write something that translates freekbs2 assertions into prolog. Note the similarity between predicates in freekbs2 and those in prolog, down to the fact that they can have unbound vars in them.
  • For freekbs2 come up with the ports for programming with it, for instance, failing from cannot prove, failing as negation, etc. Work out programming system with it.
  • See if we can write a nonblocking freekbs2 query for Emacs.
  • For freekbs2, we could have indexed versions of statements that refer to the new sayer cached versions of them.
  • Add provenance information to freekbs2-stack/ring
  • freekbs2 could use DMCS for multicontext systems for reasoning about it's contexts with bridges.
  • Develop font highlighting system for NLU knowledge and other freekbs2 knowledge.
  • Can write freekbs2 mode's Cyc support to take advantage of the new infrastructure we've just develope.d
  • Move the question about whether to overwrite the KB when doing freekbs2-knowledge-editor-commit to Emacs instead of the CLI.
  • Add the ability to toggle an agents state remotely, such as setting freekbs2 to debug mode through a command.
  • make it so that running freekbs2-knowledge-editor will start unilang if it's not already started.
  • Have the ability to execute the result of a freekbs2 thing and then insert into the buffer including the minibuffer.
  • Have the ability to execute lisp code stored in freekbs2, for instance ("setq" "font-lock-defaults" "\"\"")
  • Create a freekbs2 command like all term assertions to get all assertions in one or more contexts involving the item.
  • For now, write inventory manager to not use freekbs2, make it work with Flora2 instead.
  • One cannot use HiLog with Vampire natively, so when asserting knowledge into freekbs2 or freekbs3 as it may be, one will have to mark domains with highlog as not using vampire to check consistency.
  • Need to fix freekbs2-util-convert-from-emacs-to-perl-data-structures, specifically, (prin1-to-string item) does not properly quote to Perl variables that perl would interpolate into a string, such as "$it".
  • Setup unit tests for OpenCyc and ResearchCyc for freekbs2 backend.
  • Develop a transactional system that backs up the freekbs2 stack and ring, and allows you to undo
  • Maybe make the freekbs2 ring and stack windows optionally smaller.
  • For freekbs2-knowledge-editor-commit, have it commit it first to a different context, and only after that successfully completes, have it delete the first context and switch the names over.
  • Figure out why I sometimes have to hit ctrl-g after issuing a freekbs2 interaction
  • Have the option to query the commands that can be run on the given entries in the freekbs2-stack. For instance, if they haven't been processed with NLU/Sayer/kbfs
  • Write a converter that takes freekbs2 formulae and translates them into semantic web triples.
  • Integrate freekbs2 and ResearchCyc. note that we had Cyc agentified earlier.
  • Start recording all the issues with freekbs2 in order to rewrite freekbs3 to be better.
  • Have freekbs2-execute2-emacs-function-on-stack-and-display order items by frequency of use, or some other score.
  • Record constraints of the freekbs2 software, such as in Emacs its going to make "71" be 71 (without quotes), and then use this to generate the software.
  • Create a new version of freekbs2 and make it support HiLog by default, using Moose, etc.
  • Apparently unilang or freekbs2 do not support \f character.
  • Write tests for freekbs2
  • KBS2, MySQL2:freekbs2:_Contexts query-cyclike ("generalizes-context" "Org::FRDCSA::Academician" ?X)
  • KBS2, MySQL2:freekbs2:_Contexts query ("generalizes-context" "Org::FRDCSA::Academician" ?X)
  • Remove the problem with freekbs2 unable to unassert certain formula with variables in them, if such is asserted directly to the kb already
  • Suppositional reasoner should make each what-if scenario a freekbs2 context, or perhaps if that's not sufficient, a bunch of contexts
  • Add a map function to the freekbs2-stack processes, to call on each argument of the stack or ring, etc
  • Write software to freekbs2 contexts such that they are more interesting than microtheories, so that they know which logic they refer to, and so on.
  • Replace the 'freekbs2-execute-functions-' functions with one where they are tagged somehow so as to show up.
  • Implement context inheritance in freekbs2
  • Have the ability to check the assertion time of a freekbs2 assertion from the command line.
  • Fix the freekbs2 function for committing the knowledge editor, so that it doesn't destroy the data if it fails, i.e. have it insert into a similar context, then rename the context.
  • Create a dired like interface for freekbs2 contexts.
  • Set up a modal theorem prover for freekbs2.
  • freekbs2 should track which environment a particular context belongs to, for instance, stable model semantics, etc.
  • Set up the freekbs2 edit context command or find one that implements it.
  • Determine why assertions are failing to respond with freekbs2 and Emacs-unilang-Client
  • Have a freekbs2 function to get the KBS2 TupleID for a given formula in a given context.
  • Remember how to use the freekbs2 ring
  • Make a bridge from RT to freekbs2 and have it sync.
  • Add an undo feature to the freekbs2-ring stuff
    ("completed" "121408")
  • This is a test of the new freekbs2.
  • KBS, MySQL2:freekbs2:default clear-context default
  • KBS, MySQL2:freekbs2:formalize all-asserted-knowledge
  • KBS, MySQL2:freekbs2:formalize all-assertions
  • KBS, MySQL2:freekbs2:formalize clear-context
  • KBS, MySQL2:freekbs2:formalize assert ("and" ("start'" var-e2 var-x1) ("Dad#n#1'" var-x1) ("stories-SLASH-recollections-SLASH-etc#n#2'" var-x1) ("project#n#2'" var-x1))
  • KBS, MySQL2:freekbs2:test-mysql2-vampire clear-context
  • KBS, MySQL2:freekbs2:test-mysql2-vampire clear-context.
  • KBS, MySQL2:freekbs2:test-mysql2-vampire query ("q" "x").
  • KBS, MySQL2:freekbs2:test4 clear-context
  • KBS, MySQL2:freekbs2:test4 query ("finished" ?x)
  • KBS, MySQL2:freekbs2:test4 query ("completed" ?X)
  • KBS, MySQL2:freekbs2:test4 assert ("completed" "freekbs")
  • KBS, MySQL2:freekbs2:test4 assert ("=>" ("completed" ?X) ("finished" ?X))
  • KBS, MySQL2:freekbs2:test4 query ("=>" ("completed" ?X) ("finished" ?X))
  • KBS, MySQL2:freekbs2:test4 query ("testing" ?X)
  • KBS, MySQL2:freekbs2:test4 query ("not" ("finished" ?X))
  • KBS, MySQL2:freekbs2:test4 assert ("testing" "z")
  • KBS, MySQL2:freekbs2:test4 assert ("implies" ("testing" ?X) ("not" ("finished" ?X)))
  • KBS, MySQL2:freekbs2:test4 query ("testing" "p")
  • KBS, MySQL2:freekbs2:test4 assert ("testing" "p")
  • KBS, MySQL2:freekbs2:test unassert ("isa a giant ballon" ?X)
  • KBS, MySQL2:freekbs2:test assert ("isa a giant ballon" ?X)
  • KBS, MySQL2:freekbs2:test unassert ("implies" ("d" ?X) ("z" ?X))
  • KBS, MySQL2:freekbs2:test all-asserted-knowledge
  • KBS, MySQL2:freekbs2:test query ("z" ?X)
  • KBS, MySQL2:freekbs2:test assert ("implies" ("d" ?X) ("z" ?X))
  • KBS, MySQL2:freekbs2:test query ("d" ?x)
  • KBS, MySQL2:freekbs2:test assert ("d" "b")
  • KBS, MySQL2:freekbs2:test query ("d" ?X)
  • KBS, MySQL2:freekbs2:test query ("d" "b")
  • KBS, MySQL2:freekbs2:test query ("z" "a")
  • KBS, MySQL2:freekbs2:test unassert ("d" "a")
  • KBS, MySQL2:freekbs2:test assert ("d" "a")
  • KBS, MySQL2:freekbs2:test assert ("p" ds "fds")
  • KBS, MySQL2:freekbs2:test assert ("dfs" "fds")
  • KBS, MySQL2:freekbs2:test assert ("x" "fds")
  • , MySQL2:freekbs2:test assert ("p" "fds")
  • KBS, MySQL2:freekbs2:test assert ("p" "fds")
  • KBS, MySQL2:freekbs2:test assert ("p" "t")
  • KBS, MySQL2:freekbs2:test query ("p" "a" "?X")
  • KBS, MySQL2:freekbs2:test query ("p" "d")
  • KBS, MySQL2:freekbs2:test query ("p" "c")
  • KBS, MySQL2:freekbs2:test2 query ("p" ?Z)
  • KBS, MySQL2:freekbs2:test2 query ("p" "?Z")
  • KBS, MySQL2:freekbs2 restart-reasoner
  • KBS, MySQL2:freekbs2:test2 restart-reasoner
  • KBS, MySQL2:freekbs2:test2 query (">" "5" "3")
  • KBS, MySQL2:freekbs2:test3 assert ("p" "a")
  • KBS, MySQL2:freekbs2:test query ("p" "?Z")
  • KBS, MySQL2:freekbs2:test query ("p" ?Z)
  • KBS, MySQL2:freekbs2:test query ("p" ?X)
  • KBS, MySQL2:freekbs2:test query ("p" "?Y")
  • KBS, MySQL2:freekbs2:test2 query ("p" "?X")
  • KBS, MySQL2:freekbs2:test2 query ("p" "a")
  • KBS, MySQL2:freekbs2:test2 assert ("p" "a")
  • KBS, MySQL2:freekbs2:test unassert ("p" "?X")
  • KBS, MySQL2:freekbs2:test query ("p" "?X")
  • KBS, MySQL2:freekbs2:test assert ("p" "?X")
  • KBS, MySQL2:freekbs2:test assert ("p" ?X)
  • KBS, MySQL2:freekbs2:test assert ("not" ("p" "b"))
  • KBS, MySQL2:freekbs2:test query ("not" ("p" "a"))
  • KBS, MySQL2:freekbs2:test assert ("p" "c")
  • KBS, MySQL2:freekbs2:test query ("p" "fjdsidf")
  • KBS, MySQL2:freekbs2:test assert ("p" "fjdsidf")
  • KBS, MySQL2:freekbs2:test assert ("isa" ("p" "b") "dog")
  • KBS, MySQL2:freekbs2:test query ("p" "b")
  • KBS, MySQL2:freekbs2:test assert ("not" ("p" "a"))
  • >KBS, MySQL2:freekbs2:test assert ("not" ("p" "a"))
  • KBS, MySQL2:freekbs2:test assert ("p" "b")
  • KBS, MySQL2:freekbs2:test query ("p" "a")
  • KBS, MySQL2:freekbs2:test assert ("p" "a")
  • KBS, MySQL2:freekbs2:test query ("isa" "a")
  • KBS, MySQL2:freekbs2:test assert ("isa" "a")
  • KBS, MySQL2:freekbs2:default assert ("#$infoTransferred" "#$UAEAcceptsProductionQuota" ("#$exists" (?QUOTA-AMOUNT) ("#$exists" (?PRODUCTION-AMOUNT) ("#$exists" (?TIME) ("#$and" ("#$temporallySubsumes" ("#$YearFn" "1990") ?TIME) ("#$greaterThanOrEqualTo" ?QUOTA-AMOUNT ?PRODUCTION-AMOUNT) ("#$productionAmountDuring" "#$UnitedArabEmirates" "#$Petroleum-CrudeOil" ?TIME ?PRODUCTION-AMOUNT) ("#$productionQuotaDuring" "#$UnitedArabEmirates" "#$Petroleum-CrudeOil" ?TIME ?QUOTA-AMOUNT)))))).
  • Sending: KBS, MySQL2:freekbs2:default assert ("#$infoTransferred" "#$UAEAcceptsProductionQuota" ("#$exists" (?QUOTA-AMOUNT) ("#$exists" (?PRODUCTION-AMOUNT) ("#$exists" (?TIME) ("#$and" ("#$temporallySubsumes" ("#$YearFn" "1990") ?TIME) ("#$greaterThanOrEqualTo" ?QUOTA-AMOUNT ?PRODUCTION-AMOUNT) ("#$productionAmountDuring" "#$UnitedArabEmirates" "#$Petroleum-CrudeOil" ?TIME ?PRODUCTION-AMOUNT) ("#$productionQuotaDuring" "#$UnitedArabEmirates" "#$Petroleum-CrudeOil" ?TIME ?QUOTA-AMOUNT)))))).


This page is part of the FWeb package.
Last updated Sat Oct 26 16:53:20 EDT 2019 .