Adding 3D Visualization to the SPARQL Query Loop

August 30th, 2018

Erwin Folmer (e.j.a.folmer@utwente.nl),
Wouter Beek (w.g.j.beek@vu.nl)

Benefits of 3D

Interpretability
We are used to interpreting and interacting with a 3D world.
Expressiveness
The z-axis gives an additional dimension to plot (statistical) data on.
Muliple perspectives
Allows for different views for the same objects (e.g., building).

Cadastre use cases for 3D SPARQL

  1. Displaying one building with multiple businesses and appartments in it.
  2. Drone no-fly zones contain height information.
  3. Emergency services must determine the reachability of an appartment within a building.

REPL: read-eval-print-loop

A well-known concept from programming, applied to query writing:

Read
Process a user-entered query.
Evaluate
Calculate the result set for the user query.
Print
Show the result set to the user.
Loop
The user inspects the results and changes the query.

REPL: Read (1/2)

3D data must be represented in a specific way.

REPL: Read (2/2)

A feature can have 2D ánd 3D shapes; it can have serializations in GML ánd in WKT.

REPL: Evaluate

3D support in triple stores:

  • Most stores do not implement 3D GeoSPARQL syntax, but some do.
  • Most stores have bad performance for 3D geo-spatial queries, but some have good performance.
  • Some stores change the 3D data merely by loading it, e.g., turning it into 2D data.
  • Some stores cannot load larger 3D shapes.
  • Commercial triple stores are not necessarily better than FOSS (if fact: they are often worse).

REPL: Print

SPARQL result set without 3D support.

REPL: Print

SPARQL result set with 3D support.

Examples of 3D SPARQL Queries

Cadastre buildings in context

Queries the following datasets:

  • Cadastre Buildings Registry (BAG)
  • Chamber of Commerce (KvK)
  • Cultural Heritage images (RCE)
  • Dutch Monument Registry (RCE)
  • Energylabels (RVO)

Energy labels 🗲

Queries the following datasets:

  • BAG (KDP Productie)
  • RVO energielabels (KDP Labs)

Monuments ⛪

Queries the following datasets:

  • BAG (KDP Productie)
  • RCE beeldbank (KDP Labs)
  • RCE monumenten (KB endpoint)

Chamber of Commerce 🏪

Queries the following datasets:

  • BAG (KDP Productie)
  • Kamer van Koophandel bedrijven (KDP Labs)

Number of businesses 🏬

Queries the following datasets:

  • BAG (KDP Productie)
  • CBS buurten (KDP Labs; binnenkort KDP Productie)

3D rooftops

LOD2 (Level of Detail)

Multiple appartments within one building

query

3D variable bindings

Implemented by binding variables that follow specific naming patterns, compatible with SPARQL 1.1.

ConceptVariable name
Shape?var
Colour?varColor
Complex label?varLabel
Extrusion?varHeight
Offset?varZ
Simple label?varName

Future challenges

  • Display textures on 3D shapes
  • Store and retrieved detailed 3D models (BIM)
  • More 3D data as Linked Data, e.g., rooftops, underground structures

Thank you for your attention!