JXML2OWL API

JXML2OWL allows you to map elements from an XML schema to concepts (classes, properties) of an ontology. It is important to note that JXML2OWL does not create an ontology from an XML schema. Indeed, once the user have specified the mappings, it creates an XSLT stylesheet that transforms instances of an XML schema into instances of an existing OWL ontology.



Getting Started

Features

JXML2OWL API supports all kinds of mappings:

  • Supports one-to-one mappings
  • Supports many-to-one mappings
  • Supports one-to-many mappings

This support allows you to map any XML document to any OWL ontology.



JXML2OWL API support several kind of XML related document:

  • XSD
  • XML
  • DTD

We strongly recommend you to map from an XSD document to OWL because in this case JXML2OWL has the hability to check whether the XSD datatypes and the OWL datatypes match while mapping datatype properties.



JXML2OWL API supports ID's specification


JXML2OWL API allows you to specified how the Ids of the created OWL instances are construted. Therefore, JXML2OWL API can detect different nodes on the XML instances file that have the same Id's and thus creates only one OWL instance merging all the OWL datatype and object properties (duplicated properties are discarded) mapped to each different node.



JXML2OWL API respects cardinality restrictions over properties:

  • Maximal cardinality restrictions are always satisfied. Remaining instances are discarded
  • We can't garantee that minimal cardinality restrictions are satisfied. However, warnings are fired if properties on which minimal cardinality restrictions exist are not mapped and a comment is included in the generated XSLT and OWL instances files. Similarly, a comment is included in the generated OWL instances file if the XML instances file does not contain enough instances to satisfy the minimal cardinality restriction.

JXML2OWL heavily adheres to standards

  • XML
  • XSD
  • XSLT
  • XPath
  • OWL


Current Limitations

Conditional mapping is not supported


Conditional mapping is currently not supported. That is, you can't express this kind of mapping: map XML nodes to OWL concepts if a particular condition is satisfied.



XPath support is limited


Only a small subset of XPath is supported:

  • Predicates are not supported
  • Only absolute XPath expressions are supported
  • You can address attributes using the @ symbol

XSD support

  • Recursive definitions are not supported. They are discarded but the XSD still loads.

DTD support

  • Recursive definitions are not supported. They are discarded but the DTD still loads.
  • Primitive support