- From: Mike Dean <mdean@bbn.com>
- Date: Wed, 18 Dec 2002 23:09:44 -0800
- To: www-webont-wg@w3.org
- Message-ID: <3E0170B8.4090605@bbn.com>
Attached are the current copies of the Editor's Drafts for the OWL Reference [1] and owl.owl [2]. Updates not yet incorporated include: daml:imports, issue 5.6 versioning, issue 5.14 MIME type registration, pending input from Jonathan Borden outstanding issues: datatypes, XML presentation syntax, unique names assumption I plan to incrementally add these to [1] and [2] over the holidays. Mike [1] http://www.daml.org/2002/06/webont/owl-ref-proposed [2] http://www.daml.org/2002/06/webont/owl
<!-- $Revision: 1.17 $ of $Date: 2002/11/11 13:12:09 $. --> <rdf:RDF xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc ="http://purl.org/dc/elements/1.1/" xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns ="http://www.w3.org/2002/07/owl#" xml:base ="http://www.w3.org/2002/07/owl" > <Ontology rdf:about=""> <versionInfo>$Id: owl.owl,v 1.17 2002/11/11 13:12:09 mdean Exp $</versionInfo> <imports rdf:resource="http://www.w3.org/2000/01/rdf-schema"/> <dc:title>OWL Web Ontology Language</dc:title> <dc:creator>W3C Web Ontology (WebOnt) Working Group</dc:creator> <dc:subject>OWL; Web Ontology Language; Semantic Web</dc:subject> <dc:description>Classes and Properties comprising the OWL Web Ontology Language</dc:description> <dc:publisher>W3C</dc:publisher> <dc:date>2002-07-17</dc:date> <dc:format>text/xml</dc:format> <dc:language>en</dc:language> <dc:identifier>http://www.w3.org/2002/07/owl</dc:identifier> </Ontology> <!-- (meta) classes of "object" and datatype classes --> <rdfs:Class rdf:ID="Class"> <rdfs:label>Class</rdfs:label> <rdfs:comment> The class of all "object" classes </rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdfs:Class> <rdfs:Class rdf:ID="Datatype"> <rdfs:label>Datatype</rdfs:label> <rdfs:comment> The class of all datatype classes </rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdfs:Class> <!-- Pre-defined top/bottom thing/nothing most/least-general (object) classes. --> <Class rdf:ID="Thing"> <rdfs:label>Thing</rdfs:label> <rdfs:comment> The most general (object) class in OWL. This is equal to the union of any class and its complement. </rdfs:comment> <unionOf rdf:parseType="Collection"> <rdfs:Class rdf:about="#Nothing"/> <rdfs:Class> <complementOf rdf:resource="#Nothing"/> </rdfs:Class> </unionOf> </Class> <Class rdf:ID="Nothing"> <rdfs:label>Nothing</rdfs:label> <rdfs:comment>the class with no things in it.</rdfs:comment> <complementOf rdf:resource="#Thing"/> </Class> <!-- Terms for building classes from other classes. --> <Property rdf:ID="sameAs"> <!-- equals? equiv? renames? --> <rdfs:label>sameAs</rdfs:label> <comment> for sameAs(X, Y), read X is an equivalent term to Y. </comment> </Property> <Property rdf:ID="sameClassAs"> <rdfs:label>sameClassAs</rdfs:label> <comment> for sameClassAs(X, Y), read X is an equivalent class to Y. </comment> <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> </Property> <Property rdf:ID="samePropertyAs"> <rdfs:label>samePropertyAs</rdfs:label> <rdfs:comment> for samePropertyAs(P, R), read P is an equivalent property to R. </rdfs:comment> <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/> </Property> <Property rdf:ID="sameIndividualAs"> <rdfs:label>sameIndividualAs</rdfs:label> <rdfs:comment> for sameIndividualAs(a, b), read a is the same individual as b. </rdfs:comment> <rdfs:domain rdf:resource="#Thing"/> <rdfs:range rdf:resource="#Thing"/> </Property> <rdf:Property rdf:ID="disjointWith"> <rdfs:label>disjointWith</rdfs:label> <rdfs:comment> for disjointWith(X, Y) read: X and Y have no members in common. </rdfs:comment> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> </rdf:Property> <Property rdf:ID="differentFrom"> <rdfs:label>differentFrom</rdfs:label> <rdfs:comment> for differentFrom(a, b), read a is not the same object as b. </rdfs:comment> <rdfs:domain rdf:resource="#Thing"/> <rdfs:range rdf:resource="#Thing"/> </Property> <rdf:Property rdf:ID="unionOf"> <rdfs:label>unionOf</rdfs:label> <rdfs:comment> for unionOf(X, Y) read: X is the union of the classes in the list Y; i.e. if something is in any of the classes in Y, it's in X, and vice versa. </rdfs:comment> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/> </rdf:Property> <rdf:Property rdf:ID="intersectionOf"> <rdfs:label>intersectionOf</rdfs:label> <rdfs:comment> for intersectionOf(X, Y) read: X is the intersection of the classes in the list Y; i.e. if something is in all the classes in Y, then it's in X, and vice versa. </rdfs:comment> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/> </rdf:Property> <rdf:Property rdf:ID="complementOf"> <rdfs:label>complementOf</rdfs:label> <rdfs:comment> for complementOf(X, Y) read: X is the complement of Y; if something is in Y, then it's not in X, and vice versa. </rdfs:comment> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> </rdf:Property> <!-- Term for building classes by enumerating their elements --> <rdf:Property rdf:ID="oneOf"> <rdfs:label>oneOf</rdfs:label> <rdfs:comment> for oneOf(C, L) read everything in C is one of the things in L; This lets us define classes by enumerating the members. </rdfs:comment> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/> </rdf:Property> <!-- Terms for building classes by restricting their properties. --> <rdfs:Class rdf:ID="Restriction"> <rdfs:label>Restriction</rdfs:label> <rdfs:comment> something is in the class R if it satisfies the attached restrictions, and vice versa. </rdfs:comment> <rdfs:subClassOf rdf:resource="#Class"/> </rdfs:Class> <rdf:Property rdf:ID="onProperty"> <rdfs:label>onProperty</rdfs:label> <rdfs:comment> for onProperty(R, P), read: R is a restricted with respect to property P. </rdfs:comment> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> </rdf:Property> <rdf:Property rdf:ID="allValuesFrom"> <rdfs:label>allValuesFrom</rdfs:label> <rdfs:comment> for onProperty(R, P) and allValuesFrom(R, X), read: i is in class R if and only if for all j, P(i, j) implies type(j, X). </rdfs:comment> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Property> <rdf:Property rdf:ID="hasValue"> <rdfs:label>hasValue</rdfs:label> <rdfs:comment> for onProperty(R, P) and hasValue(R, V), read: i is in class R if and only if P(i, V). </rdfs:comment> <rdfs:domain rdf:resource="#Restriction"/> </rdf:Property> <rdf:Property rdf:ID="someValuesFrom"> <rdfs:label>someValuesFrom</rdfs:label> <rdfs:comment> for onProperty(R, P) and someValuesFrom(R, X), read: i is in class R if and only if for some j, P(i, j) and type(j, X). </rdfs:comment> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Property> <!-- Note that cardinality restrictions on transitive properties, or --> <!-- properties with transitive sub-properties, compromise decidability. --> <rdf:Property rdf:ID="minCardinality"> <rdfs:label>minCardinality</rdfs:label> <rdfs:comment> for onProperty(R, P) and minCardinality(R, n), read: i is in class R if and only if there are at least n distinct j with P(i, j). </rdfs:comment> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/> </rdf:Property> <rdf:Property rdf:ID="maxCardinality"> <rdfs:label>maxCardinality</rdfs:label> <rdfs:comment> for onProperty(R, P) and maxCardinality(R, n), read: i is in class R if and only if there are at most n distinct j with P(i, j). </rdfs:comment> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/> </rdf:Property> <rdf:Property rdf:ID="cardinality"> <rdfs:label>cardinality</rdfs:label> <rdfs:comment> for onProperty(R, P) and cardinality(R, n), read: i is in class R if and only if there are exactly n distinct j with P(i, j). </rdfs:comment> <rdfs:domain rdf:resource="#Restriction"/> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/> </rdf:Property> <!-- Classes and Properties for different kinds of Property --> <rdfs:Class rdf:ID="ObjectProperty"> <rdfs:label>ObjectProperty</rdfs:label> <rdfs:comment> if P is an ObjectProperty, and P(x, y), then y is an object. </rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> </rdfs:Class> <rdfs:Class rdf:ID="DatatypeProperty"> <rdfs:label>DatatypeProperty</rdfs:label> <rdfs:comment> if P is a DatatypeProperty, and P(x, y), then y is a data value. </rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> </rdfs:Class> <rdf:Property rdf:ID="inverseOf"> <rdfs:label>inverseOf</rdfs:label> <rdfs:comment> for inverseOf(R, S) read: R is the inverse of S; i.e. if R(x, y) then S(y, x) and vice versa. </rdfs:comment> <rdfs:domain rdf:resource="#ObjectProperty"/> <rdfs:range rdf:resource="#ObjectProperty"/> </rdf:Property> <rdfs:Class rdf:ID="TransitiveProperty"> <rdfs:label>TransitiveProperty</rdfs:label> <rdfs:comment> if P is a TransitiveProperty, then if P(x, y) and P(y, z) then P(x, z). </rdfs:comment> <rdfs:subClassOf rdf:resource="#ObjectProperty"/> </rdfs:Class> <rdfs:Class rdf:ID="SymmetricProperty"> <rdfs:label>SymmetricProperty</rdfs:label> <rdfs:comment> if P is a SymmetricProperty, then if P(x, y) then P(y, x). </rdfs:comment> <rdfs:subClassOf rdf:resource="#ObjectProperty"/> </rdfs:Class> <rdfs:Class rdf:ID="FunctionalProperty"> <rdfs:label>FunctionalProperty</rdfs:label> <rdfs:comment> compare with maxCardinality=1; e.g. integer successor: if P is a FunctionalProperty, then if P(x, y) and P(x, z) then y=z. </rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> </rdfs:Class> <rdfs:Class rdf:ID="InverseFunctionalProperty"> <rdfs:label>InverseFunctionalProperty</rdfs:label> <rdfs:comment> if P is an InverseFunctionalProperty, then if P(x, y) and P(z, y) then x=z. aka injective. e.g. if firstBorne(m, Susan) and firstBorne(n, Susan) then m and n are the same. </rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> </rdfs:Class> <!-- A class for ontologies themselves... --> <rdfs:Class rdf:ID="Ontology"> <rdfs:label>Ontology</rdfs:label> <rdfs:comment> An Ontology is a document that describes a vocabulary of terms for communication between (human and) automated agents. </rdfs:comment> </rdfs:Class> <rdf:Property rdf:ID="versionInfo"> <rdfs:label>versionInfo</rdfs:label> <rdfs:comment> generally, a string giving information about this version; e.g. RCS/CVS keywords </rdfs:comment> </rdf:Property> <!-- Importing, i.e. assertion by reference --> <rdf:Property rdf:ID="imports"> <rdfs:label>imports</rdfs:label> <rdfs:comment> for imports(X, Y) read: X imports Y; i.e. X asserts the* contents of Y by reference; i.e. if imports(X, Y) and you believe X and Y says something, then you should believe it. </rdfs:comment> </rdf:Property> </rdf:RDF>
Attachments
- text/html attachment: owl-ref-proposed.html
Received on Thursday, 19 December 2002 02:10:39 UTC