Presentation is loading. Please wait.

Presentation is loading. Please wait.

® OGC GeoSPARQL: Standardizing Spatial Query on the Semantic Web Matthew Perry, Oracle 4th Annual Spatial Ontology Community of Practice Workshop USGS,

Similar presentations


Presentation on theme: "® OGC GeoSPARQL: Standardizing Spatial Query on the Semantic Web Matthew Perry, Oracle 4th Annual Spatial Ontology Community of Practice Workshop USGS,"— Presentation transcript:

1 ® OGC GeoSPARQL: Standardizing Spatial Query on the Semantic Web Matthew Perry, Oracle 4th Annual Spatial Ontology Community of Practice Workshop USGS, Sunrise Valley Drive, Reston VA December 2, 2011

2 OGC ® Agenda About the OGC GeoSPARQL SWG Overview of GeoSPARQL –Use Cases –GeoSPARQL Vocabulary –Query Functions –Entailment Components GeoSPARQL FAQ Future Work 2

3 THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO ANY CONTRACT. IT IS NOT A COMMITMENT TO DELIVER ANY MATERIAL, CODE, OR FUNCTIONALITY, AND SHOULD NOT BE RELIED UPON IN MAKING PURCHASING DECISION. THE DEVELOPMENT, RELEASE, AND TIMING OF ANY FEATURES OR FUNCTIONALITY DESCRIBED FOR ORACLE'S PRODUCTS REMAINS AT THE SOLE DISCRETION OF ORACLE. 3

4 OGC ® About the OGC GeoSPARQL SWG 4

5 OGC ® Group Members Open Geospatial Consortium standards working group –13 voting members, 36 observers –Editors: Matthew Perry and John Herring –Chairs: John Herring and Dave Kolas Submitting Organizations –Australian Bureau of Meteorology –Bentley Systems, Inc. –CSIRO –Defence Geospatial Information Working Group (DGIWG) –GeoConnections - Natural Resources Canada –Interactive Instruments GmbH –Oracle America –Ordnance Survey –Raytheon Company –Traverse Technologies, Inc. –US Geological Survey (USGS)

6 OGC ® Standardization Process 6

7 OGC ® GeoSPARQL Overview 7

8 OGC ® Some Use Cases Existing LOD RDF datasets with some simple spatial data –DBPedia, GeoNames, etc. –Mainly simple, WGS84 Lat Long points GIS applications with semantically complex thematic aspects –Reasoning based on complex land cover type hierarchy Qualitative reasoning applications without explicit geometries –RCC8-based reasoning Data integration applications –RDB2RDF + Federated SPARQL over spatial datasets 8

9 OGC ® Goals for GeoSPARQL Provide a common target for implementers & users –Oracle, BBN Parliament, Virtuoso, OWLIM, Franz, … Work within SPARQLs extensibility framework Simple enough for general users but capable enough for GIS professionals Accommodate systems based on qualitative spatial reasoning and systems based on quantitative geometries Dont re-invent the wheel! ISO – Spatial Schema ISO – SQL/MM Simple Features Well Known Text (WKT) GML KML GeoJSON 9

10 OGC ® A Simple Example :OGCSept2011TC:locatedIn :Reston. :Reston:hasPointGeometry [ ogc:asWKT POINT( )^^ogc:WKTLiteral ]. Example Data: December 2011 SOCoP Workshop is located in Reston, VA SELECT ?airport WHERE { ?airport rdf:type :Airport. ?airport :hasPointGeometry [ ogc:asWKT ?aPointGeom ] FILTER(ogcf:distance(?aPointGeom, POINT( )^^ogc:WKTLiteral, ogc:km) <= 100) } Example Query: Find airports within 100 KM of Reston, VA 10

11 OGC ® What Does GeoSPARQL Give Us? Vocabulary for Query Patterns –Classes Spatial Object, Feature, Geometry –Properties Topological relations Links between features and geometries –Datatypes for geometry literals ogc:WKTLiteral, ogc:GMLLiteral Query Functions –Topological relations, distance, buffer, intersection, … Entailment Components –RIF rules to expand feature-feature query into geometry query –Gives a common interface for qualitative and quantitative systems 11

12 OGC ® Some Features of the Spec Uses a Modular Design –Consists of several components Its Parameterized –Serialization: WKT, GML, KML, … –Relation Family: Simple Features, Egenhofer, RCC8, … Benefits –Vendors can easily identify what they support We support components X, Y and Z for WKT and GML serializations and Simple Features relations –Extensible Can easily add new components Can easily add new spatial relations and serializations 12

13 OGC ® GeoSPARQL Vocabulary 13

14 OGC ® serializations metadata ogc:SpatialObject ogc:Feature 0.. * ogc:hasGeometry ogc:hasDefaultGeometry ogc:Geometry ogc:dimension : xsd:int ogc:coordinateDimension : xsd:int ogc:spatialDimension : xsd:int ogc:isEmpty : xsd:boolean ogc:isSimple : xsd:boolean ogc:asWKT : ogc:WKTLiteral ogc:asGML : ogc:GMLLiteral … GeoSPARQL Vocabulary: Basic Classes and Relations Same as ISO GFI_Feature Same as ISO GM_Object 14 Geometry encoded as a Literal

15 OGC ® All RDFS Literals of type ogc:WKTLiteral shall consist of an optional IRI identifying the spatial reference system followed by Simple Features Well Known Text (WKT) describing a geometric value [ISO ]. POINT( )^^ogc:WKTLiteral European Petroleum Survey Group (EPSG) maintains a set of CRS identifiers. WGS84 longitude – latitude is the default CRS POINT( )^^ogc:WKTLiteral Details of ogc:WKTLiteral 15

16 OGC ® All ogc:GMLLiterals shall consist of a valid element from the GML schema that implements a subtype of GM_Object as defined in [OGC ]. Details of ogc:GMLLiteral 16 " "^^ogc:GMLLiteral Note that GMLLiterals are NOT rdf:XMLLiterals

17 OGC ® A/BABAB A B ABAB B B A ogc:sfEqualsogc:sfTouchesogc:sfOverlapsogc:sfContains ogc:sfWithinogc:sfDisjointogc:sfIntersectsogc:sfCrosses Topological Relations between ogc:SpatialObject Assumes Simple Features Relation Family 17 A

18 OGC ® RCC8, Egenhofer & Simple Features Simple FeaturesEgenhoferRCC8 equalsequalEQ disjoint DC intersects¬ disjoint¬ DC touchesmeetEC withininside+coveredByNTPP+TPP containscontains+coversNTPPi+TPPi overlapsoverlapPO

19 OGC ® :City rdfs:subClassOf ogc:Feature. :Parkrdfs:subClassOf ogc:Feature. :exactGeometryrdfs:subPropertyOf ogc:hasGeometry. :Nashuardf:type :City. :MinesFallsParkrdf:type :Park. :MinesFallsPark:opened ^^xsd:date. :MinesFallsPark :exactGeometry :geo1. :geo1 ogc:asWKT Polygon((…))^^ogc:WKTLiteral. :Nashua :exactGeometry :geo2. :geo2 ogc:asWKT Polygon((…))^^ogc:WKTLiteral. :MinesFallsPark ogc:sfWithin :Nashua. Meta Information Non-spatial Properties Spatial Properties Example Data 19

20 OGC ® GeoSPARQL Query Functions 20

21 OGC ® –ogcf:distance(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral, units: xsd:anyURI): xsd:double –ogcf:buffer(geom: ogc:WKTLiteral, radius: xsd:double, units: xsd:anyURI): ogc:WKTLiteral –ogcf:convexHull(geom: ogc:WKTLiteral): ogc:WKTLiteral GeoSPARQL Query Functions geom geom1geom2 geom

22 OGC ® GeoSPARQL Query Functions –ogcf:intersection(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogc:WKTLiteral –ogcf:union(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogc:WKTLiteral geom1 geom2 geom1 geom2

23 OGC ® GeoSPARQL Query Functions –ogcf:difference(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogc:WKTLiteral –ogcf:symDifference(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogc:WKTLiteral geom1 geom2 geom1 geom2

24 OGC ® –ogcf:envelope(geom: ogc:WKTLiteral): ogc:WKTLiteral –ogcf:boundary(geom1: ogc:WKTLiteral): ogc:WKTLiteral –ogcf:getSRID(geom: ogc:WKTLiteral): xsd:anyURI GeoSPARQL Query Functions geom

25 OGC ® –ogcf:relate(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral, patternMatrix: xsd:string): xsd:boolean GeoSPARQL Topological Query Functions DE-9IM Intersection Matrix geom2 InteriorBoundaryExterior geom1 InteriorTTT BoundaryFFT ExteriorFFT geom1 geom2 ogc:contains patternMatrix: TTTFFTFFT

26 OGC ® –ogcf:sfEquals(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean –ogcf:sfDisjoint(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean –ogcf:sfIntersects(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean –ogcf:sfTouches(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean –ogcf:sfCrosses(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean –ogcf:sfWithin(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean –ogcf:sfContains(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean –ogcf:sfOverlaps(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): xsd:boolean GeoSPARQL Topological Query Functions 26 Assumes Simple Features Relation Family

27 OGC ® PREFIX : PREFIX ogc: PREFIX ogcf: PREFIX epsg: SELECT ?parcel WHERE { ?parcel rdf:type :Residential. ?parcel :exactGeometry ?pGeo. ?pGeo ogc:asWKT ?pWKT. :District1 :exactGeometry ?dGeo. ?dGeo ogc:asWKT ?dWKT. :City1 :extent ?cGeo. ?cGeo ogc:asWKT ?cWKT. FILTER(ogcf:sfWithin(?pWKT, ogcf:intersection(?dWKT,?cWKT)))} Find all land parcels that are within the intersection of :City1 and :District1 Example Query 27

28 OGC ® PREFIX : PREFIX ogc: PREFIX ogcf: PREFIX epsg: SELECT ?restaurant WHERE { ?restaurant rdf:type :Restaurant. ?restaurant :cuisine :Mexican. ?restaurant :pointGeometry ?rGeo. ?rGeo ogc:asWKT ?rWKT } ORDER BY ASC(ogcf:distance(POINT(…)^^ogc:WKTLiteral, ?rWKT, ogc:KM)) LIMIT 3 Find the three closest Mexican restaurants Example Query 28

29 OGC ® GeoSPARQL Entailment Components 29

30 OGC ® GeoSPARQL RDFS Entailment Extension 30 Basic graph pattern matching shall use the semantics defined by the RDFS Entailment Regime [W3C SPARQL Entailment] Implementations shall support graph patterns involving terms from an RDFS/OWL class hierarchy of geometry types consistent with the one in the specified version of Simple Features / GML Main Requirements:

31 OGC ® Simple Features Geometry Types ogc:Pointogc:Geometryogc:Curveogc:Surfaceogc:GeometryCollectionogc:LineStringogc:Polygonogc:PolyhedralSurfaceogc:Lineogc:LinearRingogc:Triangleogc:TINogc:MultiSurfaceogc:MultiCurveogc:MultiPointogc:MultiPolygonogc:MultiLineString

32 OGC ® SELECT ?water WHERE { ?water rdf:type :WaterBody. ?water ogc:rcc8Within :NH } Find all water bodies within New Hampshire RCC8 Backward Chaining SELECT ?water WHERE { ?water rdf:type :WaterBody. ?water ogc:hasDefaultGeometry ?wGeo. ?wGeo ogc:asWKT ?wWKT. :NH ogc:hasDefaultGeometry ?nGeo. ?nGeo ogc:asWKT ?nWKT. FILTER(ogcf:rcc8Within(?wWKT, ?nWKT)) } Same Query Specification Qualitative Quantitative Query Rewrite Specified with a RIF rule GeoSPARQL Query Rewrite Extension 32

33 OGC ® GeoSPARQL Query Rewrite Extension 33 Basic graph pattern matching shall use the semantics defined by the RIF Core Entailment Regime [W3C SPARQL Entailment] for the RIF rules [W3C RIF Core] geor:sf- equals, geor:sf-disjoint, geor:sf-intersects, geor:sf- touches, geor:sf-crosses, geor:sf-within, geor:sf- contains, geor:sf-overlaps. Main Requirement:

34 OGC ® Query Rewrite Rules Used to compute Feature-Feature spatial relations based on default geometries Specified as a collection of RIF rules Example: ogcr:sfEquals (Forall ?f1 ?f2 ?g1 ?g2 ?g1Serial ?g2Serial (f1[ogc:sfEquals->?f2] :- And (?f1[ogc:hasDefaultGeometry->?g1] ?f2[ogc:hasDefaultGeometry->?g2] ?g1[ogc:asWKT->?g1Serial] ?g2[ogc:asWKT->?g2Serial] External(ogcf:sfEquals(?g1Serial,?g2Serial))) ) 34

35 OGC ® Summary of Conformance Classes 35 Core Topology Vocabulary Extension ( relation_family ) Geometry Extension ( serialization, version ) Geometry Topology Extension ( serialization, version, relation_family ) Query Rewrite Extension ( serialization, version, relation_family ) RDFS Entailment Extension ( serialization, version, relation_family ) Parameters Serialization –WKT –GML Relation Family –Simple Features –RCC8 –Egenhofer Determines geometry classes and geometry literal datatype Determines topology properties and topology functions

36 OGC ® GeoSPARQL FAQ 36

37 OGC ® Why dont you have ogc:myFavoriteProperty? GeoSPARQL vocabulary is not comprehensive –Just enough to define a reasonable set of query patterns There are other efforts for more comprehensive vocabularies –ISO / TC 211 –SOCoP –GeoVocamps GeoSPARQL vocabulary can easily be extended with other application/domain-specific vocabularies 37

38 OGC ® Advantage: single self-contained unit SELECT ?water ?wWKT WHERE { ?water rdf:type :WaterBody. ?water:hasExactGeometry ?wGeo. ?wGeo ogc:asWKT ?wWKT. :Route_3 :hasExactGeometry ?r3Geo. :r3Geo ogc:asWKT ?r3WKT. FILTER(ogcf:distance(?r3WKT, ?wWKT,…) <= 1000) } Find all water bodies that are within 1 km of Route 3 Consistent way to pass geometry information around Consistent way to select geometry information Why Encode Geometry Data as a Literal? 38

39 OGC ® Why is SRID encoded in Geometry Literal? The query functions need the SRID to perform computations SRID is really a property of the serialization not fundamental to the geometry itself GML already encodes it, only WKT has to be modified Adding a separate property is redundant and potentially inconsistent –Note: geometry type class is also redundant but can be useful for entailment We have an ogcf:getSRID() function to aid in filtering based on SRID 39

40 OGC ® Why dont you support W3C Basic Geo? Too simple to meet our requirements –Cant use different datums and coordinate systems –Limited number of geometry types W3C Basic Geo data can easily be converted to WKTLiteral PREFIX geo: PREFIX ogc: SELECT (STRDT(CONCAT("POINT(",?long," ",?lat,")"), ogc:WKTLiteral) AS ?wktLit) WHERE { ?point geo:long ?long. ?point geo:lat ?lat } 40

41 OGC ® Can I support both GML and WKT? YES A valid GMLLiteral is an invalid WKTLiteral and vice versa An operation on these two objects is an error according to the GeoSPARQL spec, but … 41 From Section of the SPARQL specification [W3C SPARQL] (http://www.w3.org/TR/rdf-sparql-query/#operatorExtensibility): SPARQL language extensions may provide additional associations between operators and operator functions; this amounts to adding rows to the table above. No additional operator may yield a result that replaces any result other than a type error in the semantics defined above. The consequence of this rule is that SPARQL extensions will produce at least the same solutions as an unextended implementation, and may, for some queries, produce more solutions.

42 OGC ® Why no Universal Geometry Ontology? Geometry types in existing standards are different abstractions –e.g. Polygon edges can be arcs in ISO / GML but must be straight lines in Simple Features Any hierarchy we get may be too restrictive –You should be able to conceptualize a geometry any way you want as long as you can support the required operations. All were left with is a single root Geometry class in the core vocabulary –More detailed Geometry types are available with RDFS Entailment Extension –Supported Geometry types tied to serialization Cant use a geometry type if you cant serialize it 42

43 OGC ® Why do I have to support RDFS entailment? Support for only geometry literals and query functions could be a popular use case All entailment requirements are contained in a separate conformance class –RDFS Entailment Extension (serialization, version) –Query Rewrite Extension (serialization, version, relation_family) 43

44 OGC ® Summary GeoSPARQL Defines: –Basic vocabulary, Query functions, Entailment component Based on existing OGC/ISO standards –WKT, GML, Simple Features, ISO Uses SPARQLs built-in extensibility framework Modular specification –Allows flexibility in implementations –Easy to extend Accommodates qualitative and quantitative systems –Same query specification for qualitative (core + topology vocabulary) and quantitative (all components, incl. query rewrite) 44

45 OGC ® Future Work Define new conformance classes –KML, GeoJSON Define OWL axioms for qualitative spatial reasoning –ogc:sfWithin rdf:type owl:TransitiveProperty Hybrid qualitative / quantitative spatial reasoning Define standard methodology for (virtually) converting legacy feature data represented using the general feature model to RDF (RDB2RDF for spatial) 45

46 OGC ® Questions? 46 Thanks to all members of the GeoSPARQL SWG !

47 OGC ® Example Queries PREFIX : PREFIX ogc: PREFIX ogcf: PREFIX epsg: SELECT ?water ?wWKT WHERE { ?water rdf:type :WaterBody. ?water:exactGeometry ?wGeo. ?wGeo ogc:asWKT ?wWKT. :Route_3 :exactGeometry ?r3Geo. :r3Geo ogc:asWKT ?r3WKT. FILTER(ogcf:distance(?r3WKT, ?wWKT, ogc:km) <= 1) } Find all water bodies that are within 1 km of Route 3

48 OGC ® Example Queries PREFIX : PREFIX ogc: PREFIX ogcf: PREFIX epsg: SELECT ?parcel WHERE { ?parcel rdf:type :Residential. ?parcel :for_sale true^^xsd:boolean. ?parcel :exactGeometry ?pGeo. ?pGeo :asWKT ?pWKT FILTER(ogcf:within(?pWKT, Polygon((…))^^ogc:WKTLiteral)) } Find all land parcels for sale within a constant search polygon

49 OGC ® –ogcf:distance(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral, units: xsd:anyURI): xsd:double –ogcf:buffer(geom: ogc:WKTLiteral, radius: xsd:double, units: xsd:anyURI): ogc:WKTLiteral –ogcf:convexHull(geom: ogc:WKTLiteral): ogc:WKTLiteral –ogcf:intersection(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogcf:WKTLiteral –ogcf:union(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogc:WKTLiteral –ogcf:difference(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogcf:WKTLiteral –ogcf:symDifference(geom1: ogc:WKTLiteral, geom2: ogc:WKTLiteral): ogc:WKTLiteral –ogcf:envelope(geom: ogc:WKTLiteral): ogcf:WKTLiteral –ogcf:boundary(geom1: ogc:WKTLiteral): ogc:WKTLiteral Non-topological Query Functions 49

50 OGC ® OGC & ISO Geo Semantic Web Activities OGC –GeoSPARQL Standards Working Group –Geosemantics Domain Working Group ISO –ISO/RS Geographic information – Ontology –ISO rev Geographic information – Reference model - Part 1: Fundamentals –ISO/PT Geographic information – Ontology - Part 1: Framework –ISO/PT Geographic information – Ontology - Part 2: Rules for developing ontologies in the Web Ontology Language (OWL)


Download ppt "® OGC GeoSPARQL: Standardizing Spatial Query on the Semantic Web Matthew Perry, Oracle 4th Annual Spatial Ontology Community of Practice Workshop USGS,"

Similar presentations


Ads by Google