Tools for representing OWL ontologies in Soar's semantic memory module, and an agent with an inference module.
Java Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Onto2SMem
examples
ontologies
owl-families-generator
soar-inference-agent
soar-query-families-generator
README
diagram.png
representing-ontologies-and-reasoning-with-smem.pdf

README

Ontology representation and reasoning with SMem in Soar

==== DESCRIPTION
Feasibility study. Demonstrated could (i) represent ontologies in SMem and (ii) perform domain-independent reasoning using a subset of property restrictions. Inference module uses forward chaining, and is sound but not guaranteed to be complete. Preliminary testing showed polynomial decision growth for agent as the knowledge base increased. Worst case polynomial (or potentially worse) growth demonstrated more readily by queries with uncertain results.

This is a baseline implementation. General use cases could guide restrictions that still permit tractible inference. See the slides for more conclusions.

==== DOWNLOADS

Utilities and inference:

  * ontologies/family-example.owl: Sample ontology used for development of inference agent and presentation.

  * Onto2SMem/: Source code for utility that converts from OWL ontology to declarative add statements that Soar uses to build the SMem knowledge base.

  * soar-inference-agent/:  includes inference module and sample queries, two of which are uncertain. Uses Onto2SMem output from family-example.owl.

Testing:

  * owl-families-generator/: executable that generates a valid family ontology with one or more family instances, each with one mother, one father and three siblings. Used for performance testing the reasoner.

  * soar-query-families-generator/: executable that generates queries for agents using ontologies generated by owl-families-generator

  * examples/generate.sh: Sample script uses tools on this page, generates OWL, declarative add and initialization files for agent for trials based on user-specified counts for families, queries and trials per condition.

  * examples/build-trial.sh: Sample script uses output from generate.sh to allow user to quickly build an agent based on number of families, number of queries and trial number.

Misc:
  * diagram.png: High-level view of system.

  * representing-ontologies-and-reasoning-with-smem.pdf: Soar Workshop 2010 presentation, "Representing Ontologies and Reasoning with SMem"