%------------------------------------------------------------------ % Project: SOS/ACE/Rabbit verbalization examples % Author: Rolf Schwitter & Kaarel Kaljurand % Date: 23rd January 2008 % Modified: 07 February 2008 % Status: WORK IN Progress!!! %------------------------------------------------------------------ %------------------------------------------------------------------ SubObjectPropertyOf(ObjectProperty(flow-into), ObjectProperty(flow)) SOS: If X flows into Y then X flows Y. ACE: If something X flows-into something Y then X flows Y. Rabbit: The relationship "flows into" is a special type of the relationship "flows". %------------------------------------------------------------------ AsymmetricObjectProperty(ObjectProperty(flow-into)) SOS: If X flows into Y then Y does not flow into X. ACE: If something X flows-into something Y then it is false that Y flows-into X. Rabbit: The relationship "flow into" is asymmetric. %------------------------------------------------------------------ SubClassOf(OWLClass(mission), ObjectSomeValuesFrom(ObjectProperty(has-purpose), ObjectUnionOf([OWLClass(charitable-activity), OWLClass(christian-worship)]))) SOS: Every mission has a charitable activity as a purpose or has a christian worship as a purpose. ACE: Every mission has-purpose something that is a charitable-activity or that is a christian-worship. Rabbit: Every Mission has purpose one or more of Christian Worship or Charitable Activities. %------------------------------------------------------------------ SubClassOf(OWLClass(river-stretch), ObjectExactCardinality(1, ObjectProperty(has-part), OWLClass(channel))) SOS: Every river stretch has exactly 1 channel as a part. ACE: Every river-stretch has-part exactly 1 channel. Rabbit: Every River Stretch has part exactly one Channel. %------------------------------------------------------------------ ReflexiveObjectProperty(ObjectProperty(is-near-to)) SOS: Everything is near to itself. ACE: Everything is-near-to itself. Rabbit: The relationship "is near to" is reflexive. %----------------------------------------------------------------- SubClassOf(OWLClass(ring-road), ObjectSomeValuesFrom(ObjectProperty(is-connected-to), OWLClass(ring-road))) SOS: Every ring road is connected to a ring road. ACE: Every ring-road is-connected-to a ring-road. Rabbit: Every Ring Road is connected to itself %----------------------------------------------------------------- EquivalentObjectProperties([ObjectProperty(is-inside), ObjectProperty(is-within)]) SOS: The relations is inside and is within are equivalent. ACE: If something X is-inside something Y then X is-within Y. If something X is-within something Y then X is-inside Y. Rabbit: The relationships "is inside" and "is within" are equivalent. %----------------------------------------------------------------- ClassAssertion(OWLClass(country), Individual(England)) SOS: England is a country. ACE: England is a country. Rabbit: England is a Country. %----------------------------------------------------------------- EquivalentClasses([OWLClass(petrol-station), OWLClass(gas-station)]) SOS: The classes petrol station and gas station are equivalent. ACE: Every petrol-station is a gas-station. Every gas-station is a petrol-station. Rabbit: Petrol Station and Gas Station are equivalent. %----------------------------------------------------------------- TransitiveObjectProperty(ObjectProperty(is-part-of)) SOS: If X is part of Y and Y is part of Z then X is part of Z. ACE: If something X is-part-of something that is-part-of something Y then X is-part-of Y. Rabbit: The relationship "is part of" is transitive. %----------------------------------------------------------------- SubClassOf(OWLClass(bourne), OWLClass(stream)) SOS: Every bourne is a stream. ACE: Every bourne is a stream. Rabbit: Every Bourne is a kind of Stream. %----------------------------------------------------------------- SubClassOf(ObjectSomeValuesFrom(ObjectProperty(has-part), OWLClass(water)), ObjectSomeValuesFrom(ObjectProperty(contain), OWLClass(water))) SOS: Everything that has some water as a part contains some water. ACE: Everything that has-part a water contains a water. Rabbit: Everything that has a Part that contains some Water will also contain some Water. %----------------------------------------------------------------- SameIndividuals([Individual(Pompey), Individual(Portsmouth)]) SOS: Pompey and Portsmouth are the same individual. ACE: Pompey is Portsmouth. Portsmouth is Pompey. Rabbit: Portsmouth and Pompey are the same thing. %----------------------------------------------------------------- SubClassOf(OWLClass(loch), ObjectHasValue(ObjectProperty(is-located-in), Individual(Scotland))) SOS: Every loch is located in Scotland. ACE: Every loch is-located-in Scotland. Rabbit: Every Loch is located in Scotland. %----------------------------------------------------------------- ObjectPropertyRange(ObjectProperty(is-capital-city-of), OWLClass(country)) SOS: If X is capital city of Y then Y is a country. ACE: Everything that is is-capital-city-of by something is a country. ALT: Everything that something is-capital-city-of is a country. ALT: If something X is-capital-city-of something Y then Y is a country. ALT: If something Y's capital-city is something then Y is a country. #NB: generates property "capital-city" Rabbit: The relation "is capital city of" can only have a Country as an object. %----------------------------------------------------------------- SubClassOf(OWLClass(backwater), ObjectComplementOf(ObjectSomeValuesFrom(ObjectProperty(has-current), OWLClass(current)))) SOS: Every backwater does not have a current as a current. ALT: No backwater has a current as a current. (but not yet in the scope of SOS). ACE: No backwater has-current a current. Rabbit: No Backwater has a Current. %----------------------------------------------------------------- SubObjectPropertyOf(SubObjectPropertyChain([ObjectProperty(has-part), ObjectProperty(contain)]), ObjectProperty(contain)) SOS: If X contains Y and Y has Z as a part then X contains Z. ACE: If something X has-part something that contains something Y then X contains Y. Rabbit: Everything that has a Part that contains something will also contain that thing. %----------------------------------------------------------------- SubClassOf(OWLClass(river-stretch), ObjectMinCardinality(2, ObjectProperty(has-part), OWLClass(bank))) SOS: Every river stretch has at least 2 banks as a part. ACE: Every river-stretch has-part at least 2 banks. Rabbit: Every River Stretch has part at least two Banks. %----------------------------------------------------------------- InverseFunctionalObjectProperty(ObjectProperty(is-assigned-to)) SOS: If X is assigned to Y then Y is assigned to only X. ACE: Everything is is-assigned-to by at most 1 thing. ALT: If there is something X then at most 1 thing is-assigned-to X. Rabbit: The relationship "is assigned to" can only have one subject. %----------------------------------------------------------------- ObjectPropertyAssertion(ObjectProperty(is-located-in), Individual(Portsmouth), Individual(Hampshire)) SOS: Portsmouth is located in Hampshire. ACE: Portsmouth is-located-in Hampshire. Rabbit: Portsmouth is located in Hampshire. %----------------------------------------------------------------- EquivalentClasses([OWLClass(UK-country), ObjectOneOf([Individual(Scotland), Individual(Northern-Ireland), Individual(England), Individual(Wales)])]) SOS: The classes UK country and one of Scotland or Northern Ireland or England or Wales are equivalent. ACE: Every UK-country is England or is Northern-Ireland or is Scotland or is Wales. Everything that is England or that is Northern-Ireland or that is Scotland or that is Wales is a UK-country. Rabbit: Every UK Country is exactly one of England or Wales or Northern Ireland or Scotland. ALT: A UK Country is defined as: Every UK Country is exactly one of England or Wales or Scotland or Northern Ireland. %----------------------------------------------------------------- DifferentIndividuals([Individual(Scotland), Individual(England)]) SOS: Scotland and England are different individuals. ACE: Scotland is not England. England is not Scotland. Rabbit: England and Scotland are different things. %----------------------------------------------------------------- InverseObjectProperties(ObjectProperty(contain), ObjectProperty(is-contained-in)) SOS: If X contains Y then Y is contained in X. If X is contained in Y then Y contains X. ACE: If something X contains something Y then Y is-contained-in X. If something X is-contained-in something Y then Y contains X. Rabbit: The relationship "contains" is the complement of "contained in". %----------------------------------------------------------------- SubClassOf(OWLClass(basin), ObjectAllValuesFrom(ObjectProperty(is-connected-to), ObjectUnionOf([OWLClass(channel), OWLClass(pipe)]))) SOS: Every basin is connected to only channels or only pipes. ACE: Everything that is is-connected-to by a basin is something that is a channel or that is a pipe. ALT: Everything that a basin is-connected-to is something that is a channel or that is a pipe. ALT: Every basin is-connected-to nothing but things that are a channel or that are a pipe. Rabbit: Every Basin is connected to only a Channel or a Pipe or nothing. %----------------------------------------------------------------- NegativeObjectPropertyAssertion(ObjectProperty(is-located-in), Individual(Portsmouth), Individual(Scotland)) SOS: Portsmouth is not located in Scotland. ACE: Portsmouth does not is-located-in Scotland. ALT: It is false that Portsmouth is-located-in Scotland. Rabbit: NOT AVAILABLE %----------------------------------------------------------------- IrreflexiveObjectProperty(ObjectProperty(flow-into)) SOS: Nothing flows into itself. ACE: Nothing flows-into itself. Rabbit: The relationship "flow into" is irreflexive. %----------------------------------------------------------------- SubClassOf(OWLClass(school), ObjectSomeValuesFrom(ObjectProperty(has-purpose), ObjectIntersectionOf([OWLClass(education), ObjectSomeValuesFrom(ObjectProperty(apply-to), OWLClass(child))]))) SOS: Every school has an education as a purpose that applies to a child. ALT: Every school has an education that applies to a child as a purpose. (ugly!) ACE: Every school has-purpose an education that applies-to a child. Rabbit: Every School has purpose Education of Children. %----------------------------------------------------------------- FunctionalObjectProperty(ObjectProperty(has-postcode)) SOS: If X has Y as a postcode then Y is the only postcode of X. ACE: Everything has-postcode at most 1 thing. Rabbit: The relationship "has postcode" can only refer to one thing %----------------------------------------------------------------- SubClassOf(OWLClass(factory), ObjectSomeValuesFrom(ObjectProperty(has-part), ObjectIntersectionOf([ObjectSomeValuesFrom(ObjectProperty(has-purpose), OWLClass(manufacturing)), OWLClass(building)]))) SOS: Every factory has a building as a part that has a manufacturing as a purpose. ALT: Every factory has a building that has a manufacturing as a purpose as a part. (ugly!) ACE: Every factory has-part a building that has-purpose a manufacturing. Rabbit: Every Factory has a part Building that has Purpose Manufacturing. %----------------------------------------------------------------- SymmetricObjectProperty(ObjectProperty(is-adjacent-to)) SOS: If X is adjacent to Y then Y is adjacent to X. ACE: If something X is-adjacent-to something Y then Y is-adjacent-to X. Rabbit: The relationship "is adjacent to" is symmetric. %----------------------------------------------------------------- DisjointClasses([OWLClass(floodplain), OWLClass(river)]) SOS: The classes floodplain and river are mutually exclusive. ACE: No floodplain is a river. Rabbit: River and Floodplain are mutually exclusive. %----------------------------------------------------------------- SubClassOf(OWLClass(factory), ObjectSomeValuesFrom(ObjectProperty(has-purpose), OWLClass(manufacturing))) SOS: Every factory has a manufacturing as a purpose. ACE: Every factory has-purpose a manufacturing. Rabbit: Every Factory has purpose Manufacturing. %----------------------------------------------------------------- ObjectPropertyDomain(ObjectProperty(is-capital-city-of), OWLClass(capital-city)) SOS: If X is capital city of Y then X is a capital city. ACE: Everything that is-capital-city-of something is a capital-city. ALT: Everything that is a capital-city of something is a capital-city. #NB: generates property "capital-city" Rabbit: The "is capital city of" relationship can only have a City as a subject. %----------------------------------------------------------------- EquivalentClasses([OWLClass(source), ObjectIntersectionOf([ObjectUnionOf([OWLClass(spring), OWLClass(wetland)]), ObjectSomeValuesFrom(ObjectProperty(feed), ObjectUnionOf([OWLClass(river), OWLClass(stream)]))])]) SOS: The classes source and spring or wetland that feed some river or some stream are equivalent. ACE: Every source is a spring or is a wetland, and feeds something that is a river or that is a stream. Everything that is a spring or that is a wetland, and that feeds something that is a river or that is a stream is a source. Rabbit: Every Source is defined as: Every Source is a kind of Spring or Wetland; Every Source feeds a River or a Stream. %----------------------------------------------------------------- DisjointObjectProperties([ObjectProperty(contain), ObjectProperty(is-contained-in)]) SOS: The relations contain and is contained in are mutually exclusive. ACE: If something X contains something Y then it is false that X is-contained-in Y. Rabbit: The relationships "contains" and "is contained in" are mutually exclusive. %----------------------------------------------------------------- SubClassOf(OWLClass(river-stretch), ObjectMaxCardinality(2, ObjectProperty(has-part), OWLClass(confluence))) SOS: Every river stretch has at most 2 confluences as a part. ACE: Every river-stretch has-part at most 2 confluences. Rabbit: Every River Stretch has part at most two confluences. %-----------------------------------------------------------------