@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix mon: <http://www.semwebtech.org/mondial/10/meta#>.
@prefix : <foo://bla/>.

:grmny a mon:Country; :hasProvOrCity :bln.
:bln a mon:City; mon:population 3500000 .
:frc a mon:Country; mon:hasProvince :ile .
:ile a mon:Province .
:prs a mon:City; mon:cityIn :ile; mon:population 2000000 .

mon:hasProvince owl:inverseOf mon:isProvinceOf.
mon:isProvinceOf rdfs:subPropertyOf mon:belongsTo.
mon:cityIn rdfs:subPropertyOf mon:belongsTo.

mon:belongsTo a owl:TransitiveProperty;
  owl:inverseOf :hasProvOrCity. ## bridge country-prov-city
mon:population a owl:FunctionalProperty. ## all cities are different.

:CountryWithCity owl:intersectionOf (mon:Country
  [a owl:Restriction; owl:onProperty :hasProvOrCity; owl:someValuesFrom mon:City]).
:CountryWithProvince owl:intersectionOf (mon:Country
  [a owl:Restriction; owl:onProperty :hasProvOrCity; owl:someValuesFrom mon:Province]).
:CountryWithCity2 owl:intersectionOf (mon:Country
  [a owl:Restriction; owl:onProperty :hasProvOrCity; owl:someValuesFrom owl:Thing]).
