项目作者: aaronEberhart

项目描述 :
ALC reasoner experiment with syntax generator
高级语言: Java
项目地址: git://github.com/aaronEberhart/Reason.er.git
创建时间: 2017-10-03T15:07:03Z
项目社区:https://github.com/aaronEberhart/Reason.er

开源协议:

下载


Reason.er

This is my ongoing project to develop an ALC tableau reasoner.

Currently the random syntax generator is functional and accessible through the main test class. To create a random KnowledgeBase you can either make a new KnowledgeBase(int,int) with the sizes you want and it will build one for you, or you can make it from an ABox and TBox. There are also functions to manually input axioms if you want, though this is rather tedious and not the intent of the project. KnowledgeBases are by default not in normal form. You can add an NNF copy to a KnowledgeBase via the normalize() method.

The default toString() method displays detailed debugging information, but OWL functional syntax and Description Logic style output can be obtained from the toFSString() and toDLString() methods on a generated Knowledge Base. This is useful primarily when written to a text file. A method is included in in the main class that does file writing for you.

The Javadoc might be helpful if anything is unclear.

Tips:

  1. conceptNames/roleNames/individuals should all be > 0 or it may behave erratically
  2. quantificationDepth/maxSubExpressions will permit a dramatic increase in the size of expressions at higher values
  3. maxSize is still a little buggy but seems to have a more modest efect on the types expressions than the other two
  4. NUMTESTS is just for repeating the whole generator process if you want to
  5. ABOXSIZE/TBOXSIZE determine the number of expressions created in each respectively

The Exmple folder contains an executable .jar and sample files generated by the syntax generator. This output was reorganized for upload to GitHub but the files themselves have not been altered.

Settings Used to Produce Sample Output:

  • NUMTESTS = 10
  • ABOXSIZE = 15
  • TBOXSIZE = 15
  • quantificationDepth = 10
  • maxSubExpressions = 10
  • maxSize = 6
  • conceptNames = 7
  • roleNames = 7
  • individuals = 5