- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Fri, 23 Apr 2010 12:10:31 +0100
- To: "mjk" <mariokofler@gmx.at>
- Cc: public-owl-dev@w3.org
On 23 Apr 2010, at 08:40, mjk wrote: > hello, > > i want to define my own datatypes (like for example an enumeration > datatype) in OWL but do not want my ontology to become OWL Full. Is > this possible? Actually, it's possible both in OWL 1 and OWL 2, but only OWL 2 has a standard syntax for it. The OWL 2 version is much more widely supported (in Pellet, FaCT++, and HermiT). > Specifically, i want to translate an XSD schema document to an OWL > model and have for example the following simple type in the source > document: > > <xsd:simpleType name="areaUnitEnum"> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="SquareKilometers"/> > <xsd:enumeration value="SquareMeters"/> > <xsd:enumeration value="SquareCentimeters"/> > <xsd:enumeration value="SquareMillimeters"/> > <xsd:enumeration value="SquareMiles"/> > <xsd:enumeration value="SquareYards"/> > <xsd:enumeration value="SquareFeet"/> > <xsd:enumeration value="SquareInches"/> > </xsd:restriction> > </xsd:simpleType> Enumerations were supported by OWL 1 (iirc). This can be done two ways, using a DataOneOf: http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/ #Enumeration_of_Literals IIRC the RDF/XML will be ugly because you don't have syntactic sugar for lists of literals. (again, going from memory). You could also use a pattern facet restriction: http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Strings > in fact i think of a datatype property "hasAreaUnit" with range > restriction to my user defined datatype "AreaUnit" which itself is > an enumeration of the values listed above. > > is it possible to model this in OWL within the OWL-DL restriction > and without going to OWL-Full? i hope someone can give me a hint > how to achieve this because i am stuck here. It is possible. > many thanks for your replies, Protege 1 has support for creating such ontologies. I worked a subset of this one up: http://pastebin.com/7QtJJ2a8 I also attach a turtle version. Cheers, Bijan. @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix : <http://www.cs.man.ac.uk/~bparsia/2009/comp60462/onts/ 2010/3/Ontology1272020557141.owl#> . @prefix xml: <http://www.w3.org/XML/1998/namespace> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . @base <http://www.cs.man.ac.uk/~bparsia/2009/comp60462/onts/2010/3/ Ontology1272020557141.owl> . <http://www.cs.man.ac.uk/~bparsia/2009/comp60462/onts/2010/3/ Ontology1272020557141.owl> rdf:type owl:Ontology . ################################################################# # # Datatypes # ################################################################# ### http://www.cs.man.ac.uk/~bparsia/2009/comp60462/onts/2010/3/ Ontology1272020557141.owl#areaUnitEnum :areaUnitEnum rdf:type rdfs:Datatype ; owl:equivalentClass [ rdf:type rdfs:Datatype ; owl:oneOf [ rdf:type rdf:List ; rdf:first "SquareKilometers"^^xsd:string ; rdf:rest [ rdf:type rdf:List ; rdf:first "SquareMeters"^^xsd:string ; rdf:rest rdf:nil ] ] ] . ################################################################# # # Data properties # ################################################################# ### http://www.cs.man.ac.uk/~bparsia/2009/comp60462/onts/2010/3/ Ontology1272020557141.owl#p :p rdf:type owl:DatatypeProperty ; rdfs:subPropertyOf owl:topDataProperty . ### http://www.w3.org/2002/07/owl#topDataProperty owl:topDataProperty rdf:type owl:DatatypeProperty . ################################################################# # # Classes # ################################################################# ### http://www.cs.man.ac.uk/~bparsia/2009/comp60462/onts/2010/3/ Ontology1272020557141.owl#C :C rdf:type owl:Class ; owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :p ; owl:someValuesFrom :areaUnitEnum ] . ### Generated by the OWL API (version 3.0.0.1253) http:// owlapi.sourceforge.net
Received on Friday, 23 April 2010 11:10:14 UTC