Extended Example (4)


Rule asserting that a map:Point whose map:location is the map:Location of an Airport has the airport as a map:underlyingObject and has a map:label which is the name of the Airport.

 

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

Implies(
  Antecedent(airports:Airport(I-variable(airport))
             location(I-variable(airport) I-variable(loc))
             sameLocation(I-variable(loc) I-variable(maploc))
             map:location(I-variable(point) I-variable(maploc))
	     airports:name(I-variable(airport) I-variable(name)))
  Consequent(map:underlyingObject(I-variable(point)
                                  I-variable(airport))
             map:label(I-variable(point) I-variable(name))))