View on GitHub

RuleML2TPTP

This project is aimed at implementing an XSLT 2.0 translator to convert Datalog+ Deliberation RuleML 1.01 in XML format to an equivalent representation in a subset of the TPTP (Thousands of Problems for Theorem Provers) format.

Download this project as a .zip file Download this project as a tar.gz file

RuleML2TPTP

This is an easy-to-use translator utilizing XSLT 2.0 between two rule languages.

Introduction

RuleML is a knowledge representation language developed by the non-profit organization RuleML Inc. RuleML is being used for sharing rule bases in XML and publishing them on the Web. It has broad coverage and is defined as an extensible family of sublanguages across various rule logics and platforms. RuleML consists of Deliberation RuleML and Reaction RuleML.

This project is aimed at implementing an XSLT 2.0 translator to convert Datalog+ Deliberation RuleML 1.01 in XML format to an equivalent representation in a subset of the (FOF) TPTP language. See here for the normalized Datalog+ Deliberation RuleML 1.01 schema on which this project is based.

Initiative, Report and Slides

This project was initiated as a course project (Team 5) in Semantic Web Techniques in UNB. Thanks to Prof. Harold Boley and advisor Dr. Tara Athan for their instruction in semantic web techniques! The project report can be downloaded from here. There are also the slides (two parts, part 1 presented by Changyang Liu, part 2 presented by Meng Luan) and RuleML examples that were used for a presentation in class.

Getting Started

  1. Download the binary or source code from the project releases.
  2. If the source code is downloaded, use ant to build by "ant jar". See "ant -projecthelp" for other ant targets.
  3. Translate a RuleML file by calling "java -jar /path/to/ruleml2tptp.jar -s <source RuleML filename> -o <output filename>". See "java -jar /path/to/ruleml2tptp.jar -h" for full usage.
  4. Java SE 7 or higher is recommended.
  5. Saxon is used dynamically, so saxon.jar can be removed and the local JAXP implementation will be used instead. Make sure, however, that the local implementation supports XSLT 2.0, or things will go wrong.
  6. See the project wiki for other documentation.

RuleML Examples

Here are some good RuleML examples from RuleML wiki or here to try with this project.

License

This project is under GNU GPL v3.0.