#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.