Bachelorarbeit - Shark Framework · 08.04.2019 geosparql 13 rdf strdf sparql stsparql geosparql lod...

Preview:

Citation preview

08.04.2019 Gires Ntchouayang Nzeunga

BachelorarbeitInstallation eines GeoSPARQL Endpunkts für OHDM

2GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Open Historical Data Map

• Semantic Web• Linked Open Data• RDF*• GeoSPARQL

• Semantic Web• Linked Open Data• RDF*• GeoSPARQL

TripleStore

GeoSPARQLEndpunkt

SP

AR

QL

Pro

toko

ll+

Geo

SP

AR

QL

Erw

eite

rung GeoSPARQL

Abfrage

GeoSPARQLErgebnis

3GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Semantic Web

Wissensrepräsentation

Ontologien

Logik

Inferenz

Web of Data

RDF

SPARQL

OWL

4GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

RDF Resource Description Framework

Subjekt ObjektPrädikatRDF Triple

RDF Graph Menge von RDF Triples

IRI, Literals, Blank Nodes

RDF Syntax

RDF Schema

Datenmodellierung

OWL Web Ontology Language

5GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

SPARQL

SELECT *WHERE { ?s ?p ?o .}

Die Abfragesprache für RDF

6GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Linked Open Data

1. URIs als Namen für Dinge benutzen

2. HTTP URIs benutzen, so dass diese Namen nachgeschlagen werden können

3. Wenn jemand ein URI nachschlägt, nützliche Informationen liefern

4. Links zu anderen URIs beifügen, so dass der User weitere Dinge entdecken kannVertrauen

7GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

GeoSPARQL

Query Rewrite

RDFS Entailment

Geometry Topological Vocabulary

Core

Geometry Topology

RDF*, OWL

Ontologie für Geodaten und Erweiterung von SPARQL

8GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Core GeoSPARQL

geo:SpatialObject a rdfs:Class

geo:Feature a rdfs:Class

Hauptklassen für Geodaten

9GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Topological VocabularyGeoSPARQL

equals, disjoint, intersects, touches, within, contains,overlaps, crosses

Topologische Beziehungen

10GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Geometry GeoSPARQL

geo:Geometry a rdfs:Class

geo:asWKT a rdf:Property

Klassen und Eigenschaften für Geometrien

geo:hasGeometry a rdf:Property

geo:wktLiteral a rdfs:Datatype

Nicht topologische Funtionen

geof:distance (geom1: geo:geomLiteral, geom2: geo:geomLiteral,units: xsd:anyURI): xsd:double

11GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Geometry Topology:

GeoSPARQL

Topologische AbfragefunktionenTopologische Abfragefunktionen

- Basiert auf die topologischen Beziehungen- Basiert auf die topologischen Beziehungen

Query Rewrite: AbfragetransformationAbfragetransformation

- Nutzt die topologischen Beziehungen und Funktionen- Nutzt die topologischen Beziehungen und Funktionen

12GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Das OHDM-Datenmodell

external_users

iduseridusernameexternal_system_id

classification

idclasssubclassname

geoobject

idname

geoobject_geometry

idid_targetid_geoobject_sourceroleclassification_idvalid_sincevalid_untilsource_user_id

lines

idline

points

idpoint

polygons

idpolygon

13GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

R2RML

id point

1 0101000020E6100000E534FA87E3632A402379F87CDE374A40

2 0101000020E61000004FC532A259A22A406D3997E2AA474A40

<http://ohm.f4.htw-berlin.de/geometry/point1> rdf:type ogc:Geometry .<http://ohm.f4.htw-berlin.de/geometry/point2> rdf:type ogc:Geometry .

<http://ohm.f4.htw-berlin.de/geometry/point1> ogc:asWKT "POINT(13.1950953 52.4364773)"^^ogc:wktLiteral .<http://ohm.f4.htw-berlin.de/geometry/point2> ogc:asWKT "POINT(13.3170901 52.5599025)"^^ogc:wktLiteral .

RDB to RDF Mapping Language

Geotriples

Sparqlify

D2RQ

14GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

W3C R2RML

<#TriplesMap1> rr:logicalTable [ rr:sqlQuery """

SELECT ID, ST_ASTEXT(POINT) POINT FROM BERLIN.POINTS LIMIT 2 """ ]; rr:subjectMap [

rr:template "http://ohm.f4.htw-berlin.de/geometry/point{ID}"; rr:class geo:Geometry

]; rr:predicateObjectMap [

rr:predicate geo:asWKT; rr:objectMap [ rr:column "POINT"; rr:datatype ogc:wktLiteral ];

].

Geotriples

<http://ohm.f4.htw-berlin.de/geometry/point1> rdf:type ogc:Geometry .<http://ohm.f4.htw-berlin.de/geometry/point2> rdf:type ogc:Geometry .

<http://ohm.f4.htw-berlin.de/geometry/point1> geo:asWKT "POINT(13.1950953 52.4364773)"^^ogc:wktLiteral .<http://ohm.f4.htw-berlin.de/geometry/point2> geo:asWKT "POINT(13.3170901 52.5599025)"^^ogc:wktLiteral .

15GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

D2RQ ML

map:berlin_classification_class a d2rq:ClassMap;d2rq:dataStorage map:database;d2rq:uriPattern "@@berlin.classification.class@@";d2rq:class rdfs:Class;d2rq:classDefinitionLabel "berlin.classification";.

map:berlin_classification_subclass_parent a d2rq:PropertyBridge;d2rq:belongsToClassMap map:berlin_classification_subclass;d2rq:property rdfs:SubClassOf;d2rq:uriPattern "@@berlin.classification.class@@";.

D2RQ

<http://ohdm.f4.htw-berlin.de/national_park> rdfs:SubClassOf <http://ohdm.f4.htw-berlin.de/boundary> .<http://ohdm.f4.htw-berlin.de/boundary> rdf:type rdfs:Class .

16GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Sparqlify ML

Sparqlify

Create View ohdm_points As Construct { ?p a geo:Geometry . ?p geo:asWKT ?g . } With ?p = uri(concat(ohdm:point, ?id)) ?g = typedLiteral(?point, geo:wktLiteral) From [[SELECT ID, ST_ASTEXT(POINT) FROM BERLIN.POINTS LIMIT 2]];

<http://ohm.f4.htw-berlin.de/geometry/point1> rdf:type ogc:Geometry .<http://ohm.f4.htw-berlin.de/geometry/point2> rdf:type ogc:Geometry .

<http://ohm.f4.htw-berlin.de/geometry/point1> geo:asWKT "POINT(13.1950953 52.4364773)"^^ogc:wktLiteral .<http://ohm.f4.htw-berlin.de/geometry/point2> geo:asWKT "POINT(13.3170901 52.5599025)"^^ogc:wktLiteral .

17GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

GeoSPARQL Triplestores

• Parliament

• Strabon

• OpenLink Virtuoso

18GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Open Historical Data Map

Class

Property

Subclass

Classification

a rdf:Property .a owl:ObjectProperty .rdfs:domain ?Domain .rdfs:range ?Range .

a owl:Class .rdfs:subClassOf ?OhdmClass .

a owl:Class .rdfs:label ?ClassLabel .

19GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Open Historical Data Map

Punkte

OHDM-User

LinienGeometrien

owl:sameAs ?ExternalUserRef .

a geo:Geometry .geo:asWKT ?WKTSerial .

Polygon

20GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

Open Historical Data Map

Geoobject

a geo:Feature .a ?OhdmClass .?OhdmProperty ?subclass .rdfs:label ?FeatureLabel .dcterms:contributor ?OhdmUser .wgs:long ?Feature_X-Position .wgs:lat ?Feature_Y-Position .geo:hasGeometry ?OhdmGeometry .ohdm-o:validSince ?ValidSinceDate .ohdm-o:validUntil ?ValidUntilDate .

21GeoSPARQL08.04.2019

RDF

stRDF

SPARQL

stSPARQL

GeoSPARQL

LOD

RDFS

OWL

5-Sterne Datenmodell* Verfügbar im Netz, unter Kostenfreie Lizenz

**Strukturiert und Maschinenlesbar

*** Keine Verwendung von proprietäre Formate

**** Verwendung offener Standards (RDF*, URI)

***** Mit anderen Daten verlinkt

Recommended