#Example Ontology
# Copyright (C) 2010 David S. Read
#****************************************************************
# This is a fictional ontology representing insurance concepts.
# It is meant for testing of semantic web concepts only.
#****************************************************************
# This file is free software: you can redistribute it and/or
# modify it under the terms of the GNU Affero General Public
# License as published by the Free Software Foundation, either
# version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public
# License along with this program. If not, see
# .
#****************************************************************
#Namespaces used in this ontology
@prefix dsr: .
@prefix rdf: .
@prefix rdfs: .
@prefix owl: .
#Basic types: Person, Policy, Claim and ConstructionType
##These could be replaced by an upper ontology
##(or at least subclassed appropriately from one)
dsr:Person rdf:type owl:Class.
dsr:Policy rdf:type owl:Class.
dsr:Claim rdf:type owl:Class.
dsr:ConstructionType rdf:type owl:Class.
#CoveredClaim is a claim from an Insured
dsr:CoveredClaim rdf:type owl:Class;
rdfs:subClassOf dsr:Claim;
owl:equivalentClass [
rdf:type owl:Restriction;
owl:onProperty dsr:claimant;
owl:someValuesFrom dsr:Insured;
].
#Insured is a person that is covered under at least one policy
dsr:Insured rdf:type owl:Class;
rdfs:subClassOf dsr:Person;
owl:equivalentClass [
rdf:type owl:Restriction;
owl:onProperty dsr:coveredByPolicy;
owl:someValuesFrom dsr:Policy;
].
#PolicyHolder is an insured that holds at least one policy
dsr:PolicyHolder rdf:type owl:Class;
owl:equivalentClass [
rdf:type owl:Restriction;
owl:onProperty dsr:policyHeld;
owl:someValuesFrom dsr:Policy;
].
#InsuredByKirkJT is a person with a policy held by KirkJT
##TODO Not sure how to define this correctly so it doesn't work
dsr:InsuredByKirkJT rdf:type owl:Class;
owl:intersectionOf (
dsr:Person
[
rdf:type owl:Restriction;
owl:onProperty dsr:coveredByPolicy;
owl:hasValue dsr:KirkJT;
]
).
#AutoPolicy is a type of policy that has an associated manufacturer
dsr:AutoPolicy rdf:type owl:Class;
rdfs:subClassOf dsr:Policy;
owl:equivalentClass [
rdf:type owl:Restriction;
owl:minCardinality 1;
owl:onProperty dsr:manufacturer;
].
#HomePolicy is a type pf policy with an associated ConstructionType
dsr:HomePolicy rdf:type owl:Class;
rdfs:subClassOf dsr:Policy;
owl:equivalentClass [
rdf:type owl:Restriction;
owl:onProperty dsr:construction;
owl:someValuesFrom dsr:ConstructionType;
].
#A name
dsr:name rdf:type owl:DatatypeProperty.
#A legal name, which is a type of name
dsr:legalName rdf:type owl:DatatypeProperty;
rdfs:subPropertyOf dsr:name.
#The deductable
##TODO this should be limited to one instance per policy
dsr:deductable rdf:type owl:DatatypeProperty.
#The premium
##TODO this should be limited to one instance per policy
dsr:premium rdf:type owl:DatatypeProperty.
#The manufacturer of the automobile
##TODO this should be limited to one instance per policy
dsr:manufacturer rdf:type owl:DatatypeProperty.
#The construction type of the home
##TODO this should be limited to one instance per policy
dsr:construction rdf:type owl:ObjectProperty.
#A material used to build the home
dsr:material rdf:type owl:DatatypeProperty.
#A policy held by a person
dsr:policyHeld rdf:type owl:ObjectProperty.
#A person holding the policy, inverse of policyHeld
dsr:policyHolder rdf:type owl:ObjectProperty;
owl:inverseOf dsr:policyHeld.
#A policy that covers a person
dsr:coveredByPolicy rdf:type owl:ObjectProperty.
#A person covered by a policy, inverse of coveredByPolicy
dsr:policyCovers rdf:type owl:ObjectProperty;
owl:inverseOf dsr:coveredByPolicy.
#A claimant, which is a type of Person, filing a Claim
dsr:claimant rdf:type owl:ObjectProperty;
rdfs:subPropertyOf dsr:Person.
#An individual: house
dsr:CenterHallColonial rdf:type dsr:ConstructionType;
dsr:material "wood".
#An individual: house
dsr:AFrame rdf:type dsr:ConstructionType;
dsr:material "iron";
dsr:material "glass".
#An individual: car
dsr:CamaroPolicy rdf:type dsr:AutoPolicy;
dsr:deductable "1000";
dsr:premium "1200";
dsr:manufacturer "Chevrolet".
#An individual: car
dsr:CivicPolicy rdf:type dsr:Policy;
dsr:deductable "500";
dsr:premium "342";
dsr:manufacturer "Honda".
#An individual: policy, covering the CenterHallColonial
dsr:ColonialPolicy rdf:type dsr:HomePolicy;
dsr:deductable "1000";
dsr:premium "1500";
dsr:construction dsr:CenterHallColonial.
#An individual: policy, covering the AFrame
dsr:AFramePolicy rdf:type dsr:Policy;
dsr:deductable "5000";
dsr:premium "1294";
dsr:construction dsr:AFrame.
#An individual: person, Dr. Leonard H. McCoy
dsr:McCoyLH rdf:type dsr:Person;
dsr:legalName "Leonard H. McCoy";
dsr:name "Leonard McCoy";
dsr:name "Bones";
dsr:policyHeld dsr:CivicPolicy;
dsr:policyHeld dsr:ColonialPolicy.
#An individual: person, Admiral James T. Kirk
dsr:KirkJT rdf:type dsr:Person;
dsr:legalName "James Tiberius Kirk";
dsr:name "James T. Kirk";
dsr:policyHeld dsr:CamaroPolicy;
dsr:policyHeld dsr:AFramePolicy;
dsr:coveredByPolicy dsr:CamaroPolicy;
dsr:coveredByPolicy dsr:AFramePolicy.
#An individual: person, Captain Spock
dsr:Spock rdf:type dsr:Person;
dsr:legalName "Spock";
dsr:name "Spocko";
dsr:coveredByPolicy dsr:CamaroPolicy.
#An individual: claim, for an accident Spock had
dsr:CamaroIncident rdf:type dsr:Claim;
dsr:claimant dsr:Spock.