@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix locn: <http://www.w3.org/ns/locn#> .

# Vocabulary for the LIDS service documents (Speiser & Harth, "Integrating
# Linked Data and Services with Linked Data Services", ESWC 2011). Each call
# document <route>?<query> relates two hash-URI entities: the input entity
# <…#input> (what the parameters describe) and the output entity <…#output>
# (a vocab:ResultSet whose rdfs:members are the matched addresses at
# addr/{olc}#it).

<vocab#AddressPattern>
    a rdfs:Class ;
    rdfs:label   "address pattern"@en ;
    rdfs:comment "The input entity of a forward-geocoding call <search?{params}#input>: a partial address description, carrying the search parameters as locn: properties (country → locn:adminUnitL1, province → locn:adminUnitL2, city → locn:postName, road → locn:thoroughfare, housenumber → locn:locatorDesignator, postcode → locn:postCode)."@en .

<vocab#Location>
    a rdfs:Class ;
    rdfs:label   "location"@en ;
    rdfs:comment "The input entity of a reverse-geocoding call <reverse?lon=…&lat=…#input>: the WGS84 point, carried as locn:geometry (WKT)."@en .

<vocab#ResultSet>
    a rdfs:Class ;
    rdfs:label   "result set"@en ;
    rdfs:comment "The output entity of a call, <…#output>: the set of matched addresses, one rdfs:member per addr/{olc}#it."@en .

<vocab#output>
    a owl:ObjectProperty ;
    rdfs:label   "output"@en ;
    rdfs:comment "Links a call's input entity to its output entity (the ResultSet)."@en ;
    rdfs:range   <vocab#ResultSet> .

<vocab#olc>
    a owl:DatatypeProperty ;
    rdfs:label   "Open Location Code"@en ;
    rdfs:comment "The address's Open Location Code (plus code, https://maps.google.com/pluscodes/) as returned by GISCO's OL field — a short open-sourced encoding of a small lat/lon cell. Kept as plain data for cross-referencing; it is NOT the address identifier (address URIs are built from the register attributes instead)."@en ;
    rdfs:domain  locn:Address .
