Representation, Querying and Visualisation of Linked ...!3 Why Spatial (and Temporal) Data? •...
Transcript of Representation, Querying and Visualisation of Linked ...!3 Why Spatial (and Temporal) Data? •...
Representation,QueryingandVisualisationofLinkedGeospatialData
KonstantinaBeretaandGeorgeStamoulis
RoDTutorialOctober4,2018
Outline
• Introduction• Previousrelatedresearchinotherareas• Motivation• ExtensionsofRDFandSPARQLfortherepresentationandqueryingofgeospatialdata
• Geospatialdescriptionlogicsandgeospatialontology-baseddataaccesssystems
• Implementedsystems,evaluationandcomparison• Visualisationoflinkedgeospatialdata• Openissues
!3
WhySpatial(andTemporal)Data?
• Spatialandtemporaldataareveryimportantinreality:Everythingthathappens,happenssometime,somewhere.
• Decisionmakingcanbesubstantiallyimprovedifweknowwhenandwherethingstakeplace.
• Thistutorialisforthe“where”.
PreviousResearch
!5
GeographicInformationSystems(GIS)Research• LotsofinterestingtheoreticalandpracticalworkbyGISresearchers.
• Topicscovered:– Geographicdataandtheirrepresentation– Geographicdatamodellingandgeographicdatabases
– GISsoftware– Cartographyandmapproduction– Spatialdataanalysisanddecisionmaking– GeospatialdataontheWeb
!6
GeographicInformationSystemsResearch(cont’d)• Industrialimpact:– LotsofrelevantstandardsbytheOpenGeospatialConstortium(OGC).
– State-of-the-artGISsoftwaree.g.,ArcGISorQGIS.
!7
GeographicInformationSystemsResearch(cont’d)• Educationalimpact:– Relevantideashavefoundtheirwayinwell-knownGISbooks.
!8
SpatialDatabaseResearch
• Lotsofinterestingtheoreticalandpracticalworkbydatabaseresearchers.
• Topicscovered:– Datamodelsandquerylanguages– Storagestructuresandindexingtechniques– Queryprocessing– Userinterfaces– Implementedsystems– Applications
!9
SpatialDatabaseResearch(cont’d)
• Industrialimpact:– TheOGCstandard“OpenGISSimpleFeatureAccess-Part
2:SQLoption”introducedgeospatialdatainSQLin2010.– Spatiallyenableddatabases(e.g.,PostGIS,OracleSpatial,
Spatialite).
!10
SpatialAIResearch
• LotsofinterestingtheoreticalandpracticalworkbyArtificialIntelligenceresearchers.
• Topicscovered:– Spatiallogics– Spatialconstraintnetworks– Implementedsystems– Applications– ContributionstootherAIresearchareaslikeplanningandcommonsensereasoning
Motivation
!12
GeospatialDataontheWeb
• Verypopularandusefulmapsoftware.
!13
OpenGovernmentData
!14
LinkedGeospatialData-OrdnanceSurvey(UnitedKingdom)
!15
LinkedGeospatialData-Kadaster(TheNetherlands)
!16
OpenStreetMap
!17
http://www.linkedopendata.gr
!18
LODCloud(Aug.2014):LotsofGeospatialData
!19
LODCloud(Aug.2017):LotsofGeographyData
GeospatialExtensionsofRDFandSPARQL
!21
Overview
• Earlypapers:– Kolas(2007)– Perry’sPhDdissertation(2008)– KoubarakisandKyzirakos(2010)
• Morerecentproposals:– TheOGCstandardGeoSPARQL(2012)– ThedatamodelstRDF/stSPARQL(2012)– TheframeworkRDFi(2013)
!22
GeoSPARQLandstRDF/stSPARQL
• Thetwoproposalsofferconstructsfor:– Developingontologiesforspatialandtemporaldata
– EncodingspatialandtemporaldatathatusetheseontologiesinRDF
– ExtendingSPARQLtoqueryspatialandtemporaldata
• TemporaldataiscoveredonlybystRDF/stSPARQL
!23
[PerryandHerring,2012]GeoSPARQL
GeoSPARQLisanOGCstandard.Mainfunctionalities:• RepresentinggeospatialinformationisdoneusinghighlevelontologiesinspiredfromGISterminology
• Geometriesarerepresentedusingliteralsofspatialdatatypes
• LiteralsareserializedusingOGCstandardsWKTandGML
• Familiesoffunctionsareofferedforqueryinggeometries
Core
Topology VocabularyExtension
- relation family
Geometry Extension - serialization - version
Geometry TopologyExtension
- serialization - version - relation family
Query Rewrite Extension
- serialization - version - relation family
RDFS Entailment Extension
- serialization - version - relation family
Parameters• Serialization
• WKT• GML
• RelationFamily• SimpleFeatures• RCC-8• Egenhofer
GeoSPARQLComponents
!25
GeoSPARQLCore
• Definestwotoplevelclassesthatcanbeusedtoorganizegeospatialdata
!26
GeoSPARQLGeometryExtension
• Providesvocabularyforassertingandqueryingdataaboutthegeometricattributesofafeature
!27
gag:Olympia
rdf:type gag:MunicipalCommunity; gag:name "Ancient Olympia"; gag:population "184"^^xsd:int; geo:hasGeometry ex:polygon1.
ex:polygon1
rdf:type geo:Geometry; geo:asWKT "http://www.opengis.net/def/crs/OGC/1.3/CRS84 POLYGON((21.5 18.5,23.5 18.5,
23.5 21,21.5 21,21.5 18.5))" ^^sf:wktLiteral.
Example
AncientOlympia
!28
GeoSPARQLGeometryExtension(cont’d)Thefollowingnon-topologicalqueryfunctionsfromthe“OpenGISSimpleFeatureAccess”standardarealsooffered:
▪ geof:distance ▪ geof:buffer ▪ geof:convexHull ▪ geof:intersection ▪ geof:union ▪ geof:difference ▪ geof:symDifference ▪ geof:envelope ▪ geof:boundary
!29
SELECT ?r ?cWHERE { ?r rdf:type clc:Region; geo:hasGeometry ?rGeom; clc:hasCorineLandCover ?f. ?f rdfs:subClassOf clc:Forest. ?c rdf:type gag:MunicipalCommunity; geo:hasGeometry ?cGeom. FILTER(geof:distance(?rGeom,?cGeom,uom:metre) < 1000)}
Findforestsnearmunicipalcommunities.
ExampleQuery
!30
GeoSPARQLGeometryTopologyExtension(cont’d)Thefollowingtopologicalqueryfunctionsfromthe“OpenGISSimpleFeatureAccess”standardareoffered:
▪ geof:sfEquals ▪ geof:sfDisjoint ▪ geof:sfIntersects ▪ geof:sfTouches ▪ geof:sfCrosses ▪ geof:sfWithin ▪ geof:sfContains ▪ geof:sfOverlaps
!31
SELECT ?r ?cWHERE { ?r rdf:type clc:Region; geo:hasGeometry ?rGeom; clc:hasCorineLandCover ?f. ?f rdfs:subClassOf clc:Forest. ?c rdf:type gag:MunicipalCommunity; geo:hasGeometry ?cGeom. FILTER(geof:sfTouches(?rGeom,?cGeom))}
Findforeststhatbordermunicipalcommunities.
ExampleQuery
!32
GeoSPARQLGeometryTopologyExtension(cont’d)• Thepreviousfamilyoffunctionsarebasedonthe
DE-9IMmodelstudiedbyClementiniandFelice.
• Similarly,thefamilyoffunctionsintheEgenhofer
andRCC-8frameworksareoffered.
!33
GeoSPARQLTopologyVocabularyExtension• Thisextensionisusedforrepresentingtopologicalinformationabout
features.• Topologicalinformationisinherentlyqualitativeanditisexpressedin
termsoftopologicalrelations(e.g.,containment,adjacency,overlapetc.).
• Topologicalinformationcanbederivedfromgeometricinformationoritmightbecapturedbyassertingexplicitlythetopologicalrelationsbetweenfeatures.
!34
TopologicalRelations
• The topological relations of the “OpenGIS Simple Feature Access” standard are offered.
!35
TopologicalRelations(cont’d)
• Similarly,thetopologicalrelationsoftheEgenhofer
andtheRCC-8framework.
• GeoSPARQLoffersusvocabularyforexpressingthese
topologicalrelationsinthedatabaseandthequeries.
gag:Olympia rdf:type gag:MunicipalCommunity.
gag:OlympiaMunicipality rdf:type gag:Municipality.
gag:WesternGreece rdf:type gag:Region.
gag:Olympia geo:sfWithin gag:OlympiaMunicipality. gag:OlympiaMunicipality geo:sfWithin gag:WesternGreece.
!36
Example
!37
Findthemunicipalitythatcontainsthecommunityof
AncientOlympia.
SELECT ?m
WHERE {
?m rdf:type gag:Municipality.
?m geo:sfContains gag:Olympia.
}
QueryI
!38
gag:OlympiaMunicipality
Answer
!39
FindtheregionofGreecethatcontainsthecommunity
ofAncientOlympia.
SELECT ?m
WHERE {
?m rdf:type gag:Region.
?m geo:sfContains gag:Olympia.
}
QueryII
!40
gag:WesternGreece
Answer
!41
QueryII(cont’d)
• TheanswertoQueryIIcanbecomputedbyreasoningaboutthetransitivityofrelationgeo:sfContains.
• TheGeoSPARQLstandarddoesnotcoversuchentailedtopologicalrelationsbetweenspatialobjects.Isthisaproblem?
!42
73,546,231 triples
AdministrativeGeographyofGreatBritain
!43
9,896,532triples
GlobalAdministrativeAreas(GADM)
!44
316,246triples
NomeclatureofTerritorialUnitsforStatistics(NUTS)
PendingExtensioninschema.org
• Topologicalrelationsbetweenplacesinschema.org
!46
KnowledgeGraphswithGeospatialInformation• Current extension of Yago2 with geospatial
information including topological relations between geo-entities.
TheQueryRewriteExtension
• Enablesthetranslationofqualitativetopologicalinformationappearinginaquerytoquantitative.
• Thisisdonebyrewritingofquerieswithtriplepatternsinvolvingtopologicalrelationsintoquerieswithtopologicalfunctionsongeometries.
• TherewritingisbasedonasetofRIFrulesdefinedinthestandard.
TheRDFSExtension
• EnablesstandardRDFSreasoningforGeoSPARQLclassesandproperties.
!49
[Kyzirakos,Karpathiotakis&KoubarakisISWC2012]TheDataModelstRDF
• AnextensionofRDFfortherepresentationofgeospatialinformationthatchangesovertime.
• Geospatialdimension:– Spatialdatatypesareintroduced.– Geospatialinformationisrepresentedusingspatialliterals
ofthesedatatypes.– OGCstandardsWKTandGMLareusedfortheserialization
ofspatialliterals.• Temporaldimension• Proposedindependentlyandaroundthesametimeas
GeoSPARQL(startingwithanESWC2010paperbyKoubarakisandKyzirakos).
• ItisanextensionofSPARQL1.1• Itoffersfamiliesoffunctionsforqueryinggeometries.The
samefunctionsasintheGeometryExtensionandGeometryTopologyExtensionofGeoSPARQL.
• Inadditionthefollowingspatialaggregatefunctionsareoffered:
• Temporaldimension(notcoveredinthistutorial.SeetheESWC2013byBereta,SmerosandKoubarakis).
!50
strdf:geometry strdf:union(set of strdf:geometry A) strdf:geometry strdf:intersection(set of strdf:geometry A) strdf:geometry strdf:extent(set of strdf:geometry A)
TheQueryLanguagestSPARQL
GeoSPARQLvs.stSPARQL Core
Topology VocabularyExtension
- relation family
Geometry Extension - serialization - version
Geometry TopologyExtension
- serialization - version - relation family
Query Rewrite Extension
- serialization - version - relation family
RDFS Entailment Extension
- serialization - version - relation family
sSPARQL
ExampleofstSPARQLComputethepartsofburntareasthatlieinconiferousforests.
SELECT ?burntArea (strdf:intersection(?baGeom,
strdf:union(?fGeom)) AS ?burntForest)
WHERE { ?burntArea rdf:type noa:BurntArea;
strdf:hasGeometry ?baGeom.
?forest rdf:type clc:Region;
clc:hasLandCover clc:ConiferousForest;
strdf:hasGeometry ?fGeom.
FILTER (strdf:intersects(?baGeom,?fGeom)) }
GROUP BY ?burntArea ?baGeom
Geospatialdescriptionlogicsandgeospatialontology-baseddataaccess
Motivation
• PublishingdataasRDFandcorrelatingthemwithlinkedgeospatialdataisuseful
• Challenges:– Domainexperts(earthscientists,geologists,etc.)anddomain
specificapplicationsheavilyrelyongeospatialdatabases
– Originaldataarestoredinthem
– ConversiontoRDFisnotalwayspractical• Frequentupdates
• Largedatasets
• Differenttoolsneedtobeused
Domainexperts☹
�54
RepresentingGeospatialInformationinDescriptionLogics• UseOWL-DL[Katzetal.2005]• Defineaspatialconcrete-domainDL
– [LutzandMilisic,2007]– [ÖzçepandMöller,2012]
• UseOWLandaspatialABOX– RacerPro[Wessel-Möller,2009]– PelletSpatial[StockerandSirin,2009]– [Grütteretal.,2008]
• KeywordqueriesoverspatialOBDAsources[Eiteretal.2013]• Spatialontology-mediatedqueryansweringovermobilitystreams
[Eiteretal.2017]
GeospatialOntology-basedDataAccess
• GeospatialRDB2RDFsystems:GeoTriples,TriplesGeo
• Mappinglanguages:R2RML(W3Cstandard),OBDA • OBDAsystems:– Ontop[Rodriguez-Muroetal.,JWS’15]– Ultrawrap[Sequedaetal.,JWS’13]
• GeospatialOBDAsystems:– Ontop-spatial[Bereta&Koubarakis,ISWC’16]– OracleSpatialandGraph12crelease2
�56
OBDAMappings[MappingDeclaration][[mappingIdgag_geometry
targetgag:geometry/{gid}/gag:asWKT{geo}^^geo:wktLiteral.
sourceselectdistinctgid,geomfromgag
mappingIdclc_geometry
Targetclc:/{gid}/clc:hasGeometryclc:/geometry/{id}/.clc:/{gid}/clc:asWKT{geom}^^geo:wktLiteral.
sourceselectdistinctgid,geomfromclc
mappingIdclc_id
targetclc:/{gid}/clc:hasID{gid}.clc:/{gid}/clc:hasLandUse{code_00}.
sourceselectdistinctgid,geom,code_00fromclc
mappingIdclc_type
targetclc:/{gid}/clc:typeclc:type.clc:/{gid}/rdf:typeclc:Area.
sourceselectdistinctgid,geomfromclc]]
R2RMLexample
[arr:TriplesMap;
rr:logicalTable[arr:R2RMLView;
rr:sqlQuery"selectdistinctgid,geomfromgag"];rr:predicateObjectMap[arr:PredicateObjectMap;
rr:objectMap[arr:ObjectMap,rr:TermMap; rr:column"geo";
rr:termTyperr:Literal]; rr:predicateclc:asWKT];
rr:subjectMap[arr:TermMap,rr:SubjectMap; rr:templategag:{gid};rr:termTyperr:IRI]].
VirtualTriples
clc:20440rdf:typegeo:Geometry;geo:asWKT“POLYGON(…)”^^geo:wktLiteral.Clc:20512rdf:typegeo:Geometry;geo:asWKT“POLYGON(…)”^^geo:wktLiteral.…
ExampleGeoSPARQLquerySelectCORINEareas,theirlanduseandtheadministrativedivisiontheybelongto.
PREFIXgeo:<http://www.opengis.net/ont/geosparql#>PREFIXgag:<http://geo.linkedopendata.gr/gag/ontology/>PREFIXclc:<http://geo.linkedopendata.gr/corine/ontology#>
SELECTDISTINCT?x1?x2?luWHERE{?x1geo:asWKT?g1.?x2geo:asWKT?g2.?x2clc:hasLandUse?lu.FILTER(geof:sfIntersects(?g1,?g2))}
GeoSPARQL-to-SQLtranslationGeoSPARQL query
Datalog spatially-enabled program
Spatial SQL query
Geospatial DBMS
….
SELECT ?x1 ?x2 WHERE{ ?x1 geo:asWKT ?g1 . ?x2 geo:asWKT ?g2 . FILTER (geof:sfOverlaps(?g1,?g2)) }
SELECT?x1?x2WHERE{?x1geo:sfOverlaps?x2}
OR
�61
GeoSPARQL-to-SQLtranslationGeoSPARQL query
Datalog spatially-enabled program
Spatial SQL query
Geospatial DBMS
….
ans1(x1,g1) :- ans2(g1,g2,x1,x2)ans2(g1,g2,x1,x2) :- ans4(g1,g2,x1,x2), SF-OVERLAPS(g1,g2)ans4(g1,g2,x1,x2) :- ans8(g1,x1), ans9(g2,x2)ans8(g1,x1) :- http://www.opengis.net/ont/geosparql#asWKT(x1,g1)ans9(g2,x2) :- http://www.opengis.net/ont/geosparql#asWKT(x2,g2)
�62
GeoSPARQL-to-SQLtranslationGeoSPARQL query
Datalog spatially-enabled program
Spatial SQL query
Geospatial DBMS
….
SELECT *FROM (SELECT DISTINCT 1 AS "x1QuestType", ... 10 AS "g1QuestType", NULL AS "g1Lang", CONCAT('<http://www.opengis.net/def/crs/EPSG/0/4326> ' , ST_AsText(QVIEW2."strdfgeo")) AS "g1" FROM geo_values QVIEW1,geo_values QVIEW2WHERE (ST_Overlaps(QVIEW2."strdfgeo",QVIEW1."strdfgeo")) ANDQVIEW1."id" IS NOT NULL ANDQVIEW1."strdfgeo" IS NOT NULL ANDQVIEW2."id" IS NOT NULL ANDQVIEW2."strdfgeo" IS NOT NULL) SUB_QVIEW
�63
ExampleGeoSPARQLQuery
PREFIXgag:<http://geo.linkedopendata.gr/gag/ontology/>PREFIXclc:<http://geo.linkedopendata.gr/corine/ontology#>
SELECTdistinct?x1?luWHERE{ ?x1geo:asWKT?g1. ?x2geo:asWKT?g2. ?x2clc:hasLandUse?lu. FILTER(geof:sfIntersects(?g1,?g2))}
RasterDataSources[[mappingIdchicago
target:{rid}rdf:type:rasterCell;:hasGeometry{rast}.
sourceselectrid,rastfromchicago;
mappingIdgadm
target:{id_0}rdf:type:AdministrativeDivision;geo:hasGeometry:{gid}.
:{gid}geo:asWKT{geom}^^geo:WKTLiteral.
sourceselect*fromusa_adm2]]
DatasourcesCHICAGO[rid|rast]
USA_ADM2[gid|id_0|iso|name_0|id_1|name_1|id_2|name_2|geom]
GeoTIFFimageofChicagoimportedinPostGISastable(rastergeometries)
ShapefiledescribingUSAadministrativedivisionsandboundaries(vectorgeometries)
ExampleQueryRetrieveadministrativedivisionsthatintersectwithrastercellsoftheGeoTIFFimageofChicago.
SELECT?admWHERE{?rrdf:type:rasterCell.?r:hasGeometry?rast.?admrdf:type:AdministrativeDivision.?admgeo:hasGeometry?g.?ggeo:asWKT?geom.FILTER(geof:sfIntersects(geom,rast))
Vectorgeometrieswillbebound
Rastergeometrieswillbebound
Implementedsystems,evaluationandcomparison
Strabon(ISWC2012,ESWC2013)
stRDFgraphs
stSPARQL/ GeoSPARQL
queries
WKT GML
Findmoreat:http://strabon.di.uoa.gr
Strabon-Geospatialfeatures
Supportfor:• stRDFandstSPARQL• GeoSPARQL(core,geometryextension,geometrytopologyextension)
• MultipleCoordinateReferenceSystems(CRS)• BuildsonSesameRDBMS• Geospatialrelationaldatabaseasback-end(PostGIS,MonetDB)
• R-treeindex
Parliament• DevelopedbyRaytheonBBNTechnologies(DaveKolas).Availableat:http://www.parliament.semwebcentral.org/
• FirstGeoSPARQLimplementation.Supports:– Core– Topologyvocabulary– Geometry– GeometryTopology– RDFentailment– MultipleCRS– R-treeindex
uSeekM
SpatialpluginforSesamebyOpenSahara.Supports:• GeoSPARQL– Core– TopologyVocabulary– Geometry– GeometryTopology– RDFSentailment
• NomultipleCRS.OnlyWGS84• Opensource(Apachev2.0).Availableat:https://dev.opensahara.com/projects/useekm
GraphDB
• DevelopedbyOntotext.FormerOWLIM.• GeoSPARQLsupport• ApacheLuceneindex• Closedsource.Availableat:https://ontotext.com/products/graphdb/editions/
Allegrograph
• QuadstoredevelopedbyFranzInc• Closedsource.Availableathttp://www.franz.com/agraph/allegrograph/
• NoGeoSPARQLsupport• Supportsonlypoints• Onlyafewspatialoperationssupported(Buffer,BoundingBox,Distance)
OpenLinkVirtuoso
• DevelopedbyOpenLink.Availableat:http://virtuoso.openlinksw.com/Supports:
• NoGeoSPARQL• Pointsonly– Serializedastypedliterals
• Spatialoperations(subsetofSQL/MM)• MultipleCRS• R-tree
Stardog
• LimitedGeoSPARQLsupport:– WKTliterals.Nativesupportforpoints.UseofJTSlibraryforpolygons
– Operatorsgeof:relate,geof:distance,geof:within,geof:nearby,geof:area
– Geospatialfeaturesonlyofferedinenterpriseedition
Brodtetal.
• BuiltontopofRDF-3XbyUniversityofStuttgart• NoGeoSPARQLsupport• GeometriesrepresentedastypedWKTliterals• OnlyWGS84supported• OGC-SFAspatialoperationsasSPARQLfilterfunctions• R-treesupported(butonlyusedforspatialselections)
PerryPhDthesis
• ImplementationontopofOracle10gbyWrightStateUniversity
• SupportforSPARQL-ST• GeoRSSGMLserializationofgeometries• Spatialandtemporalvariables• Spatialandtemporalfilters(RCC8,Allen)• R-treesupport
OraclespatialandGraph
• DevelopedbyOracle• GeoSPARQLsupport• CRSsupport• RecentlyaddedsupportforvirtualRDFgraphs(asofOracleSpatialandGraph12cRelease2)
�79
[ESWC2016,ISWC2016]
http://ontop-spatial.di.uoa.gr
Architectureoverview(extendingOntop)
Evaluation
GeographicaBenchmark
• Evaluationofthestate-of-the-artgeospatialRDFstores[Garbisetal.,ISWC2013]– Realworkload– Syntheticworkload
• Stressesallrecentsystemsinheavilyspatialqueriesandworkload.
• OpensourceJavaframeworkavailableathttp://geographica.di.uoa.gr
Realworkload
Dataset Size #triples #geometries #points per geometry (avg)
Geonames 45MB 400K 22000 1
DBpedia 89MB 430K 8000 1
LGD 29MB 150K 12000 1
GAG 33MB 4K 325 400
CLC 401MB 630K 45000 140
Hotspots 90MB 450K 37000 4
Executiontimesinrealworkload
Nontopologicalconstructfunctions
Spatialselections
Spatialjoins
Aggregatefunctions
Addingsystemswithlimitedgeospatialfunctionalities
GeospatialRDFstoresvsOBDA
Dataset Table Size No. of rows/
geometries
Avg #points/ geometry
Corine Land Cover (CLC)
283MB 44834 187.84
Hotspots 35 MB 37048 5
Global Administrative Geography (GAG)
24 MB 326 3020.14
OSM-Buildings 42 MB 155474 6.5
OSM-Landuse 20 MB 40220 19.4
OSM-places 2.4 MB 13043 1
OSM-points 12 MB 61664 1
OSM-railways 2 MB 4996 13.3
OSM-roads 250 MB 514403 19
OSM-waterways 16 MB 20565 39.84
�87
QueriesHighly
selective query
Poorly selective query
�88
Evaluation
Ontop-spatialStrabonSystemO
Translatedqueries• Strabonquery
• Ontop-spatialquery
�90
Spatialjoinquery6:Strabonqueryexecution
ResultofexplainqueryvisualizedusingPgAdminIII
�91
DBstatisticsforspatialjoin6Strabondbstatistics Ontopdbstatistics
Tablesproducedusinghttps://explain.depesz.com/
�92
Operation(geof:intersects)
Selectivity Geometrytypes
Strabon Ontop-spatial Remarks
SpatialSelection high *(irrelevant) 100msecs 100msecs
SpatialSelection low Point-Polygon 100msecs 100msecs
SpatialSelection low Polygon-Polygon
500msecs 100-200msecs
SpatialJoin high Point-Polygon <1000msecs <1000msecs
SpatialJoin high Polygon-Polygon
100000msecs 100000msecs
SpatialJoin low Polygon-Polygon
>40mins 10mins Sometimesthedifferencehereis
order(s)ofmagnitude
PerformanceEvaluation:Strabonvs.Ontop-spatialona30GBdataset
PerformanceEvaluationandScalabilityofStrabonandOntop-spatial• DefinedandusedthebenchmarkGeographica(http://geographica.di.uoa.gr/).
• StrabonhasbetterperformanceandfunctionalitythanParliament,uSeekM,SystemX,Virtuoso,SystemO,andSystemY(longerversionofISWC2013paper).
• Ontop-spatialhasbetterperformancethanStrabonandSystemO(longversionofISWC2016paper).
Scalability
• StrabonandOntop-spatialcanscaleto100GBofdataandanswerqueriesinmillisecondsifthegeometriesarepointsand/ortheselectivityofthequeryishigh.
• Morecomplexgeometrieshaveanimpactonperformance.
VisualizingTime-EvolvingLinkedGeospatialData
ArchitectureFindmoreat:http://sextant.di.uoa.gr
ThematicMaps
Defini\on:AthemaGcmap isatypeofmapdesignedtoshowapar~cular theme connected with a specific geographic area.These maps can portray physical, social, poli~cal, cultural,economic,sociological,agricultural,oranyotheraspectsofacity,state,region,na~on,orcon~nent.
SPARQL Endpoints Geospatial File Formats+ =
ThematicMaps
MapOntology
MapSharing
SharemapsusingmapURI,ortheloadmapmodal
Map URI: http://<domain>/Sextant/?mapid=<mapID>
TemporalDimension
StrabonDBMSandSIMILETimeline
Implementa~on of he valid ~me component of stRDF andstSPARQL in systemStrabonallowsus toqueryboth the spa~alandthetemporaldimension.Enrichingourresultswithtemporalinforma~onallowsus tocreate layerswithvalid~me.UsingtheSIMILE Timeline widget we can make these layers appear anddisappearfromthemapaccordingtotheirvalid~me.
TemporalDimensionQueryexampleinstSPARQL
PREFIXnoa:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>PREFIXrdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIXstrdf:<http://strdf.di.uoa.gr/ontology#>PREFIXxsd:<http://www.w3.org/2001/XMLSchema#>
SELECTDISTINCT(strdf:transform(?hGeo,<http://www.opengis.net/def/crs/EPSG/0/4326>)as?geometry)?timeWHERE{ ?hrdf:typenoa:Hotspot; noa:hasAcquisitionTime?time; noa:hasGeometry?hGeo.FILTER(?time="2012-07-18T11:30:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>)FILTER(strdf:within(?hGeo,"POLYGON((21.7038.23,21.7038.33,21.9138.33,21.9138.23,21.7038.23));http://www.opengis.net/def/crs/EPSG/0/4326”^^strdf:WKT))}
TemporalDimension
TemporalDimension
TemporalDimension
TemporalDimension
MapMetadata
MapRegistry
Defini\on:Mapregistries,areSPARQLendpointsthatholdallthemap informa~on and metadata to assist us in saving andretrievingthemaps.
PredefinedQueries
QueriesthatarecreatedbyanexpertandarestoresastriplesinaSPARQLendpoint.Non-expertuserscanprovidetheURLoftheendpointandgetalistofthedescriptionsofallthepredefinedqueriesavailable,thenselectoneandvisualizeitonthemap.
PredefinedQueries
StatisticalCharts
Automa~ccrea~onofchartsoveralayer’sa�ribute
StatisticalChartsEnhancementofDatasets
• TheRDFDataCubeVocabulary(W3Crecommendation).
• Definethedimensionsandthemeasuresofthedataset.
• Usetheclassesqb:DimensionProperty,qb:MeasureProperty,and
thepropertyqb:orderfromDataCubetoenhanceourschema.
• ASelf-adjustingquerytocreateallpossiblecharts.
StatisticalCharts
EnhancementofOntologySchema
StatisticalCharts
EnhancementofOntologySchemaqb:DimensionProperty
StatisticalCharts
EnhancementofOntologySchemaqb:MeasureProperty
StatisticalCharts
Self-adjus\ngQuery
StatisticalCharts
Self-adjus\ngQuery
StatisticalCharts
Self-adjus\ngQueryPREFIXrdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIXtf:<http://data.linkedeodata.eu/talking-fields/ontology#>SELECTDISTINCT?RasterCell?hasVigor?hasFertValue?hasCVWHERE{
?Farmrdf:typetf:Farm.?Fieldrdf:typetf:Field.?RasterCellrdf:typetf:RasterCell.?Fieldtf:belongsToFarm?Farm.?RasterCelltf:belongsToField?Field.OPTIONAL{?RasterCelltf:hasVigor?hasVigor.}.OPTIONAL{?RasterCelltf:hasFertValue?hasFertValue.}.OPTIONAL{?RasterCelltf:hasCV?hasCV.}.?Fieldrdf:type?typeField.FILTER(?Field=<http://data.linkedeodata.eu/
talking-fields/000001/Field/id/1154>&&?typeField=tf:Field).
}ORDERBY?RasterCell
StatisticalCharts
Self-adjus\ngQueryPREFIXrdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIXtf:<http://data.linkedeodata.eu/talking-fields/ontology#>SELECTDISTINCT?RasterCell?hasVigor?hasFertValue?hasCVWHERE{
?Farmrdf:typetf:Farm.?Fieldrdf:typetf:Field.?RasterCellrdf:typetf:RasterCell.?Fieldtf:belongsToFarm?Farm.?RasterCelltf:belongsToField?Field.OPTIONAL{?RasterCelltf:hasVigor?hasVigor.}.OPTIONAL{?RasterCelltf:hasFertValue?hasFertValue.}.OPTIONAL{?RasterCelltf:hasCV?hasCV.}.?Fieldrdf:type?typeField.FILTER(?Field=<http://data.linkedeodata.eu/
talking-fields/000001/Field/id/1154>&&?typeField=tf:Field).
}ORDERBY?RasterCell
StatisticalCharts
Self-adjus\ngQueryPREFIXrdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIXtf:<http://data.linkedeodata.eu/talking-fields/ontology#>SELECTDISTINCT?RasterCell?hasVigor?hasFertValue?hasCVWHERE{
?Farmrdf:typetf:Farm.?Fieldrdf:typetf:Field.?RasterCellrdf:typetf:RasterCell.?Fieldtf:belongsToFarm?Farm.?RasterCelltf:belongsToField?Field.OPTIONAL{?RasterCelltf:hasVigor?hasVigor.}.OPTIONAL{?RasterCelltf:hasFertValue?hasFertValue.}.OPTIONAL{?RasterCelltf:hasCV?hasCV.}.?Fieldrdf:type?typeField.FILTER(?Field=<http://data.linkedeodata.eu/
talking-fields/000001/Field/id/1154>&&?typeField=tf:Field).
}ORDERBY?RasterCell
StatisticalCharts
Self-adjus\ngQueryPREFIXrdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIXtf:<http://data.linkedeodata.eu/talking-fields/ontology#>SELECTDISTINCT?RasterCell?hasVigor?hasFertValue?hasCVWHERE{
?Farmrdf:typetf:Farm.?Fieldrdf:typetf:Field.?RasterCellrdf:typetf:RasterCell.?Fieldtf:belongsToFarm?Farm.?RasterCelltf:belongsToField?Field.OPTIONAL{?RasterCelltf:hasVigor?hasVigor.}.OPTIONAL{?RasterCelltf:hasFertValue?hasFertValue.}.OPTIONAL{?RasterCelltf:hasCV?hasCV.}.?Fieldrdf:type?typeField.FILTER(?Field=<http://data.linkedeodata.eu/
talking-fields/000001/Field/id/1154>&&?typeField=tf:Field).
}ORDERBY?RasterCell
StatisticalCharts
ChartOntology
Explore
Explore
�125
Explore
Explore
�127
Describe
�128
Describe
�129
ChangeDetectionService
GreenCity
OpenProblems
OpenQuestions(Theory)
• ThedatacomplexityofqueryprocessingforstSPARQLandGeoSPARQLhasnotbeenstudiedsofar.
• WehavedonesoonlyfortheoriginalstSPARQLproposalbasedonconstraints(ESWC2010).
• Similarlyforotherinterestingproblemssuchasquerycontainmentetc.
• ThefoundationsofOntop-spatialdeservefurtherstudy(comparisonwiththetheoryofspatialdescriptionlogics).
OpenQuestions(Practice)
• Howcanwebuiltan(evenmore)scalablegeospatialRDFstorelikeStrabonontopofApachebigdatatechnologies?– AnalyzedtheprosandconsofusingGeoSpark,SIMBAandSpatialSpark.• GeoSparkseemstobethemostmatureandiscontinuouslybeenimprovedbyitsdevelopers.
• Howcanwehandle1012tripleswith108polygons?(thevolumeofgeospatialdataownedbyanationalcartographicagency)
OpenQuestions(cont’d)
• HowdowerepresentandqueryrasterdataontheSemanticWeb?– RasterextensionofOntop-spatial.– ArraydatabaseextensionofOntop-spatial.–Workon“CoveragesinLinkedData”bytheOGC/W3CSpatialDataontheWebworkinggroup.
Otherrelevantresearchtopicsofinterest• Naturallanguagequeryprocessingforlargegeospatialknowledgebases(e.g.,Yago2).
• Examplequeries:– FindparksinBonnclosetoFraunhoferIAIS.– FindriversthatcrosscitiesofGreeceandtheirlengthismorethan20km.
• CurrentworkinthecontextofWDAqua(AnsweringQuestionsusingWebData,aMarieSklodowska-CurieInnovativeTrainingNetwork,http://wdaqua.eu/).
Thanks!Questions?
Formore,seethewebpageofourgrouphttp://kr.di.uoa.gr.