Warning:
This wiki has been archived and is now read-only.

PrimerExampleManchester

From OWL
Jump to: navigation, search
# Example ontology for primer
Namespace: <http://example.com/owl/families#>
Namespace: f <http://example.com/owl/families#>
Namespace: g <http://example.com/owl2/families.owl#>
Namespace: dc <http://purl.org/dc/elements/1.1/>

Ontology: <http://example.com/owl/families> # Ontology name, no version name
Import: <http://example.com/owl2/families.owl>

Annotations: rdfs:comment "Sample ontology of familial relationships"

ObjectProperty: hasWife
  Anotations: rdfs:comment "The relationship from a husband to his wife",
  	       rdfs:label "wife"@en
  Characteristics: Functional, InverseFunctional, Irreflexive, Asymmetric
  Domain: Person, Man
  Range: Person, Woman
  SubPropertyOf: hasSpouse, loves

ObjectProperty: hasHusband InverseOf: hasWife

ObjectProperty: hasSon
  Domain: Person, Parent
  Range: Person, Person that hasGender value male
  SubPropertyOf: hasChild
  SubPropertyChain: f:hasSpouse o f:hasSon
DisjointProperties: hasSon hasDaughter

ObjectProperty: hasDaughter
  Domain: Person, Parent
  Range: Person, Person that hasGender value female
  SubPropertyOf: hasChild
  SubPropertyChain: f:hasSpouse o f:hasDaughter

ObjectProperty: hasGender

ObjectProperty: hasChild
  Domain: Person Range: Person
  SubPropertyOf: inverse hasAncestor  

ObjectProperty: hasAncestor 
  Characteristics: Transitive, 
  		    Annotations: dc:creationDate "2008-01-10"^^xsd:date,
                     Irreflexive

ObjectProperty: hasSpouse Characteristics: Symmetric, Irreflexive

ObjectProperty: loves Domain: Person

DataProperty: hasAge Characteristics: Functional
  Domain: Person Range: integer
 
Class: Person
 Annotations: dc:Creator Individual(peter),
              dc:creationDate "2008-01-10"^^xsd:date,
              rdfs:label "Person":en,
              Annotations: rdfs:comment "Italian label for Person"
	           rdfs:label "Persona":it,
              rdfs:comment "The class of people"
  SubClassOf: hasAge exactly 1
	      and hasGender exactly 1 
	      and hasGender only {female , male}

Class: Man SubClassOf: Person
  EquivalentTo: Person that hasGender value male

Class: Woman SubClassOf: Person
  EquivalentTo: Person that hasGender value female

Class: Parent SubClassOf: Person
  EquivalentTo: Person that hasChild min 1
  
Class: Teenager
  EquivalentTo: Person that hasAge some integer[>= 13 , < 20]

Class: Adult
  EquivalentTo: Person that hasAge some integer[>= 21]

Class: Child
  EquivalentTo: Person and not (hasAge some integer[>= 21])

Class: YoungChild
  EquivalentTo: Person and not (Teenager or Adult)

Class: Marriage
  EquivalentTo: CivilMarriage or ReligiousMarriage

Class: ReligiousMarriage DisjointWith: CivilMarriage

Class: CivilMarriage

Class: Narcissist EquivalentTo: Person that loves Self


Individual: male DifferentFrom: female

Individual: female

Individual: John
  Annotations: dc:author Individual(peter),
  		dc:creationDate "2008-01-10"^^xsd:date,
		rdfs:comment "A simple fact about John"
  Types: Person
  Facts: hasWife Mary,
 	  hasSon Bill,
	  hasDaughter Susan,
	  hasAge  33,
	  hasGender male
  SameAs: Jack

Individual: Mary
  Facts: hasSon Bill,
	  hasDaughter Susan,
	  hasAge  31,
	  hasGender female

Individual: Bill
  Types: not (Narcissist)
  Facts: hasAge  13,
	  hasGender  male

Individual: Susan
  Facts: hasAge 8,
	  hasGender female

Individual: Jeff
  Types: hasChild exactly 2
  Facts: hasWife Emily,
	  hasChild Ellen,
	  hasChild Jack,
	  hasAge  77,
	  loves Jeff

Individual: Emily
  Types: hasAge some {39 , 49}

Individual: Ellen
  Types: hasAge some integer[>= 15 , <= 21]

Individual: Jack
  Facts: not hasAge "53"^^integer

DifferentIndividuals: f:John f:Mary f:Bill f:Susan 
DifferentIndividuals: f:Jeff f:Emily f:Jack f:Ellen f:Susan 

SameIndividual: f:male g:masculine
SameIndividual: f:female g:feminine
EquivalentClasses: f:Adult g:Grownup
EquivalentProperties: f:hasChild g:child
EquivalentProperties: f:hasAge g:age