Skip to content
Tools for representing OWL ontologies in Soar's semantic memory module, and an agent with an inference module.
Java Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


Ontology representation and reasoning with SMem in Soar

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.


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.


  * 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/ 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/ Sample script uses output from to allow user to quickly build an agent based on number of families, number of queries and trial number.

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

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

You can’t perform that action at this time.