- From: Mike Dean <mdean@bbn.com>
- Date: Thu, 02 Jan 2003 20:54:42 -0800
- To: www-webont-wg@w3.org
- Message-ID: <3E151792.3060608@bbn.com>
Attached are snapshots of the Editor's Drafts of the OWL Reference [1] and owl.owl [2] to serve as inputs for F2F 5 in Manchester. Substantive recent changes since [3] include: versioning constructs issues update (remaining issue links will soon be removed) incorporation of the MIME type registration, inserting [4] and removing the entailment optional parameter, but not yet addressing remaining IETF boilerplate and formatting issues incorporation of the XML Presentation Syntax, inserting [5] I'll continue work on RDF datatyping addressing comments, including [6] [7] [8] [9] [10] [11] [12] [13], etc. incorporating UML Presentation Syntax clearly identifying normative and non-normative (informative) sections of the document Mike [1] http://www.daml.org/2002/06/owl-ref-proposed [2] http://www.daml.org/2002/06/owl [3] http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/0233.html [4] http://www.openhealth.org/WOWG/owl-mediatype.html [5] http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/att-0295/01-OWL-XML-Schemas.html [6] http://lists.w3.org/Archives/Public/public-webont-comments/2002Aug/0025.html [7] http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/0256.html [8] http://lists.w3.org/Archives/Public/public-webont-comments/2002Dec/0009.html [9] http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/0296.html [10] http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/0325.html [11] http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0008.html [12] http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0041.html [13] http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0051.html
<!-- $Revision: 1.19 $ of $Date: 2002/12/30 23:57:17 $. -->
<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.19 2002/12/30 23:57:17 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>
<!-- Versioning -->
<rdf:Property rdf:ID="priorVersion">
<rdfs:label>priorVersion</rdfs:label>
<rdfs:domain rdf:resource="#Ontology"/>
<rdfs:range rdf:resource="#Ontology"/>
</rdf:Property>
<rdf:Property rdf:ID="backwardCompatibleWith">
<rdfs:label>backwardCompatibleWith</rdfs:label>
<rdfs:domain rdf:resource="#Ontology"/>
<rdfs:range rdf:resource="#Ontology"/>
<rdfs:subPropertyOf rdf:resource="#priorVersion"/>
</rdf:Property>
<rdf:Property rdf:ID="incompatibleWith">
<rdfs:label>incompatibleWith</rdfs:label>
<rdfs:domain rdf:resource="#Ontology"/>
<rdfs:range rdf:resource="#Ontology"/>
<rdfs:subPropertyOf rdf:resource="#priorVersion" />
</rdf:Property>
<rdfs:Class rdf:ID="DeprecatedClass">
<rdfs:label>DeprecatedClass</rdfs:label>
<rdfs:subClassOf rdf:resource="#Class"/>
</rdfs:Class>
<rdfs:Class rdf:ID="DeprecatedProperty">
<rdfs:label>DeprecatedProperty</rdfs:label>
<rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
</rdfs:Class>
</rdf:RDF>
Attachments
- text/html attachment: owl-ref-proposed.html
Received on Thursday, 2 January 2003 23:57:34 UTC