Graph Meets Geo

September 26th, 2016

Wouter Beek (wouter@triply.cc)

The newest tool in town

Semantic Search Engine


Ilievski & Beek & Van Erp & Rietveld & Schlobach, ‘LOTUS: Adaptive Text Search for Big Linked Data’, ESWC 2016.

lodsearch.org

Graph + Geo

Challenges we face

1. Standardization ongoing…

2a. Representation : uniform

            
              entity:y wgs84:lat  "51.35"^^xsd:float ;
                       wgs84:long "5.46"^^xsd:float  .
            
          

Everything WKT:

              
                POINT(5.46 51.35)
              
            

2a. Representation: uniform & simple

            
              entity:x geosparql:defaultGeometry _:1                .
              _:1      geosparql:asWKT           "POLYGON((…))"     ;
                       rdf:type                  geosparql:Geometry .
            
          
            
              entity:x def:geometry "POLYGON((…))"^^def:polygon .
            
          
            
              ?x def:geometry ?y FILTER (datatype(?y) = def:polygon)
            
          

2b. Representation: ‘hidden’ relations

BU00030002

              
                buurt:00030002 rdf:type        def:Buurt      .
                gemeente:0003  geof:sfContains wijk:000300    ;
                               rdf:type        def:Gemeente   .
                wijk:000300    geof:sfContains buurt:00030002 ;
                               rdf:type        def:Wijk       .
              
            

3. Serialization: GeoJSON or JSON-LD?

Geometries can be stored as floating point arrays.

Alas… JSON-LD uses arrays in the object position for abbreviation.

4. Meerdere kennisgrafen → één geïntegreerde kennisgraaf

Één vraag over meerdere datasets

“Werd er in de windermaanden minder gestaakt?”

5. Large-scale + performant querying

“De 25 dichtstbijzijnde monumentale gebouwen uit de 19de eeuw.”

“De 10 dichtstbijzijnde monumentale gebouwen ontworpen door Cuypers.”

5a. GeoSPARQL in triple store

  • Antwoord tijd >5 sec.
  • Ingeschatte antwoord tijd: >300 sec.
  • Geeft alle resultaten in 1 keer terug
  • Geïntegreerd met graaf queries
  • Geen Open Source implementaties
  • Zelfs closed source implementaties zijn zeer onvolledig

live

5b. Solr/Lucene

  • Antwoord tijd ~10 ms
  • Geeft resultaten incrementeel terug
  • Open Source
  • Niet geïntegreerd met met graaf queries

live

5c. SotA GIS libraries

  • Antwoord tijd ~6 ms
  • Ondersteuning voor alle veelvoorkomende geo-queries (intersectie, proximiteit, bevat).
  • Geeft resultaten incrementeel terug
  • Geïntegreerd met graaf queries

live

Thank you!

Mail: w.g.j.beek@vu.nl

WWW: wouterbeek.com

Triply: triply.cc