owl2wsml Translation Notes This document provides notes on the translation of OWL (RDF/XML) into wsmo by ORDI ORDI version: 0.21, 26/06/2005 [Properties as Relations] - problem: OWL does not provide direct equivalents to the WSML attributes. Heuristics can be applied to judge that a property can be speculatively judged to be an attribute of a class. While this is handy, it couses problems with the semantics of subProperty. - resolution: for each OWL property we generate a binary realtion. In case we know its domain(s) and/or range(s) the respective list of concepts is placed in its parameter definition. - plan: to find a reasonable strategy for handling subProperty for attributes and import properties as attributes, when appropriate (e.g. when its domain is defined as a single class). - comments: --- in case of unknown domain the type of the first argument is owl:Thing --- in case of unknown range the type of the first argument is owl:Thing if it is a owl:ObjectProperty or xsd#string in case of DatatypeProperty --- for each of the relation features such as 'transitive', 'symettric' etc. \ we associate an axiom [Instances without attribute values] - problem: because of the [Properties as Relaions} issues, the imported instances do not posses attribute values. - resolution: all instance-level statements are translated into repationInstances of the relation that corresponds to the property. - plan: to fix it when the the [Properties as Relations] issue get fixed [Default XML namespace] - problem: the default XML namespace is not retrieved from the OWL ontology, neither can be specified at parse time. - resolution: we generate a dumy namespace, which have nothing to do with the default one from XML - plan: the idea is to extend wsmo4j Parser interface to allow runtime parameters to be passed for each operation. [Cardinality Constraints] - problem: we don't have an easy way to put cardinality constraints on relation parameters in WSML - resolution: for each owl:cardinality(n) we generate two axioms as for owl:minCardinality(n) and owl:maxCardinality(n); [Min/Max Cardinality] - problem: no direct way to constrain this for relation paratemeters - resolution: the translation of owl:maxCardinality(n) looks like: ?x memberOf |class| implies exists ?y1,.., ?yn+1( ?x[|prop| hasValue ?y1,..., |prop| hasValue ?yn+1] and (?y1 = ?y2 or ?y1 = ?y3 or ... or ?yn = ?yn+1) ). the translation of owl:minCardinality(n) looks like: ?x memberOf |class| implies exists ?y1,.., ?yn( ?x[|prop| hasValue ?y1,..., |prop| hasValue ?yn] and ?y1 != ?y2 and ?y1 != ?y3 and ... and ?yn-1 != ?yn ). [Not Supported OWL class difinitions] - equivalent - union - complement TRANSLATION HINTS ----------------- [OWL Restrictions] For each class that subclasses a Restriction, the respective axiom is generated along the set of direct superclasses of the class [hasValue translation] the translation of owl:hasValue( |Value| ) looks like: ?x memberOf |class| implies ?x[|prop| hasValue |Value|]. [someValuesFrom translation] the translation of owl:someValuesFrom( |class2|, ..., |classN| ) looks like: ?x memberOf |class| implies exists ?y1 ( ?x[|prop| hasValue ?y1] and ( ?y1 memberOf |class2| or .. ?y1 memberOf |classN|) ). [allValuesFrom translation] the translation of owl:allValuesFrom( |class2|, ..., |classN| ) looks like: ?x memberOf |class| implies ( ?x[|prop| hasValue ?y1] implies ( ?y1 memberOf |class2| or .. ?y1 memberOf |classN|) ).