0% found this document useful (0 votes)
6 views12 pages

OWL Examples

The document outlines the modeling of various ontologies in OWL using RDF-XML for different domains including an Online Store, a University, a Healthcare System, and a Banking System. Each ontology includes classes, object properties, datatype properties, disjoint classes, complement classes, and someValuesFrom restrictions. The document provides detailed RDF-XML structures for each ontology, defining relationships and attributes relevant to each domain.

Uploaded by

Raksha Joshi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views12 pages

OWL Examples

The document outlines the modeling of various ontologies in OWL using RDF-XML for different domains including an Online Store, a University, a Healthcare System, and a Banking System. Each ontology includes classes, object properties, datatype properties, disjoint classes, complement classes, and someValuesFrom restrictions. The document provides detailed RDF-XML structures for each ontology, defining relationships and attributes relevant to each domain.

Uploaded by

Raksha Joshi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1. Model the following ontology in OWL using RDF-XML: An Online Store sells Products.

Products include Electronics and Clothing. Electronics can be Mobile or Laptop. Products
have features like Brand, Price, and Warranty. Customers can be Premium or Regular.
Include object property ,datatype property ,disjoint, complement and somevaluesfrom
elements in OWL.

Ans:

• Class hierarchy: Product → Electronics/Clothing → Mobile/Laptop


• Object property: sells (OnlineStore → Product)
• Datatype properties: hasBrand, hasPrice, hasWarranty
• Disjoint classes: Electronics vs Clothing, Mobile vs Laptop, Premium vs Regular
• Complement: NonPremiumCustomer = NOT PremiumCustomer
• Restriction (someValuesFrom): BrandedProduct must have at least one
brand value
<?xml version="1.0"?>
<rdf:RDF xmlns="[Link]
xml:base="[Link]
xmlns:rdf="[Link]
xmlns:owl="[Link]
xmlns:xsd="[Link]
xmlns:rdfs="[Link]

<!-- Ontology -->


<owl:Ontology rdf:about="[Link]

<!-- Classes -->


<owl:Class rdf:about="#OnlineStore"/>
<owl:Class rdf:about="#Product"/>
<owl:Class rdf:about="#Electronics">
<rdfs:subClassOf rdf:resource="#Product"/>
</owl:Class>
<owl:Class rdf:about="#Clothing">
<rdfs:subClassOf rdf:resource="#Product"/>
</owl:Class>

<owl:Class rdf:about="#Mobile">
<rdfs:subClassOf rdf:resource="#Electronics"/>
</owl:Class>

<owl:Class rdf:about="#Laptop">
<rdfs:subClassOf rdf:resource="#Electronics"/>
</owl:Class>

<!-- Customers -->


<owl:Class rdf:about="#Customer"/>
<owl:Class rdf:about="#PremiumCustomer">
<rdfs:subClassOf rdf:resource="#Customer"/>
</owl:Class>
<owl:Class rdf:about="#RegularCustomer">
<rdfs:subClassOf rdf:resource="#Customer"/>
</owl:Class>

<!-- Disjoint Classes -->


<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="#Electronics"/>
<rdf:Description rdf:about="#Clothing"/>
</owl:members>
</owl:AllDisjointClasses>

<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="#Mobile"/>
<rdf:Description rdf:about="#Laptop"/>
</owl:members>
</owl:AllDisjointClasses>

<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="#PremiumCustomer"/>
<rdf:Description rdf:about="#RegularCustomer"/>
</owl:members>
</owl:AllDisjointClasses>

<!-- Complement Class -->


<owl:Class rdf:about="#NonPremiumCustomer">
<owl:complementOf rdf:resource="#PremiumCustomer"/>
</owl:Class>

<!-- Object Property -->


<owl:ObjectProperty rdf:about="#sells">
<rdfs:domain rdf:resource="#OnlineStore"/>
<rdfs:range rdf:resource="#Product"/>
</owl:ObjectProperty>

<!-- Datatype Properties -->


<owl:DatatypeProperty rdf:about="#hasBrand">
<rdfs:domain rdf:resource="#Product"/>
<rdfs:range rdf:resource="[Link]
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="#hasPrice">
<rdfs:domain rdf:resource="#Product"/>
<rdfs:range rdf:resource="[Link]
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="#hasWarranty">
<rdfs:domain rdf:resource="#Product"/>
<rdfs:range rdf:resource="[Link]
</owl:DatatypeProperty>

<!-- someValuesFrom Restriction -->


<owl:Class rdf:about="#BrandedProduct">
<rdfs:subClassOf rdf:resource="#Product"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBrand"/>
<owl:someValuesFrom
rdf:resource="[Link]
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

</rdf:RDF>

2. Model the following ontology in OWL using RDF/XML:

A University offers Courses. Courses include ScienceCourses and ArtsCourses.


ScienceCourses can be Physics or ComputerScience. Courses have features like
CourseName, Credits, and Duration. Students can be Undergraduate or
Postgraduate.

Include the following in your OWL model:

1. Object property
2. Datatype property
3. Disjoint classes
4. Complement class
5. someValuesFrom restriction

Ans:
<?xml version="1.0"?>
<rdf:RDF xmlns="[Link]
xml:base="[Link]
xmlns:rdf="[Link]
xmlns:owl="[Link]
xmlns:xsd="[Link]
xmlns:rdfs="[Link]

<!-- Ontology -->


<owl:Ontology rdf:about="[Link]

<!-- Classes -->


<owl:Class rdf:about="#University"/>
<owl:Class rdf:about="#Course"/>
<owl:Class rdf:about="#ScienceCourse">
<rdfs:subClassOf rdf:resource="#Course"/>
</owl:Class>

<owl:Class rdf:about="#ArtsCourse">
<rdfs:subClassOf rdf:resource="#Course"/>
</owl:Class>

<owl:Class rdf:about="#Physics">
<rdfs:subClassOf rdf:resource="#ScienceCourse"/>
</owl:Class>

<owl:Class rdf:about="#ComputerScience">
<rdfs:subClassOf rdf:resource="#ScienceCourse"/>
</owl:Class>

<!-- Students -->


<owl:Class rdf:about="#Student"/>

<owl:Class rdf:about="#Undergraduate">
<rdfs:subClassOf rdf:resource="#Student"/>
</owl:Class>

<owl:Class rdf:about="#Postgraduate">
<rdfs:subClassOf rdf:resource="#Student"/>
</owl:Class>

<!-- Disjoint Classes -->


<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="#ScienceCourse"/>
<rdf:Description rdf:about="#ArtsCourse"/>
</owl:members>
</owl:AllDisjointClasses>

<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="#Physics"/>
<rdf:Description rdf:about="#ComputerScience"/>
</owl:members>
</owl:AllDisjointClasses>

<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="#Undergraduate"/>
<rdf:Description rdf:about="#Postgraduate"/>
</owl:members>
</owl:AllDisjointClasses>

<!-- Complement Class -->


<owl:Class rdf:about="#NonPostgraduate">
<owl:complementOf rdf:resource="#Postgraduate"/>
</owl:Class>

<!-- Object Property -->


<owl:ObjectProperty rdf:about="#offers">
<rdfs:domain rdf:resource="#University"/>
<rdfs:range rdf:resource="#Course"/>
</owl:ObjectProperty>

<!-- Datatype Properties -->


<owl:DatatypeProperty rdf:about="#hasCourseName">
<rdfs:domain rdf:resource="#Course"/>
<rdfs:range rdf:resource="[Link]
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="#hasCredits">
<rdfs:domain rdf:resource="#Course"/>
<rdfs:range rdf:resource="[Link]
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="#hasDuration">
<rdfs:domain rdf:resource="#Course"/>
<rdfs:range rdf:resource="[Link]
</owl:DatatypeProperty>

<!-- someValuesFrom Restriction -->


<owl:Class rdf:about="#CreditCourse">
<rdfs:subClassOf rdf:resource="#Course"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasCredits"/>
<owl:someValuesFrom rdf:resource="[Link]
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

</rdf:RDF>

Healthcare System

Model the following ontology in OWL using RDF/XML:

A Hospital treats Patients. Patients can be InPatient or OutPatient. Hospitals have


Doctors, and Doctors can be Surgeon or Physician. Patients have attributes like Name, Age,
and Diagnosis.

Include:
3. Object property
4. Datatype property
5. Disjoint classes
6. Complement class
7. someValuesFrom restriction

Ans:

<?xml version="1.0"?>

<rdf:RDF xmlns="[Link]

xml:base="[Link]

xmlns:rdf="[Link]

xmlns:owl="[Link]

xmlns:xsd="[Link]

xmlns:rdfs="[Link]

<!-- Ontology -->

<owl:Ontology rdf:about="[Link]

<!-- Classes -->

<owl:Class rdf:about="#Hospital"/>

<owl:Class rdf:about="#Patient"/>

<owl:Class rdf:about="#InPatient">

<rdfs:subClassOf rdf:resource="#Patient"/>

</owl:Class>

<owl:Class rdf:about="#OutPatient">

<rdfs:subClassOf rdf:resource="#Patient"/>

</owl:Class>

<owl:Class rdf:about="#Doctor"/>

<owl:Class rdf:about="#Surgeon">
<rdfs:subClassOf rdf:resource="#Doctor"/>

</owl:Class>

<owl:Class rdf:about="#Physician">

<rdfs:subClassOf rdf:resource="#Doctor"/>

</owl:Class>

<!-- Disjoint Classes -->

<owl:AllDisjointClasses>

<owl:members rdf:parseType="Collection">

<rdf:Description rdf:about="#InPatient"/>

<rdf:Description rdf:about="#OutPatient"/>

</owl:members>

</owl:AllDisjointClasses>

<owl:AllDisjointClasses>

<owl:members rdf:parseType="Collection">

<rdf:Description rdf:about="#Surgeon"/>

<rdf:Description rdf:about="#Physician"/>

</owl:members>

</owl:AllDisjointClasses>

<!-- Complement Class -->

<owl:Class rdf:about="#NonInPatient">

<owl:complementOf rdf:resource="#InPatient"/>

</owl:Class>

<!-- Object Properties -->

<owl:ObjectProperty rdf:about="#treats">

<rdfs:domain rdf:resource="#Hospital"/>

<rdfs:range rdf:resource="#Patient"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#hasDoctor">

<rdfs:domain rdf:resource="#Hospital"/>

<rdfs:range rdf:resource="#Doctor"/>

</owl:ObjectProperty>

<!-- Datatype Properties -->

<owl:DatatypeProperty rdf:about="#hasName">

<rdfs:domain rdf:resource="#Patient"/>

<rdfs:range rdf:resource="[Link]

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="#hasAge">

<rdfs:domain rdf:resource="#Patient"/>

<rdfs:range rdf:resource="[Link]

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="#hasDiagnosis">

<rdfs:domain rdf:resource="#Patient"/>

<rdfs:range rdf:resource="[Link]

</owl:DatatypeProperty>

<!-- someValuesFrom Restriction -->

<owl:Class rdf:about="#DiagnosedPatient">

<rdfs:subClassOf rdf:resource="#Patient"/>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#hasDiagnosis"/>

<owl:someValuesFrom rdf:resource="[Link]

</owl:Restriction>
</rdfs:subClassOf>

</owl:Class>

</rdf:RDF>

4. Banking System: Model the following ontology in OWL using RDF/XML:

A Bank manages Accounts. Accounts can be SavingsAccount or CurrentAccount. Customers can be


IndividualCustomer or BusinessCustomer. Accounts have attributes like AccountNumber, Balance,
and InterestRate.

Include:

Object property

Datatype property

Disjoint classes

Complement class

someValuesFrom restriction

Ans:

<?xml version="1.0"?>

<rdf:RDF xmlns="[Link]

xml:base="[Link]

xmlns:rdf="[Link]

xmlns:owl="[Link]

xmlns:xsd="[Link]

xmlns:rdfs="[Link]

<!-- Ontology -->

<owl:Ontology rdf:about="[Link]

<!-- Classes -->

<owl:Class rdf:about="#Bank"/>

<owl:Class rdf:about="#Account"/>

<owl:Class rdf:about="#SavingsAccount">
<rdfs:subClassOf rdf:resource="#Account"/>

</owl:Class>

<owl:Class rdf:about="#CurrentAccount">

<rdfs:subClassOf rdf:resource="#Account"/>

</owl:Class>

<owl:Class rdf:about="#Customer"/>

<owl:Class rdf:about="#IndividualCustomer">

<rdfs:subClassOf rdf:resource="#Customer"/>

</owl:Class>

<owl:Class rdf:about="#BusinessCustomer">

<rdfs:subClassOf rdf:resource="#Customer"/>

</owl:Class>

<!-- Disjoint Classes -->

<owl:AllDisjointClasses>

<owl:members rdf:parseType="Collection">

<rdf:Description rdf:about="#SavingsAccount"/>

<rdf:Description rdf:about="#CurrentAccount"/>

</owl:members>

</owl:AllDisjointClasses>

<owl:AllDisjointClasses>

<owl:members rdf:parseType="Collection">

<rdf:Description rdf:about="#IndividualCustomer"/>

<rdf:Description rdf:about="#BusinessCustomer"/>

</owl:members>

</owl:AllDisjointClasses>
<!-- Complement Class -->

<owl:Class rdf:about="#NonSavingsAccount">

<owl:complementOf rdf:resource="#SavingsAccount"/>

</owl:Class>

<!-- Object Property -->

<owl:ObjectProperty rdf:about="#manages">

<rdfs:domain rdf:resource="#Bank"/>

<rdfs:range rdf:resource="#Account"/>

</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#hasCustomer">

<rdfs:domain rdf:resource="#Account"/>

<rdfs:range rdf:resource="#Customer"/>

</owl:ObjectProperty>

<!-- Datatype Properties -->

<owl:DatatypeProperty rdf:about="#hasAccountNumber">

<rdfs:domain rdf:resource="#Account"/>

<rdfs:range rdf:resource="[Link]

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="#hasBalance">

<rdfs:domain rdf:resource="#Account"/>

<rdfs:range rdf:resource="[Link]

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="#hasInterestRate">

<rdfs:domain rdf:resource="#Account"/>

<rdfs:range rdf:resource="[Link]
</owl:DatatypeProperty>

<!-- someValuesFrom Restriction -->

<owl:Class rdf:about="#ActiveAccount">

<rdfs:subClassOf rdf:resource="#Account"/>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#hasBalance"/>

<owl:someValuesFrom rdf:resource="[Link]

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

</rdf:RDF>

You might also like