<?xml version='1.0' encoding='ISO-8859-1'?> <!-- Entity declarations (shortcuts) --> <!DOCTYPE rdf:RDF [ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY rdfs 'http://www.w3.org/TR/WD-rdf-schema#'> <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'> <!ENTITY daml 'http://www.daml.org/2001/03/daml+oil#'> ]> <!-- Setting up DAML Namespaces --> <rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns:daml="&daml;" xmlns:xsd="&xsd;"> <!-- Information about the Ontology being created --> <daml:Ontology rdf:about=""> <daml:versionInfo> $Id: daml+oil-ex.daml,v 1.4 2001/01/11 20:33:52 mdean Exp $ </daml:versionInfo> <rdfs:comment> An ontology created by OntoEdit </rdfs:comment>
<!-- Importing an ontology --> <daml:imports rdf:resource="http://www.daml.org/2000/12/daml+oil"/> </daml:Ontology> <!-- DAML uses rdf Classes --> <rdfs:Class rdf:ID="Staff"> <!-- Example of local range statements through a restriction on 'toClass' --> <rdfs:subClassOf>
<!-- Minimum 1 Email required (minCardinality) --> <daml:Restriction daml:minCardinalityQ="1"> <daml:onProperty rdf:resource="#EMail"/> <daml:toClass rdf:resource="&xsd;String"/> </daml:Restriction> </rdfs:subClassOf> <!-- Restricting the cardinality of the property (locally) --> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#FName"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class> <rdfs:Class rdf:ID="Admin"> <!-- using RDFSchema subClassOf --> <rdfs:subClassOf rdf:resource="#Staff"/> </rdfs:Class> <rdfs:Class rdf:ID="Coordinator"> <rdfs:subClassOf rdf:resource="#Admin"/> </rdfs:Class> <rdfs:Class rdf:ID="ProjAssistant"> <rdfs:subClassOf rdf:resource="#Admin"/> </rdfs:Class> <rdfs:Class rdf:ID="Researcher"> <rdfs:subClassOf rdf:resource="#Staff"/> </rdfs:Class> <rdfs:Class rdf:ID="GRA"> <rdfs:subClassOf rdf:resource="#Researcher"/>
<rdfs:subClassOf>
<!-- Maximum of 5 papers (just for example) --> <daml:Restriction daml:maxCardinality="5"> <daml:onProperty rdf:resource="#Paper"/> </daml:Restriction>
</rdfs:subClassOf> </rdfs:Class> <rdfs:Class rdf:ID="ProjLeader"> <rdfs:subClassOf rdf:resource="#ISIResearchStaff"/> </rdfs:Class> <rdfs:Class rdf:ID="SRSci"> <rdfs:subClassOf rdf:resource="#ISIResearchStaff"/> </rdfs:Class> <rdfs:Class rdf:ID="Intern"> <rdfs:subClassOf rdf:resource="#Researcher"/> </rdfs:Class> <!-- Datatype Properties (relating an object to a primitive datatype) --> <daml:DatatypeProperty rdf:ID="StartDate"> <rdfs:domain rdf:resource="#Intern" /> <!-- global restriction on the range of a property-->
<rdfs:range rdf:resource="&xsd;date"/> </daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="EndDate"> <rdfs:domain rdf:resource="#Intern" /> <!-- global restriction on the range of a property-->
<rdfs:range rdf:resource="&xsd;date"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="FName"/> <!-- global restriction on cardinality (only 1 - UniqueProperty) --> <rdf:type rdf:resource="http://www.daml.org/2001/03/daml+oil#UniqueProperty"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="NumProjPrincipal"> <!-- global restriction on the domain of a property-->
<rdfs:domain rdf:resource="#ISIResearchStaff" /> <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="OfficeNo"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="MiddleInitial"> <rdfs:comment xml:lang="en"> Middle Initial </rdfs:comment> </daml:DatatypProperty> <daml:DatatypeProperty rdf:ID="Major"/> <rdfs:domain rdf:resource="#GRA" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <!-- Object Property (relating one object to another object) --> <rdf:ObjectProperty rdf:ID="Project"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="#Project"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="Group"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="College"/> <rdfs:domain rdf:resource="#Intern" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="DegreeObjective"/> <rdfs:domain rdf:resource="#GRA" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="EMail"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="LName"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="AdminGroup"/> <rdfs:domain rdf:resource="#Admin" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="TelNo"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="HomePage"/> <rdfs:domain rdf:resource="#Staff" /> <rdfs:range rdf:resource="&xsd;anyURI"/> </daml:DatatypeProperty> <daml:DatatypeProperty rdf:ID="Paper"/> <rdfs:domain rdf:resource="#Researcher" /> <rdfs:range rdf:resource="&rdfs;Literal"/> </daml:DatatypeProperty> <rdfs:Class rdf:ID="Project" />
<!-- Some example classes (not linked with the Staff ontology) -->
<daml:Class rdf:ID="Car"> <rdfs:comment>no car is a person</rdfs:comment> <rdfs:subClassOf> <daml:Class>
<!-- Negation using complementOf --> <daml:complementOf rdf:resource="#Person"/> </daml:Class> </rdfs:subClassOf>
</daml:Class>
<!-- An example of a transitive property-->
<daml:TransitiveProperty rdf:ID="hasAncestor"> <rdfs:label>hasAncestor</rdfs:label> </daml:TransitiveProperty>
<!-- An example of a union (here a disjointUnion)--> <daml:Class rdf:about="#Personnel"> <daml:disjointUnionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#Admin"/> <daml:Class rdf:about="#Researcher"/> </daml:disjointUnionOf> </daml:Class> <daml:Class rdf:ID="HumanBeing"> <daml:sameClassAs rdf:resource="#Person"/> </daml:Class>
</rdf:RDF>