Extended Example (3)


Rule asserting that wherever an Airport is located, there is some map:Location that is the sameLocation as the Airport's location and that is the location of a map Point:

ObjectProperty(map:location (inverseOf map:isLocationOf))

Implies(Antecedent(airports:Airport(I-variable(airport))
                   location(I-variable(airport) I-variable(loc))
		   latitude(I-variable(loc) I-variable(lat))
		   longitude(I-variable(loc) I-variable(lon)))
	Consequent(restriction
                    (sameLocation someValuesFrom
                      (intersectionOf
                        (map:Location restriction
                          (map:isLocationOf someValuesFrom
                            (map:Point)))))))

Note use of complex OWL description as predicate in rule;
use of OWL:someValuesFrom to assert existence of map location