- From: Jonathan Borden <jonathan@openhealth.org>
- Date: Tue, 12 Mar 2002 14:36:12 -0500
- To: "WebOnt WG" <www-webont-wg@w3.org>
Some thoughts about integrating XML datatypes with OWL DAML+OIL currently makes the distinction between ObjectProperties and DatatypeProperties. XML Schema makes the distinction between ComplexTypes and SimpleTypes. Roughly speaking the XML lexical space of a SimpleType is a restriction on a character string e.g. xsd:string. The lexical space of a ComplexType is a piece of XML itself. XML Schema further distinguishes between "local" and "global" types. A local type is context dependent. Looking through various DAMLs at http://www.daml.org I notice the following idiom: <Property rdf:ID="name"> <rdfs:domain="#book"/> ... </Property> <Property rdf:ID="name"> <rdfs:domain="#article"/> ... </Property> This looks to me like a desire to have something like "local" properties in DAML, yet isn't legal RDF -- values of an rdf:ID must be unique. This is a real issue. The solution is to use a hierarchical naming space (within an ontology) rather than a global space per ontology. For example the path specifiers: myont:book/name myont:article/name corresponding to the URIs: http://example.org/myont#book/name http://example.org/myont#article/name "bind" the "name" property to the class "book" or "article", much as a local XML schema declaration. Back to the ObjectProperty vs. DatatypeProperty: it is not entirely clear to me that there _need be_ this distinction: Both ObjectProperties ala ComplexTypes and DatatypeProperties ala SimpleTypes might indicate XML Schema (or XQuery) datatypes. For example (I hope I am expressing this in an intelligible fashion !): The intention is to say that the Property "person.name" has a value of the indicated type "PersonName" which has the properties: {family,given,middle,prefix, suffix}. This property "person.name" is the "same as" a property whose range is the XML Schema type "myxsd:person.name". By such a mechanism we would have the ability to infer based on D+O/OWL descriptions as well as provide the syntactic constraints of XML schema/XQuery <Property rdf:ID="person.name"> <samePropertyAs> <DatatypeProperty> <rdfs:range rdf:resource="myxsd:person.name"/> </DatatypeProperty> </samePropertyAs> <rdfs:range> <Class> <subClassOf> <Restriction> <onProperty rdf:resource="#family"/> <toClass rdf:resource="#string"/> </Restriction> </subClassOf> <subClassOf> <Restriction> <onProperty rdf:resource="#given"/> <toClass rdf:resource="#string"/> </Restriction> </subClassOf> <subClassOf> <Restriction> <onProperty rdf:resource="#middle"/> <toClass rdf:resource="#string"/> </Restriction> </subClassOf> ... </Class> </rdfs:range> </Property> Jonathan
Received on Tuesday, 12 March 2002 16:41:20 UTC