Skip to content

Triply Use Case 1: Support for GLTF and other 3D formats #583

Open
@wouterbeek

Description

@wouterbeek

Triply Use Case 1: Support for GLTF and other 3D formats

Description

There is good support for 3D objects in BIM tools, and there is good support for geo data in GeoSPARQL triple stores. But there is not yet a good way in which I can combine the two. As a data expert, I am able to find files that contain 3D objects in standardized formats (e.g. GLTF), but I do not know how to load these into my GeoSPARQL triple store. When I look this up on the web, I end up in academic papers on how GLTF could be integrated with GeoSPARQL. There are multiple approaches, none of which is supported out-of-the-box by contemporary triple stores.

Actor

  • Data Expert

Preconditions

  • A 3D object in a file with a popular format (e.g. GLTF).
  • A geospatial/GeoSPARQL dataset, in which I can meaningfully position my file.

Postconditions

  • A 3D object within my geospatial/GeoSPARQL dataset.

Steps

  1. I have obtained a file that contains a 3D object in a popular format (e.g. GLTF).
  2. I can upload that file in a triple store, that may contain geospatial/GeoSPARQL data.
  3. In a query, I can retrieve the 3D object, in combination with other geospatial/GeoSPARQL data (from my local store and/or from a remote endpoint).

Implementation suggestions

3D objects could be serialized in GeoSPARQL literals, similar to the current support for geo serializations in GeoJSON/GML/WKT literals (the name geo:hasModel could be improved):

<my-feature>
  geo:hasGeometry <my-geometry>;
  geo:hasModel <my-model>.
<my-geometry> geo:asWKT 'MultiPolygon(...)'^^geo:wktLiteral.
<my-model> geo:asGltf '...'^^geo:gltfLiteral.

3D object serializations could be either text-based or binary, depending on their standardized or de facto serialization form in other contexts. There are antecedents for encoding binary data in literals, e.g. xsd:base64Binary (link).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions