FU Berlin

AG Netzbasierte Informationssysteme / Networkbased Informationsystems
Institut für Informatik, Fachbereich Mathematik und Informatik, Freie Universität Berlin

Transformational Implementations of the OWL Semantics

Version: 2005-01-10

Update: 2005-02-09

transformed.java Transformer from OWL to Jess or FOL RuleML
family.xml Use Case of an OWL Ontology
OWL2RuleML.xsl the XSLT from OWL to FOL RuleML
family.ruleml the output of OWL2RuleML
transformed.xml RuleML rulebase resulting from family.ruleml
preprocessed.xml RuleML rulebase considered by OWL ontology editors (e.g. Protege)
basic-part.xml RuleML rulebase supporting RDF, RDFS and OWL (basic constructors)
core-part.xml RuleML rulebase supporting RDF, RDFS and OWL (core constructors)
OWL2Jess.xsl the XSLT from OWL to Jess
family.jess the output of OWL2Jess
rdfmt.clp Jess rulebase based on RDF Semantics
owlmt.clp Jess rulebase based on OWL Semantics
swrltrans.java Transformed from SWRL rules to Jess
myfamily.xml Use Case of an SWRL Ontology
SWRL2Jess.xsl the XSLT from SWRL rules to Jess
myfamily.clp the output of SWRL2Jess
myfamily.jess the output of OWL2Jess
myfamilyINjess.clp Jess rulebase combining SWRL rules and the OWL ontology
resultINjess.txt the query results of all relationships


  1. In transformed.java, change the fileName to your favour one, and xslFileName to OWL2RuleML.xsl or OWL2Jess.xsl
  2. Run transformed.java. The output file has the extension ".ruleml" or ".jess".
  3. The resulting facts should be appended to the "metadata.xml"+"preprocessed.xml"+"corepart.xml" or "rdfmt.clp"+"owlmt.clp".
  4. Jess can deal with the latter rule-base, while the former one should be transformed by RuleML translators due to the absence of a native RuleML engine.

if you are intersted in SWRL2Jess, then the following output should be appended to the above step 3 :

  1. in swrltrans.java, to change the fileName to your favour one -- an SWRL ontology
  2. running, and the output is ".clp" as its suffix
  3. the resultant user-defined rules, transformed from the SWRL ontology, should be appended to the above step 3, and then go to step 4


The purpose is to express OWL Semantics by entailment rules, either within a concrete one like Jess or within a general one like FOL RuleML.

Since RDF triples are encoded as Statement(predicate, subject, object), with Statement as the only relation, all of the individual IDs, class IDs and property IDs are encoded to constant symbols serving as corresponding arguments in a Statement/3. It is easy to include SWRL rules in OWLTrans: variable IDs are exactly the variable symbols, while classPredicate(resp. propertyPredicate) is encoded to the symbol of the class ID(resp. the property ID), whose semantics are defined as above. The resulting rule-base is a general one, including user-defined rules transformed from SWRL rules, system-defined rules used for OWL entailments and lots of facts dealing with all resources.

Caution or error messages are thrown out if the resuling rule-base does not satisfy the intended OWL models.

Honestly, it is a rectifier instead of a reasoner for OWL Semantics :-( while it is our long-term goal to support OWL reasoning completely.


Please contact Jing Mei : mei@inf.fu-berlin.de or mayyam@is.pku.edu.cn