ontology http://www.wsmo.org/2004/d3/d3.2/v0.1/20040628/resources/loc.wsml

namespace
      default=http:://www.wsmo.org/ontologies/location#,
      dc=http://purl.org/dc/elements/1.1#,
      wsml=http://www.wsmo.org/2004/d16/d16.1/v0.2/20040418#,
      cnt=http://www.wsmo.org/2004/d3/d3.2/v0.1/20040628/resources/owlFactbookMediator.wsml#,
      ad=http://www.wsmo.org/2004/d3/d3.2/v0.1/20040628/resources/owlAddressMediator.wsml#,
      xsd=http://www.w3.org/2001/XMLSchema#

      non-functional-properties 
            dc:title "Locations Ontology"
            dc:creator "DERI International"
            dc:subject "Location", "Country", "State", "City", "Address"
            dc:description "Ontology for representing ontologies in the current political/social system"
            dc:publisher "DERI International"
            dc:contributor "Ruben Lara", "Axel Polleres"
            dc:date "2004-06-28"
            dc:type http://www.wsmo.org/2004/d2/v0.3/20040329/#ontos
            dc:format "text/plain"
            dc:language "en-US"
            dc:relation 
                  http://www.daml.org/2001/09/countries/fips-10-4-ont,
                  http://www.daml.org/2001/09/countries/iso-3166-ont,
                  http://www.daml.org/2003/09/factbook/factbook-ont,
                  http://daml.umbc.edu/ontologies/ittalks/address
            dc:coverage "ID:7029392 Name:World"
            dc:rights http://www.deri.org/privacy.html
            version "$Revision: 1.7 $"
      
      usedMediators
            ooMediator
                  http://www.wsmo.org/2004/d3/d3.2/v0.1/20040628/resources/owlFactbookMediator.wsml,
                  http://www.wsmo.org/2004/d3/d3.2/v0.1/20040628/resources/owlAddressMediator.wsml
            
comment: conceptDefinitions

      concept location
            non-functional-properties
                  dc:description "General notion of location"
            name oftype xsd:string
            country oftype set country
            
      concept country subconcept cnt:country
            non-functional-properties
                  dc:description "Add the codes to the CIA country properties"
            comment: FIPS 10-4 Country Code
            fipsCode oftype xsd:string
            comment: ISO 3166 Country Code
            isoCode oftype xsd:string

      concept address subconceptOf ad:address
            non-functional-properties
                  dc:description "Extended address, adding more details to
                        city, state and country"
            city oftype city
            state oftype state
            country oftype country
            
      concept city subconceptOf location
            non-functional-properties
                  dc:description "City"
            state oftype state
            population oftype xsd:integer
            extension oftype xsd:integer
                  non-functional-properties
                        dc:description "Extension of the city in square kilometers"
            zipcodes oftype set xsd:string
      
      concept state subconceptOf location
            non-functional-properties
                  dc:description "State"
            cities oftype set city
            population oftype xsd:integer
            extension oftype xsd:integer
             
      concept border subconceptOf location
      non-functional-properties
            dc:description "Border between two countries. Notice that it
                  would be more natural to model this as a location with a cardinality
                  constraint = 2 for the country property. However, it is not clear
                  how to do this in F-Logic"
            countryA oftype country
            countryB oftype country            

      concept distance
            non-functional-properties
                  dc:description "Distance between two points"
            amount oftype xsd:float 
            units oftype xsd:string
            kilometers oftype xsd:float
            miles oftype xsd:float

comment: variableDefinitions

      variable D, D1, D2 memberOf distance
      variable U memberOf xsd:string
      variable A memberOf xsd:float
                  
comment: axiomDefinitions
            
      axiom validDistance
            non-functional-properties
                  dc:description "The amount in a distance cannot be less than 0.
                        We only accept kilometers and miles."
            logical-expression
            "<-
                   D[
                         amount hasvalue A,
                         units hasvalue U]
                   and A < 0
                   and not (U="Kilometers" or U="Miles")."

      axiom kilometers
            non-functional-properties
                  dc:description "Calculation for the kilometers property of distance"
            logical-expression
            "D[
                  amount hasvalue A,
                  units hasvalue U] and
             ( (U="Kilometers" and kilometers=A) or
                   (U="Miles" and kilometers=A*1.609344))."                                    

      axiom miles
            non-functional-properties
                  dc:description "Calculation for the miles property of distance"
            logical-expression
            "D memberOf distance[
                  amount hasvalue A,
                  units hasvalue U] and
             ( (U="Miles" and miles=A) or
                   (U="Kilometers" and miles=A/1.609344)."                                    

      axiom equalityDistance
            non-functional-properties
                  dc:description "Computes equality of a distance"
            logical-expression
                  "D1 = D2 <-
                         D1.kilometers = D2.kilometers."                  

      axiom lessThanDistance
            non-functional-properties
                  dc:description "Computes -less than- for a distance"
            logical-expression
                  "D1 < D2 <-
                         D1.kilometers < D2.kilometers."                        

      axiom moreThanDistance
            non-functional-properties
                  dc:description "Computes -more than- for a distance"
            logical-expression
                  "D1 > D2 <-
                         D1.kilometers > D2.kilometers."                   

            
comment: instanceDefinitions
      comment: "A link to large set of instances is missing in WSMO.
            Therefore, in this version of the ontology we only include
            some example instances. The inclusion of links to large
            set of instances will be considered in future versions of
            WSMO"
            
      instance austria memberOf country
            fipsCode hasvalue "AU"
            isoCode hasvalue "AT"
                  
      instance germany memberOf country
            fipsCode hasvalue "GM"
            isoCode hasvalue "DE"
                  
      instance usa memberOf country
            fipsCode hasvalue "US"
            isoCode hasvalue "US"                  
                  
      instance innsbruck memberOf city
            name hasvalue "Innsbruck"
            country hasvalue austria
      
      instance frankfurt memberOf city
            name hasvalue "Frankfurt"
            country hasvalue germany
                              
      instance boston memberOf city
            name hasvalue "Boston"
            country hasvalue usa
            
      instance massachusetts memberOf state
            name hasvalue "Massachusetts"
            country hasvalue usa