<<

Smart Points of Interest (SPOI) Data Model

Otakar Čerba

13. 8. 2018

Namespaces

• dc (http://purl.org/dc/elements/1.1/) – Dublin Core • dcterms (http://purl.org/dc/terms/1.1/) – Dublin Core terms • foaf (http://xmlns.com/foaf/0.1/) – Friend of a Friend (FOAF) • geos (http://www.opengis.net/ont/geosparql#) – GeoSPARQL • gn (http://www.geonames.org/ontology#) – GeoNames Ontology • locn (http://www.w3.org/ns/locn) – ISA Programme Location Core Vo- cabulary • poi (http://www.openvoc.eu/poi#) – Specific URI of SPOI data resource1 • rdf (http://www.w3.org/1999/02/22-rdf-syntax-ns#) – Resource Descrip- tion Framework • rdfs (http://www.w3.org/2000/01/rdf-schema#) – Resource Description Framework Schema • skos (http://www.w3.org/2004/02/skos/core#) – Simple Knowledge Or- ganization System • xml (http://www.w3.org/XML/1998/namespace) – Extensible Markup Language

Identifier

Unique identifier of each POI is adopted from original data source (if it is possible) or generated as the combination of URI (http://www.sdi4apps.eu/poi/), data resource prefix (e.g. OSM) and number. Changes: • 2015-09-02 With respect to need of keeping a persistent URI (which is not kept with xsl:generate-id usage during data updating = new data

1The initial version was http://gis.zcu.cz/poi#. The new was established 2015-06-03.

1 transformation) the new ID is generated as the combination of ISO 3166- 1 alpha-2 code, acronym of category of POI according Waze navigation data and both coordinates. • 2015-06-18: The original ID (URI+code) was changed to the more under- standable and readable form composed of URI (http://www.sdi4apps.eu/poi), ISO 3166-1 alpha-2 , category of POI according Waze naviga- tion data and unique code (generated randomly by the XSLT script). All items were separated by _ (underscore character). Example of generated identifier:

Core

• rdfs:label [1..*] • geos:asWKT [1] • rdf:type [1..*] • geos:sfWithin [1..*] rdfs:label

• Description: Name of the POI. One POI can contain more names in different languages (language versions are distinguished by xml:lang attribute and values from ISO 639-1 Language Codes2). • Data type: string (xsd:string) • Multiplicity: 1..* • Comment: In case of more labels in one language there will be necessary to add property skos:prefLabel (or something similar). • Changes: – 2015-09-02 Cardinality was changed from 0..* to 1..* (attribute is mandatory). geos:asWKT

• Description: Coordinates according to GeoSPARQL standard (WKT seri- alization) – longitude latitude. • Data type: literal • Multiplicity: 1 • Changes:

2If it is possible, the xml:lang attribute is added to other properties such as rdfs:comment or dc:title.

2 – 2015-09-10 Due to compatibility with Virtuso was the original form (poi:hasExactGeometry linked to sf:Point) changed to the propo- erty geos:asWKT (without any datatypes etc.). rdf:type

• Description: Category of POI based on SPOI Ontology. This property replaces all previous classification attributes. It uses ontological hierarchical structures. Particular categories were adopted from Waze and OSM, but any other class can be created. • Data type: URI (xsd:anyURI). The types of POIs are in the SPOI Ontol- ogy described by standardized attributes rdfs:label, rdfs:comment and rdfs:isDefinedBy (the last two attributes are optional). • Multiplicity: 1 geos:sfWithin

• Description: Topological relation (Simple Features Topological Relations) to appropriate expressed in DBpedia and GeoNames.org. This property is also used to express any topological relation repsenting the one feature is inside other feature (for example “the church is in the village). • Data type: URI (xsd:anyURI) • Multiplicity: 1..* • Changes: – 2015-05-21: The name of property was corrected from sf-within to sfWithin to keep conformity with GeoSPARQL. Also the namespace was changed to GeoSPARQL.

Feature Metadata

• dc:identifier [1] • dc:publisher [1] • dc:title [1] • dc:rights [1] • dc:source [1..*] • dcterms:created [1] dc:identifier

• Description: Copy of the unique identifier of the object. • Data type: URI (xsd:anyURI)

3 • Multiplicity: 1 • Changes: – 2015-11-12: New attribute was added. dc:publisher

• Description: Publisher of data. • Data type: value “SPOI (hhtp://sdi4apps.eu/spoi)” • Multiplicity: 1 • Changes: – 2015-11-12: New attribute was added. dc:title

• Description: First or the main label of the feature. • Data type: string (xsd:string) • Multiplicity: 1 • Changes: – 2015-11-12: New attribute was added. dc:rights

• Description: Link to the original license of point of interest. Processed data resources are open and compliant with ODbL. • Data type: URI (xsd:anyURI) • Multiplicity: 1 • Changes: – 2015-11-12: New attribute was added. dc:source

• Description: Link to the original data resource (or text string). • Data type: URI (xsd:anyURI) • Multiplicity: 1..* • Changes: – 2015-11-12: New attribute was added. dcterms:created

• Description: Date of adding data to the database. • Data type: date (xsd:date)

4 • Multiplicity: 1 • Changes: – 2015-11-12: New attribute was added.

Extended Description

• rdfs:comment [0..*] rdfs:comment

• Description: Textual description of POI. The property uses xml:lang attribute to distinguish language versions. • Data type: string (xsd:string) • Multiplicity: 0..*

Localization

• poi:secondaryGeometry [0..*] • locn:fullAddress [0..1] • locn:poBox [0..1] • locn:thoroughfare [0..1] • locn:locatorDesignator [0..*] • locn:locatorName [0..1] • locn:addressArea [0..1] • locn:postName [0..1] • locn:adminUnitL2 [0..1] • locn:adminUnitL1 [0..1] • locn:postCode [0..1] • locn:addressId [0..1] poi:secondaryGeometry

• Description: Secondary geometry (including polygons or lines) according to GeoSPARQL standard (WKT serialization). • Data type: literal • Multiplicity: 0..* • Changes: – 2015-11-11: The property was added.

5 locn:fullAddress

• Description: The complete written as a string, with or without formatting. The address contains this property or it composed of following components. Description of full address and address components is adopted from ISA Programme Location Core Vocabulary. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:poBox

• Description: The Post Office Box number. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:thoroughfare

• Description: An address component that represents the name of a passage or way through from one location to another. A thoroughfare is not necessarily a road, it might be a waterway or some other feature. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:locatorDesignator

• Description: A number or a sequence of characters that uniquely identifies the locator within the relevant scope(s). The full identification of the locator could include one or more locator designators. • Data type: literal • Multiplicity: 0..* • Changes: – 2016-03-21 – The property was added.

6 locn:locatorName

• Description: Proper noun(s) applied to the real world entity identified by the locator. The locator name could be the name of the property or complex, of the building or part of the building, or it could be the name of a room inside a building. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:addressArea

• Description: The name or names of a geographic area or locality that groups a number of addressable objects for addressing purposes, without being an administrative unit. This would typically be part of a city, a neighbourhood or village. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:postName

• Description: The key postal division of the address, usually the city. (INSPIRE’s definition is “One or more names created and maintained for postal purposes to identify a subdivision of and postal delivery points.”). • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:adminUnitL2

• Description: The region of the address, usually a county, state or other such area that typically encompasses several localities. The domain of locn:adminUnitL2 is locn:Address and the range is a literal, conceptually defined by the INSPIRE Geographical Name data type. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added.

7 locn:adminUnitL1

• Description: The uppermost administrative unit for the address, almost always a country. The domain of locn:adminUnitL1 is locn:Address and the range is a literal, conceptually defined by the INSPIRE Geographical Name data type. Best practice is to use the ISO 3166-1 code but if this is inappropriate for the context, country names should be provided in a consistent manner to reduce ambiguity. For example, either write ‘’ or ‘UK’ consistently throughout the data set and avoid mixing the two. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:postCode

• Description: The post code (a.k.a , zip code etc.). Post codes are common elements in many countries’ postal address systems. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added. locn:addressId

• Description: The concept of adding a globally unique identifier for each instance of an address is a crucial part of the INSPIRE data spec. • Data type: literal • Multiplicity: 0..1 • Changes: – 2016-03-21 – The property was added.

Contact Information

• foaf:mbox [0..*] • foaf:phone [0..*] • foaf:homepage [0..*] foaf:mbox

• Description: Email to POI or its manager.

8 • Data type: string (xsd:string) • Multiplicity: 0..* • Changes: – 2015-05-21 – Changed from poi:email to standardized relation foaf:mbox. foaf:homepage

• Description: Link to web page of POI. • Data type: URI (xsd:anyURI) • Multiplicity: 0..* • Changes: – 2015-05-21: Changed from poi:www to the standardized relation foaf:homepage. foaf:phone

• Description: Phone number to POI or its manager. Number is stored as plain text (non-specific data type). • Data type: string (xsd:string) • Multiplicity: 0..* • Changes: – 2015-05-21: Changed from poi:phone to the standardized relation foaf:phone.

Tourist information

• poi:openingHours [0..*] • poi:iata [0..1] • poi:access [0..*] • poi:accessibility [0..*] • poi:cuisine [0..*] • poi:internetAccess [0..1] poi:openingHours

• Description: Opening hours of POI (if they are accessible). • Data type: string (xsd:string) • Multiplicity: 0..* • Changes:

9 – 2015-05-21 – Original name poi:opening_hours was changed to keep the convention of naming. – 2015-06-10 – Missing values were completed. – 2015-08-10 – Changed cardinality from 0..1 to 0..* to allow various language versions. poi:iata

• Description: IATA code of the airport. • Data type: string (xsd:string) • Multiplicity: 0..1 • Changes: – 2015-08-12 – Attribute was added to the data model. – 2015-10-21 – This attribute was defined only for the objects SPOI:Airport (rdf:type="airport"). poi:access

• Description: Description of a way of access to the POI. • Data type: string (xsd:string) • Multiplicity: 0..* • Changes: – 2015-08-10 – Changed cardinality from 0..1 to 0..* to allow various language versions. poi:accessibility

• Description: Information on accessibility of POI for handicapped people. • Data type: string (xsd:string) • Multiplicity: 0..* • Changes: – 2015-10-13 – New attribute was added. poi:cuisine

• Description: Characteristics of cuisine in restaurant or bar. • Data type: string (xsd:string) • Multiplicity: 0..* • Changes: – 2015-08-12: Attribute was added to the data model. – 2015-10-21: This attribute was defined only for the objects SPOI:Food (rdf:type="Food_and_drink").

10 poi:internetAccess

• Description: Possibility of Internet connection. • Data type: string (xsd:string) • Multiplicity: 0..1 • Changes: – 2015-08-12: Attribute was added to the data model. – 2015-10-10: The name of this property was changed from internet_access to internetAccess to be compliant with other properties.

Links & Relations

• rdfs:seeAlso [0..*] • skos:exactMatch [0..*] • gn:nearby [0..*] rdfs:seeAlso

• Description: Links to external (non-linked data) resources. Links to , Wikipedia, Wolfram|Alpha, piste maps. But there are also several examples of homepages. • Data type: URI (xsd:anyURI). The rdfs:seeAlso links is extended by these attributes using for annotation of external resources: – rdfs:label [1..*] (name of the external resource) – dc:type (type of the resource adopted from Dublin Core standard) – dc:language [0..1] (language of external data, the value is selected from the controlled vocabulary RFC 4646) – rdfs:comment (more detail description of type of the external docu- ment) – rdfs:comment [0..*] (extended textual description of the external resource) • Multiplicity: 0..* skos:exactMatch

• Description: Links to external linked data resources representing the same objects (POI). Links to DBpedia and/or GeoNames.org. For example all data from GeoNames.org are connected to the original objects. • Data type: URI (xsd:anyURI) • Multiplicity: 0..*

11 gn:nearby

• Description: Topological relation (adopted from GeoNames Ontology) to interconnect close features. • Data type: URI (xsd:anyURI) • Multiplicity: 0..*

Proposals

• New attribute spoiType with values original (a copy of points from external resources), spoi (points collected for SPOI database, for example ontologies, points from Zemgale or parts of students’ projects and final thesis) a combined (points created as a combination of various resources).

Removed Attributes and Namespaces

• geo: (http://www.w3.org/2003/01/geo/wgs84_pos#) – WGS84 Geo Po- sitioning • owl (owl=“http://www.w3.org/2002/07/owl#”) – Web Ontology Language • geo:lat • geo:long • owl:sameAs • poi:address • poi:category • poi:categoryOSM • poi:categoryWAZE • poi:class • poi:email • poi:fax • poi:municipality • poi:photo • poi:phone • poi:region • poi:wikidata • poi:www geo:lat, geo:long

• Changes: – 2015-09-02 – This form of geometry was changed to standardized way based on GeoSPARQL standard.

12 owl:sameAs

• Description: Links to external linked data resources representing the same objects (POI). Links to DBpedia and/or GeoNames.org. For example all data from GeoNames.org are connected to the original objects. • Data type: URI (xsd:anyURI) • Multiplicity: 0..* • Changes: – 2018-01-24 – This property was deleted, because it does not correspond with SPOI needs as well as standards. poi:address

• Changes: – 2016-03-21 – This plain text form of address coding was replaced by the complete system of components of address based on ISA Programme Location Core Vocabulary. poi:category, poi:categoryOSM, poi:categoryWAZE

• Comment: Previous classification systems based on Waze and Open- StreetMap project was replaced by the new property poi:class and later by rdf:type related on the SPOI ontology. • Changes: – 2015-09-02 – The cardinality was changed from 1 to 0..1 (attribute is not mandatory). poi:categoryOSM

• Comment: Previous classification systems based on Waze and Open- StreetMap project was replaced by the new property poi:class and later by rdf:type related on the SPOI ontology. • Changes: – 2015-09-02 – The cardinality was changed from 1 to 0..1 (attribute is not mandatory). – 2015-05-21 – Original name poi:category_osm was changed to keep the convention of naming. poi:categoryWAZE

• Comment: Previous classification systems based on Waze and Open- StreetMap project was replaced by the new property poi:class and

13 later by rdf:type related on the SPOI ontology. • Changes: – 2015-05-21 – Original name poi:category_waze was changed to keep the convention of naming. – 2015-06-09 – The problem of empty values was removed. – 2015-07-08 – The value of the property was linked by URI to the new classification list (vocabulary) in SKOS format. poi:class

• Description: Category of POI based on SPOI Ontology. This property replaces all previous classification attributes. It uses ontological hierarchical structures. Particular categories were adopted from Waze and OSM, but any other class can be created. • Data type: URI (xsd:anyURI). The types of POIs are in the SPOI Ontol- ogy described by standardized attributes rdfs:label, rdfs:comment and rdfs:isDefinedBy (the last two attributes are optional). • Multiplicity: 1..* • Changes: – 2016-08-20 – The start of development of the property (as well as the ontology) and particular data files transformation. poi:email

• Changes: – 2015-05-21 – Changed from poi:email to standardized relation foaf:mbox. poi:fax

• Description: Fax number to POI or its manager. Number is stored as plain text (non-specific data type). • Data type: string (xsd:string) • Multiplicity: 0..* • Changes: – 2018-08-13 – Deleted from the data model. poi:municipality

• Description: Relation (as URI or text) to corresponding municipality. • Data type: URI or string (xsd:anyURI or xsd:string) • Multiplicity: 0..*

14 • Changes: – 2016-02-05 – The property was added. – 2018-01-24 – The attribute was deleted from the data model, because it was not used in real data. The property was replaced by similar properties from ISA Programme Location Core Vocabulary or by a topological relation. poi:phone

• Changes: – 2015-05-21: Changed from poi:phone to the standardized relation foaf:phone. poi:photo

• Description: Links to photo of the POI. • Data type: URI (xsd:anyURI) • Multiplicity: 0..* • Comment: Replaced by the universal attribute rdfs:seeAlso with fitting annotation. • Changes: – 2015-09-24: New attribute was added. poi:region

• Description: Relation (as URI or text) to corresponding region (federal state, district,. . . ). • Data type: URI or string (xsd:anyURI or xsd:string) • Multiplicity: 0..* • Changes: – 2016-02-05 – The property was added. – 2018-01-24 – The attribute was deleted from the data model, because it was not used in real data. The property was replaced by similar properties from ISA Programme Location Core Vocabulary or by a topological relation. poi:wikidata

• Comment: The link to equivalent object in Wikidata was replaced by standardized relations skos:exactMatch and owl:sameAs. • Changes: – 2015-08-12: Attribute was added to the data model.

15 – 2016-10-07: The attribute was replaced by skos:exactMatch and owl:sameAs. poi:www

• Changes: – 2015-05-21: Changed from poi:www to the standardized relation foaf:homepage.

SPOI Ontology

The SPOI Ontology is developed in OWL (Web Ontology Language) with AL (Attributive language) expressivity. The current version contains 290 classes composed to multihierachical structure (Figure ??). The essential structure was adopted from the classification systems used for data in Waze application. The first level of the ontology contains following categories: • culture and entertainment • food and drink • lodging • natural feature • other • outdoor • professional and public • shopping and service • transportation3 The other classes were derived from OpenStreetMap Map Features (combination of values and keys, which is described in rdfs:comment attribute) or created on demand.

3Waze nomenclature contains ten categories originally, but the class car service was included to transportation.

16