ProfileHierarchy.owl revision c4c2756a7ac6ba51ca2f35240bdb0cf99cf2092b
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE uridef[
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns">
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema">
<!ENTITY owl "http://www.w3.org/2002/07/owl">
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema">
<!ENTITY time "http://www.isi.edu/~pan/damltime/time-entry.owl">
<!ENTITY country "http://www.daml.org/services/owl-s/1.1/Country.owl">
<!ENTITY profile "http://www.daml.org/services/owl-s/1.1/Profile.owl">
<!ENTITY DEFAULT "http://www.daml.org/services/owl-s/1.1/ProfileHierarchy.owl">
]>
<!--
This file provides a basic ontology of service profiles and products
to support the OWL-S examples for BravoAir and Congo book seller.
This ontology is not intended neither as "THE Ontology of Services"
nor the "Official OWL-S Ontology of Services" rather it provides a
very simple example of how such an ontology can be built and how it
can be used with the Profile of a particular service (see CongoProfile.owl).
For some additional comments regarding this approach see
http://www.daml.org/services/owl-s/1.1/ProfileHierarchy.html.
OWL-S does not mandate that every
service profile be classified in a class hierarchy.
Class hierarchies of profiles provide one means of specifying
information about a service that can be useful during service
retrieval.
The ontology below shows how a hierarchy of service profiles can be
constructed, and how it can be integrated with the body of work
developed in OWL-S. Ultimately, it is up to business organizations
to describe an ontology of the services that is meaningful for them.
OWL-S just provides the tools of how to construct and use such an
ontology.
In the example provided in this file, services are classified using
subclasses of the class Profile:
www.daml.org/services/owl-s/1.1/Profile.owl,
by defining some idiosyncratic properties of such services.
Specifically, we describe two broad classes of services:
Information_Service (which represents information-providing
services), and Ecommerce services that sell products.
Information Services have three properties: a source of the
information, a topic and a time stamp on the information.
Information_Service
+ source:InformationSource
+ topic:Thing
+ information_date:sri-time-ontology date
E_Commerce services have a merchandise property to specify what
they sell, and a deliveryMode to specify how the merchandise is
delivered.
E_Commerce
;; Top level of an ontology of retail services;
;; it requires a product to sell and a transportation mode
+ merchandise:product
+ deliveryMode:Transportation
We define two subclasses of the eCommerce services, one for book
selling that provides us with a superclass for the Congo example,
and one for AirlineTicketing which provide a way to classify the
BravoAir example.
BookSelling
+ merchandise:Book
AirlineTicketing
+ merchandise:CommercialAirlineTravel
The definition of many services depends on an ontology of products.
Here we also define Product as the top level class of a simple product
ontology. Again, it is not our intention to define a general ontology
of products, but to provide means to write such ontologies and use them
in advertising and providing services. It is up to the business community
to create such ontologies depending on their needs and objectives.
Our definition of Product refers, for semplicity, to the UNSPSC
taxonomy of products. Product is the top level of a Product
ontology for now the only properties refer to the UNSPSC ontology of
products. In this class we show how information that is external to
OWL can be used to specify information within OWL ontologies.
Product
+ material:Material
+ UNSPSCcode:number
+ UNSPSCclassification:string
We also define two subclasses of Product, one for books and one for
CommercialAirTravel, which are used to specify the BookSelling service
and the AirlingTicketing service.
Finally, we define three additional classes:
InformationSource, ManufacturingProcess, and Transportation. These
classes are provided to complete the ontologies, but, as they
stand now, they are just placeholders that have not yet been elaborated.
-->
<rdf:RDF
xmlns:rdf= "&rdf;#"
xmlns:rdfs= "&rdfs;#"
xmlns:owl = "&owl;#"
xmlns:xsd= "&xsd;#"
xmlns:country= "&country;#"
xmlns:profile= "&profile;#"
xml:base="&DEFAULT;"
xmlns= "&DEFAULT;#">
<owl:Ontology rdf:about="">
<owl:versionInfo>
$Id$
</owl:versionInfo>
<rdfs:comment>
DAML-S Coalition
First cut at OWL ontology that is a class-hierarchical taxonomy of
service advertisements (i.e., Profiles).
Created by:
Massimo Paolucci (paolucci@cs.cmu.edu)
David Martin (SRI International)
</rdfs:comment>
<owl:imports rdf:resource="&country;" />
<owl:imports rdf:resource="&profile;" />
<owl:imports rdf:resource="&time;" />
</owl:Ontology>
<owl:Class rdf:ID="Information_Service">
<rdfs:subClassOf rdf:resource="&profile;#Profile" />
<rdfs:comment>
Class that represent all the Information Services
</rdfs:comment>
</owl:Class>
<owl:ObjectProperty rdf:ID="source">
<rdfs:domain rdf:resource="#Information_Service"/>
<rdfs:range rdf:resource="#InformationSource"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="topic">
<rdfs:domain rdf:resource="#Information_Service"/>
<rdfs:range rdf:resource="&owl;#Thing"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="information_date">
<rdfs:domain rdf:resource="#Information_Service"/>
<rdfs:range rdf:resource="&time;#TemporalEntity"/>
</owl:ObjectProperty>
<owl:Class rdf:ID="E_Commerce">
<rdfs:subClassOf rdf:resource="&profile;#Profile"/>
<rdfs:comment>
Top level of an ontology of retail services;
it requires a product to sell and a transportation mode
</rdfs:comment>
</owl:Class>
<owl:ObjectProperty rdf:ID="merchandise">
<rdfs:domain rdf:resource="#E_Commerce"/>
<rdfs:range rdf:resource="#Product"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="deliveryMode">
<rdfs:domain rdf:resource="#E_Commerce"/>
<rdfs:range rdf:resource="#Transportation"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="deliveryRegion">
<rdfs:domain rdf:resource="#E_Commerce"/>
<rdfs:range rdf:resource="&country;#Country"/>
</owl:ObjectProperty>
<owl:Class rdf:ID="BookSelling">
<rdfs:subClassOf rdf:resource="#E_Commerce"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#merchandise"/>
<owl:allValuesFrom rdf:resource="#Book"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="AirlineTicketing">
<rdfs:subClassOf rdf:resource="#E_Commerce"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#merchandise"/>
<owl:allValuesFrom rdf:resource="#CommercialAirlineTravel"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<!-- ..................................... PRODUCT ONTOLOGY -->
<owl:Class rdf:ID="Product">
<rdfs:comment>
Product is the top level of a Product ontology
for now it records the product classification in UNSPSC
</rdfs:comment>
</owl:Class>
<owl:DatatypeProperty rdf:ID="UNSPSCcode">
<rdfs:domain rdf:resource="#Product"/>
<rdfs:range rdf:resource="&xsd;#string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="UNSPSCclassification">
<rdfs:domain rdf:resource="#Product"/>
<rdfs:range rdf:resource="&xsd;#string"/>
</owl:DatatypeProperty>
<owl:Class rdf:ID="ISBN"/>
<owl:Class rdf:ID="Book">
<rdfs:comment>
Top Ontology of Books
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Product"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#UNSPSCclassification"/>
<owl:hasValue rdf:datatype="&xsd;#string" >book</owl:hasValue>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#UNSPSCcode"/>
<owl:hasValue rdf:datatype="&xsd;#string">44111507</owl:hasValue>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:DatatypeProperty rdf:ID="title">
<rdfs:domain rdf:resource="#Book"/>
<rdfs:range rdf:resource="&xsd;#string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="author">
<rdfs:domain rdf:resource="#Book"/>
<rdfs:range rdf:resource="&xsd;#string"/>
</owl:DatatypeProperty>
<owl:ObjectProperty rdf:ID="hasISBN">
<rdfs:domain rdf:resource="#Book"/>
<rdfs:range rdf:resource="#ISBN"/>
</owl:ObjectProperty>
<owl:Class rdf:ID="CommercialAirlineTravel">
<rdfs:comment>
Top concept of Airline Travel
</rdfs:comment>
<rdfs:subClassOf rdf:resource="#Product"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#UNSPSCclassification"/>
<owl:hasValue rdf:datatype="&xsd;#string">CommercialAirlineTravel</owl:hasValue>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#UNSPSCcode"/>
<owl:hasValue rdf:datatype="&xsd;#string">78111502</owl:hasValue>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<!-- ...................... Additional placeholder classes that are needed -->
<owl:Class rdf:ID="InformationSource"/>
<owl:Class rdf:ID="Transportation"/>
</rdf:RDF>