Draft

OGC Technical Paper

•
GeoSPARQL 3D White Paper
Editor One Editor Editor Two Editor
Version: 1.0
Additional Formats: PDF
OGC Technical Paper

Draft

Document number:YY-999
Document type:OGC Technical Paper
Document subtype:
Document stage:Draft
Document language:English

License Agreement

Use of this document is subject to the license agreement at https://www.ogc.org/license




I.  Abstract

GeoSPARQL provides a standard framework for storing, querying and representing geospatial information using RDF and SPARQL. Although GeoSPARQL 1.1 has some support for 3D geometries, its current vocabulary, geometry representations, and query functions provide limited support for 3D spatial data and functions. At the same time, the use of 3D spatial data is increasing across domains such as geospatial information, Building Information Modelling (BIM), construction, infrastructure, emergency response, cultural heritage, and computer graphics.

This white paper investigates the requirements and opportunities for extending GeoSPARQL with improved 3D capabilities. It examines the current capabilities and limitations of GeoSPARQL 1.1, reviews related standards, data formats ontologies, and analyses use cases gathered from different domains. Particular attention is given to the representation and querying of 3D geometries and topology, semantic decomposition of complex 3D objects, interoperability with existing 3D standards, and functions in three-dimensional environments.

The paper evaluates potential extensions according to their relevance, benefits, and technical feasibility. The objective is not to replace existing 3D modelling or geometry standards, but to investigate how GeoSPARQL can provide a common semantic and spatial query layer over heterogeneous 3D data. Such capabilities could enable machine-readable and interoperable 3D spatial analysis without requiring data from different domains to be converted into a single homogeneous representation. Potential benefits include improved integration of GIS, BIM, and other 3D data sources; spatial and semantic querying of complex 3D objects; 3D topology and connectivity analysis; route and accessibility analysis; and applications in construction, safety, emergency response, and other domains involving three-dimensional environments.

II.  Keywords

The following are keywords to be used by search engines and document catalogues.

OGC; GeoSPARQL; 3D; 3D geospatial data; 3D BIM; semantic 3D modelling; 3D spatial querying; 3D geometry; 3D topology; RDF; SPARQL; BIM; IFC; CityGML; semantic interoperability; 3D routing;


III.  Preface

This white paper has been developed to investigate these questions and to identify potential directions for extending GeoSPARQL with improved 3D capabilities. It brings together requirements and use cases from different domains and examines existing standards, formats, ontologies, and implementations that may inform future development.

The paper is intended as a basis for discussion within the OGC community and among current and prospective GeoSPARQL users and implementers. It does not propose a final specification, but instead identifies potential requirements, approaches, and areas for further investigation. The intention is to support future work towards interoperable 3D spatial querying while building on, rather than replacing, existing 3D standards and technologies.

IV.  Security Considerations

3D spatial data published as Linked Data may expose sensitive information about buildings, infrastructure, or access routes. Publishers should therefore consider the intended openness of the data and apply appropriate access controls where required. GeoSPARQL itself does not define access-control mechanisms.

V.  Submitting Organizations

The following organizations submitted this Document to the Open Geospatial Consortium (OGC):

  • Geonovum
  • KurrawongAI
  • i3mainz
  • Universidade de Lisboa
  • Triply
  • Graphwise/Ontotext
  • AEC Geeks
  • Eindhoven University of Technology

VI.  Submitters

NameAffiliationOGC member
Nicholas J. CarKurrawongAIYes
Homburg T.i3mainzYes
de Sousa L.Universidade de LisboaYes
Knibbe F.TriplyNo
Chadzynski A.Graphwise/OntotextNo
Krijnen T.AEC GeeksNo
Pauwels P.Eindhoven University of TechnologyNo
Jonker R.GeonovumYes

1.  Scope

This white paper addresses the potential extension of GeoSPARQL to support 3D spatial modelling, querying, and analysis. It also adresses the integration with existing 3D standards and formats, such as IFC, CityGML, and glTF; Also the benefits across domains including GIS, BIM, construction, infrastructure, emergency response, and cultural heritage are inside the scope. Existing 2D GeoSPARQL capabilities are considered where they are relevant to extending those capabilities to 3D, but improvements to 2D functionality in their own right are outside the scope of this paper.

2.  Conformance

This document is an informative OGC White Paper and does not define conformance classes or conformance requirements.

3.  Normative references

There are no normative references in this document.

The following documents contain provisions that are referenced by this document and are necessary for its understanding and application:

4.  Terms and definitions

This document uses the terms defined in OGC Policy Directive 49, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.

This document also uses terms defined in the OGC Standard for Modular specifications (OGC 08-131r3), also known as the ‘ModSpec’. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.

For the purposes of this document, the following additional terms and definitions apply.

This is the number of perpendicalar directions in which a geometry extends. A point, for example, extends in no direction, so its topological dimension is 0. A line has a length, but no width or height. Its topological dimension is 1. A cube has a topological dimension of 3.

In the geometric model that GeoSPARQL uses, points are the basic building blocks of geometry. A point geometry can have a different number of coordinates, depending on the space in which it is placed. A point on a flat map, or on the surface of a sphere, needs two coordinates. The coordinate dimension is the number of coordinates in the points that define a Geometry.

In order to support linear referencing, geometries in GeoSPARQL can have a measure value. This is a relative position along a line or a curve, and does not extend the Geometry in space. The spatial dimension, therefore, can be used to denote the number of coordinates in a point, excluding the measurement value.

5.  Conventions

RDF classes, properties, and functions are represented using prefixed names. For example, geo:Geometry denotes a GeoSPARQL class, geo:hasGeometry a GeoSPARQL property, and geof:distance a GeoSPARQL function. Geometry examples are expressed using established encodings such as WKT where appropriate.

6.  Introduction

OGC GeoSPARQL is an open standard that enables storage and exchange of spatial data on the Web, based on the Resource Description Framework (RDF). In 2020 the OGC white paper Benefits of Representing Spatial Data Using Semantic and Graph Technologies was published. It explained the benefits of GeoSPARQL and described the ways in which GeoSPARQL version 1.0 could be improved. In the meantime, GeoSPARQL version 1.1 has been published, having many improvements described in aforementioned white paper, see also this introduction to GeoSPARQL 1.1 [45].

Although not specifically bound, GeoSPARQL 1.1 is mainly geared towards spatial objects having zero to two dimensions. In other words, things that can be displayed on a flat surface. However, for three-dimensional spatial objects both supply and demand are increasing.

Two new versions of GeoSPARQL are in development: 1.2 and 1.3. GeoSPARQL 1.2 will be an adaption of GeoSPARQL 1.1 which enables GeoSPARQL to be published as an ISO standard. Version 1.2 will have no substantive changes with respect to version 1.1. GeoSPARQL 1.3 is expected to have extended capabilities supporting three-dimensional (3D) space. Not only would that make GeoSPARQL more useful for 3D geospatial data, it would also help in industries and knowledge domains that are not mainly focused on geospatial data, like Building Information Modelling (BIM) and Computer Graphics (CG). This paper describes which extensions to GeoSPARQL for 3D are possible, which are most desirable, and how they could be achieved.

This paper consists of three main parts. The first section describes current capabilities of GeoSPARQL: in its current state, GeoSPARQL does allow modelling three-dimensional objects, but with relevant limitations. The second section describes requirements for extended 3D capabilities in GeoSPARQL. This is based on a market consultation, which resulted in a collection of use cases for additional 3D capabilities. By analysing those use cases, as well as current developments within and outside the OGC, insight in the most needed extensions to GeoSPARQL can be obtained. Requirements are then weighed against feasibility; some extensions are easier to achieve than others. The third and final section describes the expected benefits for additional 3D capabilities in GeoSPARQL for different domains and different roles.

This paper should be interesting for the following audiences:

  • Current and prospective users of GeoSPARQL;

  • Current and prospective implementers of GeoSPARQL;

  • Members of related OGC working groups.

A deep understanding of the Semantic Web and graph technologies is not required for readers of this white paper, but some interest in those topics is assumed, as well as familiarity with the aformentioned white paper Benefits of Representing Spatial Data Using Semantic and Graph Technologies. This paper focuses on specifically on 3D capabilities of GeoSPARQL, not its general benefits.

7.  Motivation

Why do we want 3D semantic modeling? The white paper: “OGC Benefits of Representing Spatial Data Using Semantic and Graph Technologies” describes the beneficiaries and benefits of representing data, including geospatial data, using semantic and graph technologies Abhayaratna2020wp. This section describes the motivation of adding 3D functionality to the GeoSPARQL standard.

While humans can often resolve 3D spatial questions such as “Is cube A inside cylinder B?” — even when the underlying data comes from different systems like GIS and BIM — this typically relies on implicit understanding, conventions, or direct communication between the data creators. For datasets to be meaningfully aligned, the people who created them often need to clarify assumptions, data structures, coordinate systems, or modeling intentions. Without such human-to-human explanation, machines struggle to interpret spatial relationships across heterogeneous sources. A conversion process is required, in which data is made homogeneous for analysis through extraction, transformation, and loading. Based on a homogeneous dataset, conclusions can then be drawn. Performing conversions may result in geometric simplifications, which can limit or even eliminate the functionality of spatial queries Biljecki2019. If one desires digital, automated processing or analysis of 3D spatial questions without requiring conversion, spatial information must be structured in an explicitly machine-readable format. When this is done, initiatives based on federated systems with heterogeneous datasets can obtain computer-generated answers to spatial 3D queries. This requires semantic alignment and standardized geometry processing in machine-driven analysis. In other words, a common vocabulary is needed to semantically define the 3D objects and its 3D sptatial function.

Imagine a constructor who wants to use real-time sensor data at a construction site in combination with modelled 3D data and 3D base registration data. By combining this the person wants to visualize the site, perform accurate spatial checks and calculations, and automatically update machine instructions for safe, efficient and autonomous execution”

The system uses 3D GeoSPARQL to integrate the data of the 3D design model, the 3D base registration model and 3D real-time sensor data to:

  • Spatially associate sensor data with objects in the design and registration model

  • Calculate the permissible tolerances

  • Detect the deviations

  • Dynamic adjust the design model

  • Instruct the machine with the changes

  • Visualize the new situation

For both humans and machines, it must be unambiguous what is meant by the queries that are needed to do the job and the resulting answers. It should not matter whether the data is provided in a 3D-GIS, 3D-BIM or 3D-CG standard vocabulary.

A geo-spatial 3D specification would support data consumers by:

  • access and understanding of 3D-geometry and 3D-topology from multiple sources;

  • the integration of 3D-data geospatial and non-geospatial;

  • data quality evaluation of the given 3D-data;

  • Geometric and topological description in natural language.

A geo-spatial 3D specification would support data providers by:

  • Maximizing the use of 3D-geometry and 3D-topology data;

  • Defining multiple 3D topology or geometries;

  • Assuring the quality of 3D geospatial data.

8.  Current capabilities

Realizing the motivation described above requires technical and semantic support for the standardized representation, integration, and querying of 3D spatial information. GeoSPARQL could provide such a foundation. First it is necessary to understand the current capabilities of the standard. This provides the basis for considering where additional capbilities or extensions may be needed.

8.1.  GeoSPARQL

GeoSPARQL is the most common geospatial extension of SPARQL. It was accepted as an OGC standard in 2012 and revised as GeoSPARQL 1.1 in 2024.

According to the standard document, “The OGC GeoSPARQL standard supports representing and querying geospatial data on the Semantic Web. GeoSPARQL defines a vocabulary for representing geospatial data in RDF, and it defines an extension to the SPARQL query language for processing geospatial data”.

8.1.1.  Requirements addressed

In order to define which capabilities GeoSPARQL needs to adopt for full 3D compatibility, we first take a look at GeoSPARQL 1.1 current capabilities with regards to 3D.

8.1.1.1.  Dimensionality

In this white paper, when we discuss three dimensional data, we mean three dimensional geometries; instances of the class geo:Geometry. GeoSPARQL 1.1 defines three different properties for geometry that have to do with dimensionality:

  1. geo:dimension, or topological dimension: This is the number of perpendicalar directions in which a geometry extends. A point, for example, extends in no direction, so its topological dimension is 0. A line has a length, but no width or height. Its topological dimension is 1. A cube has a topological dimension of 3.

  2. geo:coordinateDimension: In the geometric model that GeoSPARQL uses, points are the basic building blocks of geometry. A point geometry can have a different number of coordinates, depending on the space in which it is placed. A point on a flat map, or on the surface of a sphere, needs two coordinates. The coordinate dimension is the number of coordinates in the points that define a Geometry.

  3. geo:spatialDimension: In order to support linear referencing, geometries in GeoSPARQL can have a measure value. This is a relative position along a line or a curve, and does not extend the Geometry in space. The spatial dimension, therefore, can be used to denote the number of coordinates in a point, excluding the measurement value.

The extended capabilities for GeoSPARQL discussed in this white paper concern the cases where the spatial dimension (wich can be expressed with property geo:spatialDimension) of geometry has the value 3.

The table below shows the values of the three dimension properties for some Geometries (expressed as Well Known Text (WKT)).

Table 1
Geometry (WKT)geo:dimensiongeo:coordinateDimensiongeo:spatialDimension
point (4 15)022
point Z (4 15 3)033
linestring (4 15, 13 2)122
point M (4 15 60)032
point ZM (4 15 3 60)043

8.1.1.2.  Vocabulary

GeoSPARQL version 1.1 consists of a Core module, a Topology Vocabulary extension, a Geometry extension, a Geometry Topology extension, an RDFS Entailment extension, and a Query Rewrite extension. Each of these modules will be briefly explained below.

8.1.1.3.  Core Module

GeoSPARQL version 1.1 includes a CORE module. This defines the basic classes, relationships, and literals. These classes are suitable for both 2D and 3D.

8.1.1.3.1.  Topology Vocabulary Extension

This extension provides standard definitions for spatial relationships that can exist between one spatial object and another.

Relations between geometries have been defined using three different sets of rules:

  • Simple Features Relations

  • Egenhofer Relations

  • Region Connection Calculus RCC8

These topological definitions specify topological relations in a 2D-context.

8.1.1.3.2.  Geometry Extension

GeoSPARQL 1.1 geometry module defines a class Geometry as a subclass of SpatialObject.

An instance of Geometry is not restricted to two dimensions.

A fine-grained classification of Geometry can use the Simple Feature Vocabulary which extends the class Geometry with further types, such as Point, Polygon etc.

The Simple Features vocabulary allows for the definition of 3D variants of:

  • (Multi)Points

  • (Multi)LineStrings

  • (Multi)Polygons

  • Polyhedralsurface

It does not include commons 3D primitives, such as Cube or Mesh surfaces which are integral parts of 3D representations. Nor does it include extruded geometry.

Figure 1 — Possible approaches for representing 3D objects in IFC

Concerning metadata of 3D models, GeoSPARQL 1.1 provides properties which can be reused in 3D contexts. In particular, the properties are:

  • geo:hasVolume

  • geo:hasMetricVolume

Further 3D-related metadata properties such as projection matrices are not part of the current GeoSPARQL 1.1 standard.

A first requirement for 3D support is the ability to save 3D data in a knowledge graph.

The Geometry extension enables geometries to be defined within the GeoSPARQL framework. Supported geometry formats include RDF literals in WKT, GML, GeoJSON, and KML.

These literals are investigated for the storage of 3D data.

Figure 2 — Difference between 2D, 2D with height attribute 2.5D and 3D geometry
Table 2
Literal TypeZ-Coordinate SupportedZ-Coordinate Supported + height attribute2.5D3D
WKT LiteralYesYesYesYes
GML LiteralYesYesYesOnly with extension Schema
KML LiteralYesYesYesAs import from COLLADA
GeoJSON LiteralYesYesYesYes
DGGS Literal

GeoSPARQL 1.1 also does not restrict the usage of coordinate reference systems with 3D support. There are currently almost 300 coordinate reference systems in the database epsg.io which can be used to describe 3D data encoded in the GeoSPARQL graph literals listed above.

GeoSPARQL allready supports linking multiple geometries (e.g., 2D and 2.5D) to a single feature. We aim to extend this with 3D geometries.

For example, a tree in the real world may be represented in databases with both a 2D and a 3D geometry.

This should not require duplication of the tree entity — there can be one tree instance with both geometries linked, avoiding redundancy in the data model.

8.1.1.4.  Query functions with 3D support

GeoSPARQL 1.1 functions currently do not offer fully-featured 3D support. However, there are functions which may take into account the Z coordinate, if they are available.

Table 3
GeoSPARQL functionZ-Coordinate Supported2.5D3D
geof:is3DYesYesYes
geof:minZYesYesYes
geof:maxZYesYesYes

These functions check for the presence of Z coordinates or filter out maximum and minimum Z coordinates of the given geometry.

8.1.1.5.  Geometry Topology Extension

Another extension is the Geometry Topology extension. This provides query functions that return relationships between different geometries based on the topology vocabulary extension.

8.1.1.6.  RDFS Entailment Extension

The RDFS Entailment extension provides rules for reasoning over geometries. Based on specific statements, additional information can be inferred. This kind of logical inference can also be applied to geometry. GeoSPARQL includes logic for reasoning over simple features geometries.

8.1.1.7.  Query Rewrite Extension

GeoSPARQL allows queries such as whether “Feature A” is located within “Feature B” using its vocabulary. The Query Rewrite extension specifies a RIF rule that enables query rewriting. However, this extension does not support the rewriting of 3D queries.

8.1.2.  Adoption of GeoSPARQL 1.1

The article “A GeoSPARQL Compliance Benchmark”, Jovanovik, Homburg and Spasić [44] describes the results of a GeoSPARQL compliance benchmark. The measure of the extent of GeoSPARQL support in GeoSPARQL-enabled RDF triplestores was done in 2021. The article concludes that the GeoSPARQL standard, almost nine years after its initial release, is often only partially supported by major triplestore vendors. This raises the question of whether adding functionality to a standard increases implementation complexity, or whether new and more powerful capabilities can instead stimulate adoption by enabling new and more valuable use cases for software developers and users.

On the OGC Implementation Database there is no organisation compliant with the OGC GeoSPARQL standard. There are four organisations that are implementing the GeoSPARQL (v 1.0) standard.

8.1.3.  GeoSPARQL Aligments

GeoSPARQL is aligned with a range of established ontologies and vocabularies covering different aspects of geospatial information, metadata, provenance, time, sensors, and linked data. See Annex E of the GeoSPARQL Standard. Alignments with additional ontologies may be relevant for a broader 3D context. As an example, ontologies such as Reloc, BOT and ifcOWL can be interesting.

8.1.4.  GeoSPARQL functionality and geometries comparison

GeoSPARQL functionality can be compared with established spatial database extensions such as PostGIS H2GIS and SpatiaLite. The alligment offers a useful basis for comparing common spatial operations and capabilities with those defined by GeoSPARQL. The selection for spatial databases is not intended to be exhaustive. Other spatial databases, libraries and systems could also be included, depending on the scope of the comparison. The selected systems should therefore be regarded as representative reference implementations rather than a complete overview of available spatial technologies.

The comparison with existing open-source spatial technologies is intended to identify gaps between the functionality currently provided by GeoSPARQL and the capabilities available in established spatial databases. This provides an indication of the development potential of GeoSPARQL. The comparison can therefore be used to identify potential areas for further development and to assess which capabilities could add value to future versions of the standard.

When focusing specifically on 3D functionality, the largest differences in the comparison are found in geometry creation and editing, spatial measurements, and operations related to triangulation and topographic geometry. Also the topological functions shows some gaps between GeoSPARQL and the functionality in the spatial databases. These areas contain functionality available in the compared spatial technologies that is not represented in GeoSPARQL. They therefore provide the clearest areas for investigating potential further development of 3D functionality in GeoSPARQL. See Annex A: Alignment GeoSPARQL and Open Source Relational Databases with Geospatial Support

Besides the available functions, the geometry representations used by GeoSPARQL, such as WKT and GML, can also be compared with geometry representations used in other standards and technologies, such as IFC, STEP and Open CASCADE. The comparison shows that the largest differences in 3D geometry representation occur beyond basic points, curves and surfaces. IFC, STEP and OpenCascade provide more extensive representations for solids, volumes, boolean and constructive geometry, swept and revolved geometry and 3D transformations and spatial operations. These areas therefore provide relevant starting points for investigating potential extensions of GeoSPARQL for more comprehensive 3D geometry representation and processing. See Annex B: Allignment of Geometry

9.  Related Work

Various vocabularies, standards, and domain-specific approaches provide concepts for describing 3D geometries, topology, spatial relationships, and their semantics. This section reviews these related developments to understand the different ways in which 3D spatial information is currently modeled and to identify concepts and approaches that may complement or inform the further development of 3D in GeoSPARQL.

A substantial body of work shows that there is no single universal 3D web ontology, but several reusable, often domain‑ or format‑specific vocabularies to describe geometry, topology, scenes, and domain semantics. Two principal flavours of ontologies can be identified in existing literature:i) those meant for the generic representation of 3D objects and shapes, and ii) a growing body of domain-specific ontologies [37].

This section starts by providing a brief overview of these two flavours of ontologies. It then dives into domain-specific initiatives, considering Geo-spatial, Cultural Heritage and BIM. This section closes by enumerating various encoding formats relevant for 3D.

9.1.  3D Exchange formats

A new GeoSPARQL standard should be compatible with existing approaches to encode 3D data. Semantic technologies should enable users to encode important metadata in the knowledge graph, while retaining the possibility to use already well-known 3D geometry formats either as String literals or file references. bonduel2019including shows how common widespread geometry formats could be included into knowledge graphs, which could be one starting point to investigate the integration within GeoSPARQL.

9.1.1.  Standard for the Exchange of Product model data (STEP) and OntoSTEP

STEP (Standard for the Exchange of Product model data) is an ISO standard for representing and exchanging product and engineering information, including CAD models. OntoSTEP translates STEP concepts into an ontology-based representation to support semantic integration and reasoning. OntoSTEP is a research-oriented approach that translates STEP/EXPRESS schemas and instances into OWL to enable semantic integration, querying, and reasoning. Initially developed at NIST, it has been further investigated through later implementations, but it remains a research approach rather than an established standard or widely adopted 3D ontology.

  • OWL encodings of STEP AP203/AP214/AP242 and BREP/CSG concepts for CAD models [43].

  • Other proposals link geometric models to spatial properties or count non‑manifold features [FlotynskiWalczak2017] [43].

9.1.2.  STereoLithography (STL)

STL files describe only the surface geometry of a three-dimensional object without any representation of color, texture or other common CAD model attributes. The STL format specifies both ASCII and binary representations and was invented by the Albert Consulting Group for 3D Systems in 1987. Nowadays it is mainly used for 3D printing purposes, which makes is a plausible candidate for support in GeoSPARQL 3D settings of movable objects such as in cultural heritage. Since the STL format does not contain a geospatial reference, the reference needs to be provided externally if STL files were to be used in a geospatial context. However, STL objects could be used in local CRS contexts as well.

9.1.3.  Wavefront OBJ Format (OBJ)

The OBJ format is a file format developed by Wavefront Technologies for the Advanced 3D Visualizer animation package. Its roots therefore lie in the world of 3D animation. The format represents vertex coordinates, texture coordinates, as well as vertex normals, parameter space vertices and faces of a 3D model. These are all elements which would need to be considered and supported in an upcoming GeoSPARQL 3D release.

9.1.4.  Polygon File Format (PLY)

The Polygon File Format is a format which was designed to store 3D data from 3D scanning environments, which makes it especially widespread in the Cultural Heritage application area. The format consists of a vertex list and a faces list with optional parameters per vertex. Like the OBJ format, supporting PLY would imply including support for vertices and faces of a 3D model and their relationships in a knowledge graph.

9.2.  Geometry metadata and linking

9.2.1.  Geometry Metadata Ontology (GOM)

The Geometry Metadata Ontology (GOM) introduces classes for surfaces which are common in the 3D world, but uncommon for 3D geometries, for instance Meshes or NURBS surfaces. The ontology can serve as an inspiration for extensions in GeoSPARQL 3D and may or may not be fully or partly adopted in the process of standardization.

9.2.2.  Ontology for Managing Geometry (OMG)

The Ontology for Managing Geometry (OMG) describes states and derivation of geometries which may be useful to the description of data in GeoSPARQL 3D. For example. an extrusion in 3D from a 2D geometry template would have a derivation relation from the 2D geometry which one might want to see modeled in GeoSPARQL 3D.

9.2.3.  File Ontology for Geometry Formats (FOG)

The File Ontology for Geometry Formats (FOG) provides a bridge between ontology descriptions of geometries and data file descriptions of 3D contents. Since many 3D datasets are of considerable size, their inclusion into the knowledge graph as String literals might hinder the query performance of said knowledge graph. It therefore stands to reason whether to adopt the same or a similar method of geometry access that FOG provides for GeoSPARQL 3D.

9.3.  Generic 3D representation and semantic models

9.3.1.  X3D Ontology

Extensible 3D (X3D) Graphics is an open standard to declaratively representing interactive 3D computer graphics for publishing, viewing, printing and archiving 3D models on the Web. X3D was eventually approved by ISO (ISO/IEC 19775-19777) and become an computer graphics industry standard. It was first proposed in 1997 and has since been subject to various updates. More recently it has been developed towards the Semantic Web, in order to gain interoperability and enable intelligent 3D operations and reasoning. Development has been hosted by the Web3D Consortium.

Currently in its version 4, the X3D Ontology maps the full X3D standard (X3DUOM) into OWL 2, providing classes and properties for nodes, geometry, appearance, animation, and scene graph structure, enabling query and reasoning over X3D scenes [FlotynskiWalczak2017] georgieva2023transforming [41] [39] flotynski2020recent [_975906]. X3D is regarded as a comprehensive and formally grounded 3D ontology, adding fundamental concepts and roles of the 3D modelling industry not originally covered by X3D.

The X3D Ontology has also been used to transform non-semantic 3D file formats into RDF with languages such as RML or XSLT georgieva2023transforming [39].

The X3D format feichtenhofer2020×3d, brutzman2010×3d, X3DOM behr2009x3dom and its Ontology version brutzman2020×3d provide a data format and a blueprint for how 3D data is handled in computer vision approaches. X3D is an interesting format to investigate for 3D components which need to be modeled within a GeoSPARQL 3D specification. It is a likely candidate for a literal format and might be integrated using interlinking approaches to the already existing X3D vocabulary. However, since X3D was invented with computer vision approaches in mind it does not define any geospatial aspects that could be considered by a GeoSPARQL 3D implementation.

9.3.2.  VRML / Java3D spatial ontologies

Application ontologies abstracting VRML & Java3D node types plus a separate spatial ontology for topological, directional and metric relations pacheco2018creating.

9.3.3.  Common Shape Ontology

– represents manifold/non‑manifold shapes, point sets, hierarchical model groups, positions, orientations, keyframe animation [FlotynskiWalczak2017].

9.4.  Domain‑specific 3D ontologies

9.4.1.  Geospatial and 3D City Model (CityGML)

CityGML and OntoCityGML

CityGML [koble2005citygml] is an open standardized data model for the exchange of 3D models of cities and landscapes. Since its standardization by OGC, CityGML has seen a wide variety of proposed extensions and alignments to other data standards.

CityJSON and CityRDF

[46] proposed the extension of the CityGML and its accompanying serialization CityJSON as an ontology model. Currently, the CityRDF standardization group works towards the standardization of this CityGML data model in RDF.

The proposed CityRDF model, even though focused on CityGML and 3D building contents, contains valuable data descriptions which could be generalized in a GeoSPARQL 3D approach. One such element is the description of the appearance of a 3D-modeled building using colors or textures, so-called surface materials. In addition, CityGML includes relations of 3D primitives between each other, which could serve as an inspiration for similary-named functions or properties in the GeoSPARQL 3D ontology model.

[46] describes the CityGML Ontology, which is an ontology model to formalize the CityGML standard towards a representation in OWL. It shows a workflow of identification, classification and selection of the relevant data points needed to describe 3D city models in OWL as derived from building and city models. In addition, it introduces the concept of Level of Information Need, defining the granularity of the information on the various levels of the building and the types of information retrieval — direct/indirect, i.e. information which is commonly obtained directly from a dataset or using a calculation or reasoning approach. The paper exemplifies the concept in a study case for property unit cost and indoor daylight. The contribution outlined here became the basis of the CityGML ontology which can serve as one broad application area for GeoSPARQL 3D.

Following on this publication [33] presents a system architecture and a set of interfaces that can represent city modeling approaches using dynamic geospatial knowledge graphs. The paper proves the viability of a transition between a SQL based system for 3D building management to a SPARQL based system using a SQL2SPARQL Transformer component. It therefore proves the feasibility of employing linked open data technologies for 3D building data and in particular the CityGML model in practice.

[51] introduces CityGML 3.0 with a newly added Core module including a new space concept and Level Of Detail concept. The given publication sets the standard especially for Level of Detail in 3D buildings, which may be considered for adoption as GeoSPARQL 3D concepts too. In addition, CityGML 3.0 proposes the addition of 3D point clouds for the representation of 3D goemetires of physical spaces and space boundaries. A mapping from IFC to CityGML 3.0 is also proposed by these authors.

CityGML 3.0 therefore represents many of the elements that a GeoSPARQL 3D ontology would need to implement on a more abstract level and can give ideas about future query functions to be implemented in the GeoSPARQL query language.

In addition, a master thesis hansson2024citygml proved the feasibility of not only converting CityGML to a knowledge graph representation, but also its application in triple stores such as Ontop or 3DCityDB. The mapping of CityGML to the knowledge graph was tested using a set of SPARQL queries retrieving different components of building parts. While the thesis could construct a knowledge graph representation from CityGML, it points out that the incorporation of sptaial operations is left to future work and could provide a possible field for GeoSPARQL 3D adoption.

Finally, [32] proposed OntoCityGML, an extension go the CityGML ontolog https://www.sciencedirect.com/science/article/pii/S2666546821000574?via%3Dihub Semantic 3D City Database — An enabler for a dynamic geospatial knowledge graph

Other details and history of Onto CityGML.

CityRDF working group https://github.com/ogcincubator/cityrdf

9.4.2.  Cultural Heritage

In the research domain of cultural heritage, 3D models of either cultural heritage artifacts (possibly georeferenced), 3D models of archaeological sites or simply 3D models of ancient buildings are becoming increasinly common.

Building-conservation ontology for 3D annotations. The conservation and restoration of historical monuments require the integration of information from many different disciplines and techniques. This study presents a pipeline that combines semantic, spatial, and morphological data into one 3D information model. The approach was tested on Saint Maurice Church in Caromb, France, allowing conservation experts to better visualize, correlate, and retrieve information about materials, damage, and other conservation observations. [31];

CIDOC CRM–based models for 3D CH objects and provenance. This paper proposes an ontology-based approach for managing and using 3D content without requiring domain experts to have programming or 3D modelling skills. The actual 3D elements can be created by graphic designers and then linked to domain-specific concepts by developers. Ontologies and automated reasoning can subsequently determine which 3D elements are relevant based on the specified domain information, while semantic queries allow the content to be explored and analysed. The focus is therefore on connecting 3D graphics with domain knowledge rather than on creating the 3D models themselves. walczak2019inference amico2106ontological .

Use Cases

Use Cases in the Cultural Heritage domain include, but are not limited to, the following main interests:

Visualization: The visualization of 3D models for the presentation of such 3D models, for example in the context of a museum. 3D models may be styled with a particular set of textures or modeled with a specific set of colours to highlight certain relevant aspects. The visualization of 3D models is currently standardized by the IIIF 3D working group [48], which aims to create viewing parameter descriptions that 3D viewers may implement, similar to the specifications of IIIF 2D for images.

Object Annotation: 3D models are seen as the subject of a research question in absence of the original artifact for political, practical or other restrictive reasons. Out of all known methods of the representation of cultural heritage artifacts, 3D models provide the most detail when being delivered as a digital artifact and are therefore very often preferred in a research context. Researchers mark noteworthy aspects of the cultural artifact as 3D annotations [47] which may include surface descriptions, volumes of the 3D model or 3D models which are created and placed adjacent to the to-be-annotated 3D model [29].

Relation of Objects: Objects of a specific collections always exist in a spatio-temporal context. It is important to relate these representations via meaningful relations, so that relevant objects of a collection can be retrieved more easily

AI Applications in Cultural Heritage: Usage for annotated areas on 3D models or their derivations for machine learning classifications Stotzner_2023_ICCV 10.2312/gch.20231157

Knowledge Graphs as Metadata descriptions: With the advent of more 3D models being published, the relevance of their creation parameters [52], their contents and their object metadata increases for the usecases of filtering them and also for the possibly automated selection of suitable cultural heritage metadata for e.g. machine learning classifications. Currently, many metadata standards fulfil parts of the description chain and a unified vocabulary to described data types seems to be missing.

Research applications making use of 3D models in Cultural Heritage

This section discusses research projects with 3D contents based on the technologies they use as elaborated in the previous section.

9.4.2.1.  3D models of cuneiform tablets

Cuneiform tablets from ancient Iran provide an interesting research area, since they combine a 3D artifact with textual imprints that are of interest to a variety of research communities including Assyriologsts, Digital Humanists, Computational Linguists and last but not least Computer Scientists. The creation of 3D models of cuneiform tablets provides the best accessibility to the specificities of the original artifact in its absence and 3D scans have been used by computer scientists as the basis for certain machine learning application tasks, even though to this day only as a provision for 2D renderings of their surfaces. Interests of the research community include the description of interesting features such as cuneiform signs on cuneiform tablet surfaces and their connection to other text contents or other cuneiform artifacts. Knowledge graphs provide machine learning approaches Stotzner_2023_ICCV stotzner2023r with unique opportunities to connect different kinds of data using a unified data format.

To describe 3D meshes, several vocabularies have been developed in the context of the cuneiform studies project:

  • MeshSPARQL: A vocabulary to describe essential mesh elements

  • Gigamesh Metadata Vocabulary: A vocabulary which describes metadata of a 3D model. The metadata can be generated using the Gigamesh Software Framework

  • 3DCAP Vocabularies: An ontology model to describe the creation of a 3D model. It has been applied to different scanning softwares

9.4.2.2.  CARARE Metadata Schema

The CARARE metadata schema d2013carare is a harvesting schema intended for delivering metadata about an organisation’s online collections, heritage assets and their digital resources. The strength of the schema lies with its ability to support the full range of descriptive information about monuments, building, landscape areas and their representations. The CARARE metadata schema builds on existing standards and best practice from a number of different countries in Europe and the rest of the world.

9.4.2.3.  IIIF 3D

The International Image Interoperability Framework (IIIF) standard snydman2015international is currently developing a specification for the standardization of 3D viewers. The viewer specification includes the visualization of 3D models including lighting positions, a scene graph and annotations in the form of additional 3D objects added to a 3D scene. A GeoSPARQL 3D standard might need to be compatible with, or include a compatibility statement of, converting 3D objects encoded in GeoSPARQL to the IIIF viewer specification. A prototype implementation might be necessary to comply with this specification.

9.4.3.  ChgOnto

Grottoes & heritage ontology. This paper focuses on enhancing 3D models of Chinese grottoes by adding semantic information. It develops a knowledge graph that links 3D elements—such as caves, Buddha statues, walls, and decorations—to their properties and spatial relationships, making the 3D models more meaningful, understandable, and useful for cultural heritage documentation and analysis.for grotto components, spatial relations, with GeoSPARQL + CIDOC CRM yang2023knowledge.

9.4.4.  OntPreHer3D

OntPreHer3D is an extension of the CIDOC CRM ontology. It is designed to support the FAIR preservation and documentation of 3D cultural heritage models. The ontology captures relationships between 3D models, their components, and real-world counterparts, while also documenting the reasoning, uncertainties, and decisions behind hypothetical reconstructions. A case study of the Speyer Synagogue demonstrates how differences in modelling processes can affect final 3D models, highlighting the importance of detailed documentation for the long-term preservation, reproducibility, and reuse of digital cultural heritage. OntPreHer3D: Ontology for Preservation of Cultural Heritage 3D Models

9.4.5.  BIM and Buildings

9.4.5.1.  Industry Foundation Classes (IFC)

BIM is a paradigm in which object‐model definitions — with machine‑interpretable semantics — are exchanged, rather than relying on CAD drawings that convey only graphical semantics. The predominant open exchange standard is Industry Foundation Classes (IFC). IFC is unique in the sense that it allows expressing both geometrical as well as non-geometrical semantics.

Non-geometrical: taxonomy of objects (building elements, relational constructs, scheduling information) and related properties

Geometrical: appromximately 250 constructs related to geometry; even standards with only a geometric focus such as geosparql or collada do not reach that breadth in definitions

IFC has its idiosyncrasies and challenges, but is unrivaled in terms of market adoption in a highly fragmented industry.

9.4.5.1.1.  Product model

In IFC, a construction work is decomposed into a set of products. These products can have multiple representations. For example, a wall can be described as a solid body as well as a two-dimensional axis. These representations facilitate different views on the same data: an editable line segment or an easily visualized volume. The Object-relational nature of the IFC EXPRESS schema allows intricate relationships such as a representation context that communicates additional intent for the representation or presentation styles that can be granularly assigned to individual faces.

At the same time, such a product separates the placement (an hierarchical transformation) from the actual geometry definition. The consequence of this is that in spite of its object-relational nature, IFC product representations cannot be used for building-level topological relationships between solids, because even if two solids are touching in 3D, the fact the the placement is externalized out of the geometry definition (or the fact that faces are constructed procedurally and do not exist explicitly), means that the two faces cannot be opposite oriented twins. As such, relational geometric constructs such as space boundaries are provided as additional supplementary geometries. (Identifying faces in procedural geometries is also challenging (toplogical naming problem), so using geometric semantic overlays to annotate potentially procedural geometries makes sense)

In principle, the IFC schema has been designed in a modular fashion with independent modules for, for example, geometry, materials and meta-data. However in other cases, semantics and geometry are intertwined such as tapered extrusions (lofts) where the begin and end profile of a duct carry important semantics.

IFC also allows for decomposition, where a whole is aggregated into multiple parts for richer semantics. This allows for example to connect materials and meta-data to the frame and the glazing separately, while still being able to identify the aggregate as a single window. This is not used as frequently, partially due to inability to efficiently instantiate such aggregates as geometry instances.

9.4.5.1.2.  Evolving views on geometry

IFC is heavily influenced by the ISO 10303 (STEP) family of standards, but over time adopted its own geometric paradigms:

  • Procedural geometry and boolean operations became less prominent with the adoption of ReferenceView in IFC4. Tessellated geometry definitions were added for more compact exchange.

  • Infrastructure definitions were added with precise mathematical transition curves and a composition of a horizontal, vertical and cant (inclination) profile.

  • IFC5 with an explicit (most likely triangulated) geometry schema at the core, with semantic overlays to encode the same procedural semantics as a non-mandatory or use-case specific layer. Heavily inspired by USD with layer-based composition for collaborative exchange.

Especially the handling of tolerances means that the standard cannot effectively prescribe a consistent outcome in all cases. Tolerances are needed for BRep model with non-linear underlying geometry and/or fixed precision coordinate values, e.g higher degree nurbs curves are typically intersected with numerical approximation, so a vertex that connects two of such curves needs to have seen as a sphere with the local tolerance as its radius. This tolerance is also applied to boolean operations: an subtraction volume can be slightly inwards of the first operand but is still expected to pierce through the volume and increase surface genus. This contrasts with the desire of using IFC as a legal basis in contracts. NB Tolerances stand in the way of using existing approaches for SFA geometry predicates such as PostGIS+SFCGAL which is based on arbitrary precision boolean logic as implemented in CGAL without tolerances.

9.4.5.1.3.  Use cases

The most successful use case on BIM data is coordination and visualization where multiple aspect models are geometrically overlaid in order to find issues, which are then communicated to the authoring software where they are addressed. This approach works, because it respects that individual disciplines all have their own specialistic software.

Design to design workflows are much harder to realize, although some Model View Definitions have been developed on top of IFC that enable the transfer of design intent in specific and constrained scenarios, such as precast concrete and structural steel.

Long-term preservation of building information is difficult because of the fact that IFC models are difficult to mutate, because they are so explicit and don’t contain the vendor-specific design intelligence. Therefore native software cannot always re-import IFC models, but also the native models degrade over time because of the need to migrate to newer editions of the software. Software that can directly operate on IFC to make modifications is still experimental.

BIM-GIS integration is challenging because it requires familiarity with both domains on where to draw the line between euclidean and non-euclidean geometries and acceptable error metrics.

Simulations on IFC building models are often challenging because the ‘bag of individual elements’ does not provide a good foundation higher order topological representations required for flow-of-energy type of simulations. For e.g thermal simulation a topological view of space boundaries is required. They have been added as secondary set of ternary relationships, but usage of more specific-purpose and simpler schemas sees still more usage in industry. In general, IFC models are created for a specific purpose and wide-spread usage of those models in nieghbouring domaisn remain challenging because modelling for those neighbouring purposes requires alignment on the worldviews and levels of detail that is often beyond the scope in which such models are procured.

9.4.5.1.4.  Implications and questions:
  • Euclidean / non-euclidean; is a CRS required?

  • Separate representation+placement → enables efficient reinstantiation, but hinders topological relationships because you require the pair of placement+geometry to locate in space

  • Geometry as leaf-values or object-relational model : cannot encapsulate geometry into a single literal, but allows for richer semantics

  • BRep model (topology + geometry + orientation + location) vs polyhedral model (e.g halfedge) vs explicit loops of point coordinates

  • Procedural vs implicit (e.g constraints) vs explicit (polyhedra)

  • Tolerances

  • Decomposition inside or outside of the ‘geometry ontology’

  • Are infra geometries (hor + ver alignment + cant, for positioning and sweeps) in scope?

9.4.5.2.  BOT (Building Topology Ontology)

AEC — Building domain ontology for storeys, spaces, elements + 3D mesh links; used with separate geometry vocabularies [34]. |

9.4.5.3.  Linked Building Server

Over the last years, Building Information Modelling (BIM) has been increasingly adopted in building projects for its benefits to collaboration and associated risk mitigation. Recent work is trying to make this data available over the web (web-based BIM applications). Most notable in making building data web-ready is the linked building data (LBD) initiative. This group has worked on a number of vocabularies and ontologies, thereby starting from a linked data approach (RDF graphs), aiming at representing building data on the web. Linked Building Data Server

9.4.6.  BIMSPARQL

This initiative proposes extending SPARQL with functions for querying IFC building data to simplify queries and derive information from 3D geometry for BIM requirement checking. The functions are represented as RDF vocabularies and implemented using a combination of declarative rules and procedural programming. Evaluation with realistic requirement-checking scenarios demonstrates that the approach supports spatial and logical reasoning and can combine building and regulatory data from multiple sources. [42]

Figure 3 — IMSPARQL.

9.4.7.  stSPARQL

In Modeling and Querying Metadata in the Semantic Sensor Web: the Model stRDF and the Query Language stSPARQL [49], Koubarakis and Kyzirakos describe the extension of SPARQL with temporal information. These paterns can also be used for GeoSPARQL.

9.4.8.  OntoBREP and OntoSTEP

OntoBREP is an ontology that can be used to describe CAD by representing boundary representations (B-Rep) using OWL. Geometric entities are represented semantically. For example, a circle is described by its coordinate frame and radius instead of a set of polygons. The ontology represents geometric constraints between objects and their individual faces or edges, enabling CAD geometry to be linked with additional knowledge and used for applications such as shape recognition and robot task planning. [36]

OntoSTEP translates STEP schemas and their instances, originally defined using EXPRESS, into OWL. This creates a semantically representation of product and CAD information. The approach enables reasoning, inference, and querying over existing CAD data and provides a way to combine information represented using different modeling languages. ontostep

OntoBREP and OntoSTEP represent approaches in which geometry are brought into the Semantic Web at a relatively deep semantic level. This results in potentially large and complex knowledge graphs.

Different approaches for representing geometry in the Semantic Web have been investigated [30] ranging from integrating geometric structures into the knowledge graph to linking semantic resources to external geometry representations or files

Figure 4 — Approaches_of_Geometry_in_Linked_Data.
Figure 5 — Implementation_of_approach_1.

9.4.9.  ENVON

Robotics / manufacturing ontology that integrates contextual, topologic, geometric info for 3D environments; BFO‑based 3D shape ontology; BREP/CSG distinctions [43].

Use of domain specific ontologies Domain-specific 3D ontologies are typically expressed using RDF/OWL, defining concepts and relationships that capture the semantics of a particular application domain [FlotynskiWalczak2017] pittarello2006semantic walczak2019inference.

Geometry, topology, scene structure, and domain semantics are often represented by separate but complementary ontologies that can be combined at query time for integrated queries, such as BOT with geometry and sensor (SOSA/SSN or SAREF) ontologies in building applications [43] [34].

9.4.10.  Location ontologies

9.4.10.1.  Relative Location Ontology (Reloc)

The Relative Location Ontology (RELOC) enables the expression of the spatial relationship between two objects using directional-topological terms. The ontology is designed to be compatible with the natural language-based approach of describing relative locations, enabling the conversion of existing location descriptions into structured spatial graph representations. The ontology provides directional, axis-related properties (e.g., longitudinal axis: front, center, rear) and topological properties (e.g., meet, contained in, intersect). These properties are finally merged into combined properties (e.g., containedInFront) to reflect the spatial information of statements like ‘A is in the front part of B’. The application context of the RELOC Ontology is the processing of existing damage documentation of bridges.

9.4.10.2.  InfraspatialOT

The InfraspatialOT ontology, described in the paper: infraspatialOT: An Ontology for the Representation of Spatial Relationships in Road Infrastructure, provides a semantic model for representing road infrastructure elements and their spatial relationships to reference elements. It distinguishes between localisation, which describes where an infrastructure element is located along a reference element, and positioning, which captures its relative spatial position, including horizontal and vertical relationships. Positioning relations can further specify whether a distance is involved. This structure enables road infrastructure elements and their spatial relationships to be represented and queried consistently using semantic technologies such as SPARQL.

9.4.11.  Medicine and Chmistry

9.4.11.1.  3D Microscopy Metadata Standards (3D-MMS)

The 3D Microscopy Metadata Standards (3D-MMS) was developed by the BRAIN Initiative to establish a consistent way of describing 3D microscopy datasets, particularly datasets of brain tissue. Its purpose is to provide enough information for someone who did not generate the data to understand, find, interpret, reuse, and potentially integrate the dataset with other datasets. The 3D-MMS-metadata can be used to describe how the image volume is oriented and scaled, so that a position inside the microscopy dataset has meaningful spatial coordinates. [53]

9.5.  3D Topology

9.5.1.  Topological Relationships and Their Use

The book chapter Topological Relationships and Their Use highlights that topological relationships are well established for simple 2D objects, while 3D topological operations remain less developed. It identifies the need to support more complex 3D objects, including solids with holes and tunnels, and suggests reusing existing spatial operators as a starting point for extending topological analysis to 3D.

9.5.2.  Extension of RCC*-9 to Complex and Three-Dimensional Features and Its Reasoning System

The work described in the paper Extension of RCC*-9 to Complex and Three-Dimensional Features and Its Reasoning System, defines semantics of 3D bodies, regions, and lines, which can support the definition and interpretation of 3D spatial relations and operations. It provides a formal topological foundation that can be interesting for GeoSPARQL 3D.

9.6.  Implementations

The related work above primarily address 3D geometry semantics. A complementary aspect is the computational processing of the 3D representations. Implementations of 3D geometry processing provide the algorithms and data structures required to perform operations such as intersection, containment, distance calculation, Boolean operations, and topology analysis. This section reviews established geometry-processing libraries and systems, including CGAL, SFCGAL, OpenCASCADE, and Topologic, and considers their relevance to the implementation of 3D spatial operations in GeoSPARQL.

9.6.1.  CGAL → SFCGAL → PostGIS

CGAL (Computational Geometry Algorithms Library) provides data structures and algorithms for computational geometry, including operations on geometric objects that can serve as a computational foundation for spatial processing. SFCGAL builds on CGAL to provide additional support for 3D and volumetric geometries and operations, including Boolean operations and geometric predicates. SFCGAL is integrated with PostGIS, a spatial database extension for PostgreSQL, allowing such geometry-processing capabilities to be used within a database environment. Together, these technologies illustrate how 3D geometric representations can be connected to computational geometry algorithms and exposed through a spatial database system, providing a relevant implementation perspective for 3D spatial operations in GeoSPARQL.

9.6.2.  OpenCASCADE

OpenCASCADE is an open-source software platform for 3D geometric modelling and CAD applications. It provides data structures and algorithms for representing and processing geometric and topological entities, including points, curves, surfaces, solids, and B-Rep models. The platform supports operations such as geometric transformations, Boolean operations, intersections, and shape analysis. Its explicit representation of geometry and topology makes OpenCASCADE relevant for the computational processing of 3D solids and for investigating how B-Rep-based geometry could be supported by a GeoSPARQL 3D implementation.

9.6.2.1.  OpenCASCADE-inspired BRep ontology

Perzylo, A., Somani, N., Rickert, M., & Knoll, A. (2015, September). An ontology for CAD data and geometric constraints as a link between product models and semantic robot task descriptions. In 2015 IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 4197-4203). IEEE.

https://ieeexplore.ieee.org/abstract/document/7353971

[35]

9.6.2.2.  Topologic

Jabi, W., & Chatzivasileiadi, A. (2021, January). Topologic: exploring spatial reasoning through geometry, topology, and semantics. In Formal Methods in Architecture: Proceedings of the 5th International Symposium on Formal Methods in Architecture (5FMA), Lisbon 2020 (pp. 277-285). Cham: Springer International Publishing.

https://topologic.app/

jabi2021topologic

9.6.3.  BRep vs mesh/polyhedron

BRep - Curved surfaces - Topology: connected components as shells, solids with inner voids, etc. - Clean APIs due to inheritance: e.g fn extrude(Topo) -> Topo, for vertex → edge; edge → face; face → solid; solid → solid - Extra indirections: edge → vertex[] → point - Depending on implementation can be inefficient, e.g outer wire of face not explicitly marked need to be checked wrt infinite point - Data integrity and validation a bit harder

Mesh/polyhedron - Potentially fewer indirections - Triangle meshes robust and well understood - Many different data models though, e.g half-edge (only manifold), indexed faceset (no adjacency info), winged/quad/radial edge

B-Rep and mesh/polyhedron representations differ in how 3D geometry and topology are modelled. B-Rep explicitly represents curved surfaces and topological relationships between vertices, edges, faces, shells, and solids, making it suitable for complex solid models, but it can involve more complex data structures and validation requirements. Mesh and polyhedral representations generally use simpler discrete geometries, often based on triangles, with several possible data structures for representing adjacency and topology, such as half-edge, winged-edge, and indexed face sets. For GeoSPARQL 3D, this distinction is relevant because the underlying representation can affect the precision, robustness, and implementation of spatial operations.

9.7.  To consider

https://link.springer.com/article/10.1007/s10845-023-02246-6 Ontology of 3D virtual modeling in digital twin: a review, analysis and thinking

[54]

To help novice engineers understand and scheme 3D virtual modeling in digital twin for future research and applications, this paper reviews 106 digital twin 3D modeling cases with their characteristics, including deployment targets, purposes & roles, collaborative models, data flows, the autonomy of 3D modeling, fidelity, twinning rates, enabling technologies, and enabling tools.

Open standard for particle-mesh data (openPMD)

The openPMD standard, short for open standard for particle-mesh data files is not a file format per se. It provides guidance for meta-data and naming schemes. openPMD provides naming and attribute conventions that allow the exchange of particle and mesh based data from scientific simulations and experiments. Its primary goal is to define a minimal set/kernel of meta information that allows to share and exchange data to achieve portability between various applications and different algorithms, a unified open-access description for scientific data (publishing and archiving), and a unified description for post-processing, visualization and analysis. If outputs from programs, devices (such as cameras), simulations or post-processed data-sets, contain a minimal set of meta information as provided by openPMD, data can be exchanged between those with minimal effort, with the same tools used for visualization.

[28]

9.8.  Vanilla 3D geometry handling in the Semantic Web

Different ontologies handle geometry in the Semantic Web in different ways. This section describes how 3D geometry is handled by different ontologies, rather than by GeoSPARQL. It compares approaches such as BOT, OMG, FOG, BIMSPARQL, GEOM, OntoBREP, and OntoSTEP, highlighting how each ontology represents, links, or manages geometric information within the Semantic Web.

9.8.1.  BOT (Building Topology Ontology)

The Building Topology Ontology distinguishes zones and elements. It also has topological relations as bot:containsZone and bot:hasElement. Any bot:Zone or bot:Element can be assigned a 3D Model using some existing data format for 3D models. Two properties are defined for this. The bot:hasSimple3DModel datatype property links a bot:Zone or bot:Element to a 3D Model encoded as a literal. If the data format is textual, then the lexical form of the 3D Model literal SHOULD be encoded as a Unicode [UNICODE] string, which SHOULD be in Normal Form C [NFC]. If the data format is binary, then the lexical form of the 3D Model literal SHOULD be encoded using a base32 encoding [rfc4648]. The bot:has3DModel object property links a bot:Zone or bot:Element to some IRI that identifies a 3D Model. This 3D Model can then be described using some dedicated RDF vocabulary. Else, the 3D Model IRI could be dereferenceable, and when looking up the IRI one could retrieve a representation of the 3D Model with some existing data format for 3D models.

Figure 6 — Example of a graphical feedback from a request for all wall elements adjacent to a particular space using BOT terminology. The 3D model is described as an OBJ-formatted mesh.

source: https://journals.sagepub.com/doi/pdf/10.3233/SW-200385

9.8.2.  OMG (Ontology for Managing Geometry)

The Ontology for Managing Geometry (OMG) is an ontology for attaching geometry descriptions to their corresponding things (e.g. building objects). The OMG is designed to provide three levels of adding the geometry descriptions which can be used and combined flexibly. The levels are designed to enable the attachment of metadata and comprise of the following functionalities:

Level 1: Direct connections between things and their geometry descriptions using either an object property for RDF-based geometry descriptions or a datatype property for non-RDF-based geometry descriptions resp. links to external files. Level 2: Introduction of an intermediate node between the things and their geometry descriptions. By reifying the geometry description, handling of multiple geometry descriptions of the same things is empowered, metadata (as tags) can be added and dependencies between geometries can be modelled. Level 3: Introduction of an intermediate node between the reified geometry and the geometry description to add geometry states. Thus, the version history of a geometry description can be described and stored.

9.8.3.  FOG (File Ontology for Geometry formats)

The File Ontology for Geometry formats (FOG) provides geometry schema specific relations between things (e.g. building objects) and their geometry descriptions. These geometry descriptions can be (1) RDF-based (e.g. using specific ontologies such as GEOM, OntoBREP, etc.), (2) RDF literals containing embedded geometry of existing geometry formats and (3) RDF literals containing a reference to an external geometry file.

such as OBJ, glTF and STEP, to be embedded in RDF or referenced as external files. Thus, while GeoSPARQL primarily describes geospatial geometry, BOT, OMG and FOG provide approaches that are more focused on building and construction geometry and the use of existing geometry formats.

the File Ontology for Geometry formats (FOG), a method for embedding and exchanging different 2D and 3D geometry formats within RDF graphs. FOG allows geometry data to be stored, referenced, and automatically identified, making it easier to exchange building geometry between different software and stakeholders.

9.8.4.  LBD Server, IFC2LBD and IFC2LBD-NEO

To make BIM data accessible on the web, the Linked Building Data (LBD) initiative applies Linked Data principles, using RDF, vocabularies, and ontologies to represent building information. To make this information practically accessible, a platform is needed that combines semantic building data with 3D visualisation. The LBD Server addresses this need by allowing users to upload building data, visualise its 3D geometry, and link geometric objects to their underlying semantic information. This enables users to explore both the physical and semantic aspects of a building within a web-based environment.

Figure 7 — LBD_Server_connectivity_GLTF_LD.

source: [_3e4260b3605459b8ce220cfb42a3525]

IFC2LBD makes the semantic transformation itself a central component. It converts IFC into RDF using LBD ontologies such as BOT, PRODUCT and PROPS. The result is a graph representation that can be queried and linked on the web. The original IFC-to-LBD work explicitly aimed to produce a simpler, modular representation than directly using the full ifcOWL structure. IFC2LBD-Neo takes this further by redesigning the converter as a modular, staged pipeline. It additionally uses ontologies as BEO, bSDD and OMG/FOG. The geometry is generated separately as glTF, Fragments or Parquet outputs.

Figure 8 — IFC2LBD Pipeline.

source: https://github.com/ISBE-TUe/IFC2LBD-Neo

Figure 9 — Demo Application with use of File Ontology for Geometry Formats FOG

source: https://ec-3.org/wp-content/uploads/2025/10/EC32019_166.pdf

9.8.5.  Routing using LADM and IndoorGML

IndoorGML (OGC) models indoor environments as cells, such as rooms, corridors and stairwells, and derives a navigation graph in which spaces are nodes and their connections, such as doors and openings, are edges. The Land Administration Domain Model (LADM, ISO 19152) describes the rights, restrictions and responsibilities attached to spaces. The combined LADM-IndoorGML model uses these legal aspects to define which indoor spaces are accessible to which users.

[50] applied this combined model to building evacuation. They showed that access rights depend on time (normal hours, off-hours and crisis situations) and on the type of user, such as visitors, employees or students, and that these rights determine which routes users can take to the nearest emergency exit or safe zone.

10.  Requirements for GeoSPARQL 3D

This section provides an overview of feedback received on the current version of the GeoSPARQL standard (version 1.1) regarding 3D usage. It helps to identify some of the barriers to use, and to outline requirements that have not been addressed that may encourage greater uptake.

10.1.  Extension 1: 3D representations

GitHub Issue URI

Category

Semantic improvement

Description

GeoSPARQL primarily focuses on spatial representation and querying rather than visualization, formats such as glTF and 3D Tiles could provide a complementary representation and delivery mechanism for the resulting 3D data. GeoSPARQL should include ways to represent 3D data in a knowledge graph. 3D data should be included in common 3D formats and 3D data should be includable as a text literal and a file representation. Where 3D data is intended for web-based visualization, formats should preferably be selected that are well supported by commonly used JavaScript and web-mapping libraries. This would facilitate the visualization and delivery of 3D knowledge-graph data on the web and help establish a practical bridge between BIM and GIS, enabling 3D information originating from BIM to be queried, linked, and visualized together with geospatial data.

Some common formats which could be considered for inclusion are:

Figure 10 — Linked Building Data Server using Semantic Graphs and GLTF-Models

Related work

  • X3D Ontology

  • GOM

  • OMG

  • FOG

  • CityRDF/OntoCityGML

  • ChgOnto

  • OntoBREP

  • LBD Server/IFC2LBD

10.2.  Extension 2: Topological relations of 3D geometries

GitHub Issue URI

Category

Semantic improvement

Description

GeoSPARQL should include ways to represent relations between 3D geometries and relations between 3D geometries and geometries of lower dimensions. The relations should be expressable in property relations and should be queryable using SPARQL extension functions.

  • Topological relations in 3D

The topological possibilities in a 3D space differ from those in 2D space. The mathematical formulations used to verify topological relationships in 2D are different from those required in 3D. Furthermore, the algorithms used to analyze topological relationships also differ, as the sequence of analyses needed to identify and evaluate these relationships is not the same in two- and three-dimensional space. As a result, topological analysis in 3D requires a fundamentally different approach from that used in 2D.

The example below illustrates the differences in the possible topological relationships in two- and three-dimensional space for surfaces and lines. All relationships drawn in (2D) exist in both 2D and 3D environments. The relationships illustrated in 3D can only exist in a true 3D environment. It should be noted that not all theoretically possible topological relationships have been assigned a descriptive name. Some relationships are identified only by a numerical identifier within the underlying topological model and therefore cannot be queried directly using named predicates (such as Disjoint, Intersects, or Contains). Investigating which of these unnamed relationships are relevant and should be exposed as explicit query operators in a 3D environment could be an interesting direction for future research.

Figure 11 — Surface and line topological relations in 2D and 3D space

Disjoint (R031)
Inside (R223)
Touch (R287, R279)
Covers (R439, R435)
Crosses (R159, R243, R247, R255)
Equal (R403, R407, R415)
CoveredBy (R467, R471, R479)
Contains (R179, R183, R191)
Overlaps (R499, R503)
Nameless topological situation (R127, R375, R055, R063, R339, R095, R343, R119, R351)

The semantic definition of a topological relationship, for example disjoint, is identical in both two- and three-dimensional spaces, the outcome of a disjoint function depends on the space in which the geometries are evaluated.

A Query3D evaluates the topological relationship directly in the original three-dimensional Euclidean space. In contrast, a Query2D first projects the geometries onto a two-dimensional plane and subsequently evaluates the topological relationship in this projected space. Consequently, a Query2D does not determine whether two 3D geometries are disjoint in 3D space, but whether their 2D projections are disjoint in 2D space.

As a result, the same pair of geometries may produce different outcomes depending on whether they are evaluated using Query2D or Query3D. Two objects may be disjoint in three-dimensional space while their projections overlap, causing Query3D to return true for Disjoint and Query2D to return false.

Figure 12 — Disjoint with Query2D and Query3D functions

The example assumes that both geometries are in the same dimension (2D). It is also common to analyze the topological relationship between a geometries of differt dimensions 0D, 1D, 2D or 3D. Such comparisons require both geometries to be represented in the same spatial dimension before a meaningful topological analysis can be performed.

This can be achieved in one of two ways:

  • embedding the 2D geometry into 3D space; or

  • projecting the 3D geometry into 2D space.

It is recommended that these transformations are performed explicitly and with a consciously selected Z-value.

For example, when ST_Force3D is applied to a 2D geometry, most implementations automatically assign a Z-coordinate of 0, thereby producing a valid 3D geometry. This default value does not necessarily indicate that the geometry is actually located at an elevation of zero. The value merely serves as a placeholder to satisfy the requirements of a three-dimensional coordinate system. After conversion, it is no longer possible to distinguish whether a Z-value of 0 originated from the source data or was automatically introduced during the conversion process. For applications in which elevation is meaningful, this ambiguity may lead to incorrect interpretations or topological analyses. Explicitly specifying the Z-value during the conversion makes this modeling decision transparent and reproducible.

When a Query2D is requested for geometries that exist only as 3D objects without an explicitly defined projection, the system should indicate that the question is not directly applicable. Instead, it should require the user to specify or confirm the projection to be used before performing the topological evaluation. This would make the dimensional context explicit and help prevent misinterpretation of the query results.

Figure 13 — 2D Topological relations for 3D objects
Figure 14 — 3D Topological relations for 3D objects

Related work

  • Topological Relationships and Their Use

  • Extension of RCC*-9 to Complex and Three-Dimensional Features and Its Reasoning System

10.3.  Extension 3: Directional relations of 3D geometries

GitHub Issue URI

Category

Semantic improvement

Description

Topological relations describe the relationships between objects independently of perspective. Relative directional relations, on the other hand, describe relationships between objects that depend on a reference frame or viewpoint. Directional relationships distinguishes different perspectives

  • viewer-centered, deictic perspective (1 constellation, 2 observers results in 2 spatial relationships)

  • object-centered, intrisic perspective (object orientation as reference frame)

  • extrinsic, external perspective (universal reference systems like gravity vector, coordinate systems, axes, linear reference elements)

In 2D, relations such as left of, above (north of), and beside are often sufficient. In 3D, additional relations become relevant, such as above (on top of)/below and in front of/behind.

Relative directional relations can also provide context in 2D, but many spatial situations can already be described using topology (e.g., inside, touching, overlapping). In 3D environments, however, directional relations become more important because height and depth introduce additional dimensions that cannot be distinguished by topology alone.

For example, describing that a “damage location is underneath a bridge deck” requires both a topological relation (e.g., a 3D contains relation) and a relative directional relation (e.g., below).

This combination of relative location and topological relations has been described by Anne Göbels and Jakob Beetz in the Reloc ontology. Reloc ontology.

This ontology brings natural language closer to the 3D model by formalizing descriptions of relative directions and topological relationships.

Figure 15 — 3D Topological and Directional relations for 3D objects

Related work

  • Reloc Ontology

  • SpatialOT Ontology

10.4.  Extension 4: Routing

GitHub Issue URI

Category

Semantic improvement

Description

GeoSPARQL should be able to query for the shortest route through a 3D space made up of smaller, connected 3D spaces when topological relations are not available. By enabling this, GeoSPARQL can describe spatial data and where features are located, while also supporting analysis/description of how things can move between them. By deriving connections between 3D objects(spaces) using their geometry and openings, GeoSPARQL could support shortest-path and accessibility analysis without requiring all topological relationships to be explicitly modelled. This could be useful for applications such as emergency evacuation, indoor navigation, fire compartmentation and safety analysis, accessibility assessment, and analysing potential pathways for smoke or fire spread.

Figure 16 — Space and doors nodes and connecting edges for routing.

Related work

  • Routing using LADM and IndoorGML

  • BOT

  • Topologic

10.5.  Extension 5: Appearance of 3D geometries

GitHub Issue URI

Category

Semantic improvement

Description

GeoSPARQL should include ways to represent materials and textures of 3D geometries, so that geometries can be styled accordingly.

Materials include:

  • Colors of surfaces with light diffusion parameters

  • Images as textures, which are associated with surfaces of the 3D object

The main purpose is not to make GeoSPARQL a visualisation format, but to allow existing rich 3D formats to retain their textures, colours and materials while their geometries can still be queried and analysed spatially. Visualisation is then one possible application of this information. This could also enable queries based on material or texture information, allowing users to combine spatial and material information. For example, a user could query: “Find all features within this area that contain lead.” Visualisation is then one possible application of this information, while material-based spatial analysis provides additional possibilities for applications such as building safety, renovation, and environmental risk assessment.

Figure 17 — Diagram illustrating the use of the OntPreHer3D ontology for the hypothetical virtual 3D reconstruction process with the use of a simulation event.

Related work

  • X3D

  • IIF 3D

  • OntoPreHer3D

  • IFC

  • CityRDF

10.6.  Extension 6: Multi-component 3D geometries

Github Issue URI

Category

Semantic improvement

Description

GeoSPARQL should include ways to define multi-component 3D geometries, whereas each component expresses its own semantics. For example, parts of a building could have different semantics according to the function of the building components and would be classified as such in an RDF graph.

Existing standards such as IFC, CityGML, SML already provide mechanisms for decomposing 3D objects into 3D parts. GeoSPARQL could build on these existing relationships, allowing the geometries of individual components to be queried and analysed together with their semantics. This would enable queries that combine spatial and semantic information, for example, identifying all building components within a specific area that are made of lead, or finding all walls that are part of a particular building and intersect a given spatial region.

Figure 18 — Model of a bridge where the bridge parts "Pier" and "Deck" contain the geometries of the bridge.

Related work

  • CityRDF

  • OntoCityGML

  • IFC

  • BOT

10.7.  Extension 7: Positioning of 3D geometries

Github Issue URI

Category

Semantic improvement

Description

GeoSPARQL should include ways to position 3D geometries in a 3D space. Commonly 3D geometries are rotated, translated and scaled using commonly defined operators in computer graphics. Similar operations are needed for the relative positioning of 3D objects in GeoSPARQL, as properties and potentially as functions.

Related work

  • X3D Ontology

  • Common Shape Ontology

  • OntoBREP

  • OpenCASCADE

10.8.  Extension 8: Alignments of GeoSPARQL 3D

Github Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should be aligned to other vocabularies and standard which currently provide 3D support in different knowledge domains. Especially alignments to ifcOWL and the X3D vocabulary would position the GeoSPARQL vocabulary as a link between these different standards.

Related work

  • IFC

  • X3D

  • BOT

  • OMG

  • FOG

  • CityGML

10.9.  Extension 9: Alignments of Engineering CRS to Geospatial CRS

Github Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should provide the opportunity to align a local coordinate system in which most 3D geometries are defined with a coordinate reference. While this work might only be partially done within the scope of GeoSPARQL itself, GeoSPARQL should be aligned with the emerging Ontology CRS developments of OGC and provide necessary functions or properties to create the link.

Related work

  • IFC

  • CityGML

10.10.  Extension 10: Geometry Extrusion

Github Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should provide the opportunity to extrude 2D geometries to 3D geometries and vice versa.

Related work

  • CGAL → SFCGAL → PostGIS

  • OpenCASCADE

  • BRep vs mesh/polyhedron

10.11.  Extension 11: Geometry Attributes

Github Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should provide functions and properties that describe essential properties of a 3D Geometry such as its minimum and maximum height, width and depth and its CompactnessRatio.

Related work - CGAL → SFCGAL → PostGIS - BIMSPARQL

10.12.  Extension 12: Non-topological Query Functions — 3D Extension

Github Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should provide the opportunity to execute non-topological query functions on 2D and 3D geometries commonly used in geospatial databases. Proposed extensions include following functions:

  • geometry extrusion to the specified line segment

  • geometry extrusion to the specified height

  • spatiotemporal geometry extrusion to the specified line segment with specific start and end time

Related work - CGAL → SFCGAL → PostGIS - BIMSPARQL - stSPARQL

10.13.  Extension 13: 3D Geometry available in Open BIM (IFC)

Github Issue URI

Category

Semantic improvement

Description

When using GeoSPARQL with OPEN BIM (IFC), the geometry can either be used directly from the IFC format (natively) or converted to a GeoSPARQL-compatible format. A converter can be used as an intermediate layer, but this introduces several drawbacks:

  • Additional complexity: an extra component must be maintained.

  • Performance overhead: geometries need to be extracted and converted.

  • Synchronization issues: IFC changes require the converted geometry to be regenerated.

  • Loss of geometric information: IFC can contain richer 3D geometry than formats such as WKT can represent.

  • Converter dependency: the quality and supported geometry types depend on the conversion tool.

IFC is a standard with a rich set of geometric primitives, with core concepts defined in the geometry, presentation, material, topology and profile resource subschemas. But also outside of these modules, there are various concepts that have geometrical implications such as openings and space boundary relationships in the productextension subschema. The listing Annex C: Overview of IFC Geometry tries to provide a comprehensive overview broken down per the categories below:

  • Relational; typically IfcRelationship between elements subtypes, but also clearance geometry which is a potential additional shape representation identifier

  • Product-level; resources applicable the IfcProduct such as material-based styling; openings

  • Item-level; the individual items that make up representation of the element; which are in turn potentially affected by product-level features such as openings and styling

  • Context; provides additional information on individual items such as precision, target scale and semantic use of the geometry

  • Geo-referencing;

Prevalence is measured as a text-based scan through a set of 1000 files (500 for novel constructs). The number indicates percentage of model featuring this entity; and then the average number of instances for those models that contain any. See second table for more details.

A questionnaire was conducted to identify which types of geometry different stakeholders would like to have available.

Related work

  • IFC

  • BOT

  • LBD Server/IFC2LBD/IFC2LBD-Neo

  • BIMSPARQL

  • OMG/FOG

  • OntoSTEP

10.14.  Extension 14: Ratios Between Geometry Properties

GitHub Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should provide means to assess ratios between geometry properties. Proposed function comparing percentage area ratio will be useful in AECO industry use cases such as measuring ratio of total floor area of a building to land parcel area for compliance checking. The function allows to compare ratios of 2D area with surface area of 3D geometries apart from measuring area ratios for geometries of the same dimensionality.

Related work

  • BIMSPARQL

  • CGAL → SFCGAL → PostGIS

10.15.  Extension 15: 3D Geometry Analysis

GitHub Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should provide functions useful for 3D geometry analysis. An example of such function is gross footprint area of 3D geometry sliced at a certain level. For instance, urban planners will be able to use this function to estimate the gross floor area of the building by slicing at the specified floor heights whenever they work with 3D models have only the building exterior, plus a specification of floor heights (but not the individual floors as distinct features). There should be also support for modeling and analysis of more complex geometry aggregates (e.g. volumetric survey plans and their intersecting parts).

Related work

  • CGAL → SFCGAL → PostGIS

  • BIMSPARQL

  • CityGML

10.16.  Extension 16: Geometry Transformations

GitHub Issue URI

Category

Semantic improvement

Description

GeoSPARQL 3D should provide functions useful for geometry transformations and complex 3D geometry representations. One such example is use of triangulated irregular networks (TIN) for digital elevation models (DEMs), digital surface models (DSMs) or digital terrain models (DTMs). Turning any geometry into TIN will allow for integrating it into such models. Translation by vector function allows for geometry alignments and adjustments while preserving relations between its points.

Related work

  • CGAL → SFCGAL → PostGIS

  • OpenCASCADE

  • CityGML

  • BRep vs mesh/polyhedron

10.17.  Concluding overview of requirements for 3D geometry in the semantic web

The requirements indicate that a GeoSPARQL extension for 3D should provide a common semantic and query layer for heterogeneous 3D representations. Such an extension should support the representation and semantic linking of 3D geometries, 3D topological and directional relations, spatial analysis and measurement, positioning and coordinate reference systems, visualisation, as well as routing. The standard should interoperate with established geometry formats and domain-specific models. This would allow specialised formats to retain their detailed geometric, visual, and domain-specific capabilities, while GeoSPARQL provides a common framework for representing, linking, discovering, and querying their spatial semantics in the Semantic Web. In this role, GeoSPARQL 3D would function primarily as an interoperability layer between geospatial, BIM, and other 3D domains.

11.  Beneficiaries and benefits

This section describes the potential beneficiaries and benefits of representing 3D spatial data using semantic and graph technologies. The requirements identified for 3D-GeoSPARQL provide a basis for achieving these benefits by supporting the representation, linking, querying, and reasoning of 3D spatial information across different domains and datasets. Furthermore, a collection of use cases demonstrate how semantic and graph technologies are used together with spatial data to tackle real world problems.

11.1.  Semantic-functional value of 3D-GeoSPARQL

Value for data reasoning, formal description, and semantic interoperability

11.1.1.  Meaningful creation and querying of 3D geometry

Whether manually or programmatically defining 3D geometries in BIM, GEO or CG environments, the GeoSPARQL standard could provide or connect to vocabulary to represent 3D structures. A 3D cube, for example, can be represented in multiple ways:

  • As a set of bounding points, lines, and faces;

  • As a base surface with an extrude function;

  • As an 3D geometric primitive (e.g., the concept of a ‘cube’ as a spatial figure).

Once GeoSPARQL offers the means to define and link 3D geometries in these different ways, it will allow both humans and machines to interpret and interact with the data effectively.

11.1.2.  Meaningful creation and querying of 3D topological relationships

Is “3D Geometry A” inside, touching, overlapping, intersecting or above “3D Geometry B”?

Being able to describe and use such topological relationships is crucial for conducting spatial analyses, formulating rules, and deriving knowledge from different heterogeneous datasets.

Beyond describing topological relationships, one should be able to query them:

What is the spatial relationship between 3D Geometry A and 3D Geometry B?

Such queries should return the appropriate topological result (e.g., “intersects”), which is essential for use cases like clash detection in design validation

11.1.3.  Derivation of geometric and topological knowledge

From explicitly modeled geometric and topological data, one should be able to infer implicit knowledge.

For instance, if 3D Geometry A is 3D inside 3D Geometry B, then we can infer that:

A does not “touch” B, and A does not “overlap” with B,

even if these facts are not explicitly stated.

For entailment an application that is compliant with the geo-spatial 3D specification would be able to answer queries like: “Does this tree have a 3D geometry?”

If the tree is defined using a MultiSolid geometry, then the answer should be “yes,” even if this is not explicitly declared as such.

11.2.  Value for user experience, visualization, and application use of 3D-GeoSPARQL

11.2.1.  Visualization

There is a growing need to visualize how 3D data in BIM and GIS relate to one another. Stakeholders want to see BIM and/or 3D Geo data of a newly planned structure visualized within the 3D Geo and/or BIM context of the existing digital city. A shared vocabulary that can present both domains in an integrated way supports this goal.

11.2.2.  Calculation and analysis

Semantic modelled 3D-model enables powerful computation and analysis. Analytical results can be displayed in dashboards operating within the GeoBIM domain. This creates a bridge between asset management (typically GIS-oriented) and project management (typically BIM-oriented), allowing for cross-domain collaboration and decision-making.

11.2.3.  Spatial querying

Spatial querying is a key function within a federated GeoBIM Network. Questions such as “What material is located in this area?” or “Where is space available for new cables and pipelines?” are examples of 3D spatial queries that can be answered when GeoSPARQL 3D is functioning effectively across systems and semantics.

11.2.4.  Machine control

A shared semantic GeoBIM Network also supports machine control. The GIS domain typically describes the existing situation, while the BIM domain describes the intended or future situation. This combination can be used to automatically instruct and guide machines in the built environment.

11.2.5.  Modeling, simulation and planning

A network of datasets with 3D-data should support the modeling, simulation and planning of future changes to the built environment. Users — whether human or machine — can use the network and GeoSPARQL 3D to propose and model modifications in either BIM or GIS formats. A well-functioning 3D semantic GeoBIM Network enables this kind of forward-looking spatial planning and design.

11.3.  Added value of the 3D-GeoSPARQL for Organisations

11.3.1.  Brings together different domains (GIS, BIM, CG)

GeoSPARQL 3D can help in bringing together different domains that work with 3D information.

11.3.2.  Enables extension to vocabularies from other domains

The vocabulary can have the possiblity to extend to vocabulaires with 3D geometry or topology from other domains, for example the Building Ontology Topology (BOT) or RELOC Ontology. Multi-domain models with georeferenced 3D and 2D city models could be also linked by CityRDF ontology based on CityGML 3.0 standard. GeoSPARQL 3D would be important enabler for data retrieval, update and analysis for such models. In addition to ontologies, it can also establish relationships to 3D file formats from other domains, such as glTF.

11.3.3.  Facilitates better interoperability between knowledge domains with spatial components (geography, aerospace, architecture, product design, (bio)chemistry, IoT, …)

A unified geometric language can help by migrating ideas and methods across fields, accelerating innovation. For example a parametic design algoritm, rule, or llm making use of geometry and topology originated in aerospace, can be re-used in the architecture domain.

11.3.4.  Integrated spatial analysis in digital twins

Digital twins combine data from multiple sources, including building models, geospatial datasets, infrastructure and regulatory information. These sources may use different data formats, data models, and vocabularies. Integrating them for spatial analysis can require dedicated software, data transformations, and application-specific connections.

Many spatial analyses, such as construction height verification, clearance analysis, distance calculation, and clash detection, can already be performed using existing GIS, BIM, and 3D processing software. The benefits of 3D-GeoSPARQL is therefore not necessarily to introduce these analyses, but to make them accessible through a common semantic and query framework.

By providing a common framework for representing and querying 3D spatial information, 3D-GeoSPARQL could enable spatial operations to be combined with semantic queries across heterogeneous datasets. For example, a building permit checking process could identify a building’s relevant components from an BIM-derived knowledge graph, retrieve the applicable spatial regulations, and evaluate the geometry of the proposed building against existing urban assets.

This approach could make spatial analysis processes more reusable across datasets and applications, reduce dependence on application-specific integrations, and improve the traceability of the spatial information used in decision-making.

Regulatory compliance and design validation — building height, underpasses, overhangs and distances to the waterfront.

Building safety and evacuation — escape routes, compartmentalisation and accessibility of emergency exits.

Infrastructure coordination and construction planning — cables, pipes, foundations and clashes.

Urban planning and environmental risk assessment — flooding, clearance, shadow and spatial integration.

12.  Annex A: Alignment GeoSPARQL and Open Source Relational Databases with Geospatial Support .

Based on:

GeoSPARQL: PostGIS: https://postgis.net/docs/PostGIS_Special_Functions_Index.html#PostGIS_3D_Functions (PostGIS Functions that support 3D) H2GIS: https://h2gis.readthedocs.io/en/latest/index.html (paragraph Geometry 3D/4D functions) Spatiallite: https://www.gaia-gis.it/gaia-sins/spatialite-sql-latest.html

13.  Alignment: GeoSPARQL and Open Source Relational Databases with Geospatial Support

13.1.  Formatting functions

Table 4
GeoSPARQLPostGISH2GISSpatialite
geof:asGeoJSONst_asgeojsonST_AsGeoJsonasgeojson
geof:asGMLst_asgmlst_asgmlasgml
geof:asKMLst_askmlST_AsKMLaskml
geof:asWKTst_aswktaswkt
geof:asEWKBst_asewkbAsEWKBasewkb
st_ashexewkb
ST_AsX3Dasx3d
link:st_asewktasewkt
st_assvgassvg
st_astextst_astextastext
astwkb
st_asbinaryst_asbinaryasbinary
geof:asDGGS
geof:asGeocode
asfgf
asgpb
asencodedpolyline
atm_astext
gcp_astext
proj_asprojstring
proj_aswkt

13.2.  Convert geometries

Table 5
GeoSPARQLPostGISH2GISSpatialite
st_Force2dst_force2d
st_ForceCurve
st_force_3dst_force3d
st_force_3dmst_force3dm
st_force_3dz
st_force_4dst_Force4D
st_force_collection
forceasnull
st_forcerhr
CG_ForceLHRforcelhr
st_forcerSFS
ForcePolygonCCWforcepolygonccw
ForcePolygonCWforcepolygoncw
normalizelonlat
project
spatnetfromgeom
spatnetfromtgeo
sridfromauthcrs
st_shift_longitudest_shift_longitude
st_wkbtosqlst_wkbtosql
st_wkttosqlst_wkttosql
tinypointencode
togars
uncompressgeometry
xb_getgeometry
st_projectpoint
st_tomultipoint
st_tomultisegments
st_curvetoline
st_geogfromtext
st_geogfromwkb
st_geographyfromtext
st_geometryfromtext
st_gmltosql
st_linefromwkb
st_linestringfromwkb
st_linetocurve

13.3.  Create geometries

Table 6
st_extrudest_extrude
CG_Extrude
st_geometryshadow
geof:boundaryst_boundaryst_boundaryboundary
geof:boundingCirclest_boundingcircle
st_BoundingDiagonal
st_minimumboundingcircle
geof:concaveHullconcavehull
geof:convexHullst_convexhullst_convexhullconvexhull
CG_3DConvexHull
geof:differencest_differencest_differencedifference
CG_3DDifference
geof:envelopest_envelopest_envelopeenvelope
geof:symDifferencest_symdifferencest_symdifferencesymdifference
geof:unionst_unionst_uniongunion
CG_3DUnion
geof:patchNst_PatchN
CG_MakeSolid
ST_LineSubstring
atm_create
atm_createrotate
atm_createscale
atm_createtranslate
atm_createxroll
st_bdmpolyfromtextbdmpolyfromtext
bdmpolyfromwkb
st_bdpolyfromtextbdpolyfromtext
bdpolyfromwkb
blobfromfile
st_buildareabuildarea
buildcirclembr
buildmbr
castautomagic
casttoblob
casttodouble
casttogeometycollection
casttointeger
casttolinestring
casttomulti
st_tomultilinecasttomultilinestring
casttomultipoint
casttomultipolygon
casttopoint
casttopolygon
casttosingle
casttotext
casttoxy
casttoxym
casttoxyz
casttoxyzm
st_collectst_collectcollect
st_collectionextractst_collectionextractcollectionextract
createnetwork
createroutingnodes
createtopogeo
createtopology
dissolvepoints
dissolvesegments
elementarygeometries
extractmultilinestring
extractmultipoint
extractmultipolygon
geomcollfromtext
geomcollfromwkb
geometrycollectionfromtext
geometrycollectionfromwkb
geometrypointencode
st_geomfromewkbgeomfromewkb
st_geomfromewktgeomfromewkt
geomfromexifgpsblob
geomfromfgf
st_GeomFromGeoJSONgeomfromgeojson
st_geomfromgmlst_geomfromgmlgeomfromgml
geomfromgpb
st_geomfromkmlgeomfromkml
st_geomfromtextst_geomfromtextgeomfromtext
st_geomfromwkbst_geomfromwkbgeomfromwkb
geosconcavehull
gpkgmakepoint
gpkgmakepointm
gpkgmakepointz
gpkgmakepointzm
gunion
hexagonalgrid
hilbertcode
linefromencodedpolyline
st_linefromtextst_linefromtext“linefromtext linestringfromtext”
“linefromwkb linestringfromwkb”
linesfromrings
linestringfromtext
linestringfromwkb
makearc
makecircle
makecircularsector
makecircularstripe
st_makeellipsemakeellipse
makeellipticarc
makeellipticsector
st_makelinest_makelinemakeline
st_makepointst_makepointmakepoint
st_makepointmmakepointm
makepointz
makepointzm
st_makepolygonst_makepolygonmakepolygon
mlinefromtext
mlinefromwkb
mpointfromtext
st_mpointfromtextst_mpointfromtext“mpointfromtext multipointfromtext”
“mpointfromwkb multipointfromwkb”
mpolyfromtext
mpolyfromwkb
multilinestringfromtext
multilinestringfromwkb
multipolygonfromtext
multipolygonfromwkb
orientedenvelope
st_pointfromtextst_pointfromtextpointfromtext
st_pointfromwkbst_pointfromwkbpointfromwkb
st_pointonsurfacest_pointonsurfacepointonsurface
polyfromtext
polyfromwkb
polygonfromtext
polygonfromwkb
st_polygonizest_polygonizepolygonize
squaregrid
st_pointst_pointst_point
topogeo_polygonize
triangulargrid
voronojdiagram
st_isovist
st_linefromwkb
st_makeenvelope
st_makegrid
st_makegridpoints
st_minimumrectangle
st_mlinefromtextst_mlinefromtext
st_mpolyfromtextst_mpolyfromtext
st_octogonalenvelope
st_polygonfromtextst_polyfromtext
st_polyfromwkb
st_ringbuffer
st_ringsidebuffer
st_sidebuffer
st_tessellate
CG_Tesselate
st_linefrommultipoint
st_makebox2d
st_makebox3d
st_makeenvelope
st_multi
st_polygon

13.4.  Edit geometries

Table 7
GeoSPARQLPostGISH2GISSpatialite
st_addz
AddGeometryColumnaddgeometrycolumn
st_addmeasureaddmeasure
st_addpointst_addpointaddpoint
addedgemodface
addedgenewfaces
addfdogeometrycolumn
DropGeometryColumn
addisoedge
addisonetnode
addisonode
addlink
addtemporarygeometrycolumn
xb_addfileid
xb_addparentid
st_interpolate3dline
ST_InterpolatePointinterpolatepoint
ST_LineInterpolatePoint
ST_LineInterpolatePoints
ST_3DLineInterpolatePoint
line_interpolate_equidistant_points
st_line_interpolate_pointline_interpolate_point
trajectoryinterpolatepoint
st_multiplyz
st_reversest_reversereverse
st_reverse3dline
UpdateGeometrySRID
storedvar_updatetitle
storedvar_updatevalue
se_updatevectorcoverageextent
storedproc_updatesqlbody
storedproc_updatetitle
topogeo_updateseeds
toponet_updateseeds
updatelayerstatistics
updatemetacatalogstatistics
st_zupdatelineextremities
st_updatez
geof:bufferst_bufferst_bufferbuffer
geof:transformst_transformst_transformtransform
geof:metricBuffer
geof:transformCRS84
CG_ChaikinWmooting
ST_Scroll
ST_WrapX
atm_invert
atm_multiply
atm_rotate
atm_scale
atm_transform
atm_translate
atm_xroll
atm_yroll
blobtofile
bufferoptions_reset
bufferoptions_setendcapstyle
bufferoptions_setjoinstyle
bufferoptions_setmitrelimit
bufferoptions_setquadrantsegments
changeedgegeom
changelinkgeom
compressgeometry
discardfdogeometrycolumn
discardgeometrycolumn
drapeline
drapelineexceptions
dropnetwork
droptopology
dropvirtualgeometry
ensureclosedrings
st_expandst_expandexpand
gcp_transform
gcp2atm
geosdensify
geosmakevalid
gpkginsertepsgsrid
inittopogeo
inittoponet
st_line_substringline_substring
st_linemergest_linemergelinemerge
linescutatnodes
loginetfromtgeo
st_makevalidst_makevalidmakevalid
makevaliddiscarded
modedgeheal
modedgesplit
modgeolinksplit
modlinkheal
modloglinksplit
moveisonetnode
moveisonode
newedgeheal
newedgessplit
newgeolinksplit
newlinkheal
newloglinksplit
offestcurve
reduceprecision
reflectcoordinates
reflectcoords
remedgemodface
remedgenewface
remisoedge
remisonetnode
remisonode
removelink
st_removepointremovepoint
ringscutatnodes
rotatecoordinates
rotatecoords
sanitizegeometry
scalecoordinates
scalecoords
st_segmentizesegmentize
setdecimalprecision
setendpoint
setmultiplepoints
st_setpointsetpoint
setstartpoint
shiftcoordinates
shiftcoords
st_simplifyst_simplifysimplify
CG_Simplify
st_simplifypreservetopologyst_simplifypreservetopologysimplifypreservetopology
singlesidedbuffer
st_snapsnap
snapandsplit
st_snaptogridsnaptogrid
st_splitsplit
splitleft
splitright
st_cutter
st_nodest_nodest_node
st_subdivide
st_translatest_translatest_translate
CG_3DTranslate
swapcoordinates
swapordinates
swapcoords
transformxy
transformxyz
st_UnaryUnionunaryunion
st_densify
st_explode
ST_FlipCoordinatesst_flipcoordinates
st_normalize
st_precisionreducer
st_removeduplicatedcoordinates
st_removeholes
st_removepoints
ST_RemoveRepeatedPointsst_removerepeatedpoints
st_rotatest_rotate
CG_3DRotate
st_rotatex
CG_RotateX
CG_RotateY
CG_RotateZ
st_rotatey
st_rotatez
st_scalest_scale
CG_3DScale
CG_3DScaleAroundCenter
st_split
st_affine
st_dump
st_DumpPoints
st_dumprings
st_dumpsegments
st_memunion
st_transscale

13.5.  Topological Relations

Table 8
GeoSPARQLPostGISH2GISSpatialite
geof:sfContainsst_containsst_containscontains
geof:ehCoveredByst_coveredbycoveredby
geof:ehCoversst_coversst_coverscovers
geof:sfCrossesst_crossesst_crossescrosses
geof:sfDisjointst_disjointst_disjointmbrdisjoint
geof:sfEqualsst_equalsst_equalsequals
TG_Equals
geof:intersectionst_intersectionst_intersectionintersection
CG_3DIntersection
geof:sfIntersectsst_intersectsst_intersectsintersects
tg_intersects
ST_3DIntersects
geof:sfOverlapsst_overlapsst_overlapsoverlaps
&&&
&&&(geometry,gidx)
&&&(gidx, geometry)
&&&(gidx,gidx)
geof:sfTouchesst_touchesst_touchestouches
geof:sfWithinst_withinst_withinwithin
st_dfullywithin
st_3DDFullyWithin
geof:ehContains
geof:ehDisjoint
geof:ehEquals
geof:ehInside
geof:ehMeet
geof:ehOverlap
geof:rcc8dc
geof:rcc8ec
geof:rcc8eq
geof:rcc8ntpp
geof:rcc8ntppi
geof:rcc8po
geof:rcc8tpp
geof:rcc8tppi
geof:relatest_relatest_relaterelate
st_CPAWithin
buildmbrfilter
st_closestpointst_closestpointclosestpoint
ST_ClosestPointOfApproach
ST_3DClosestPoint
st_envelopesintersectenvelopesintersects
filtermbrcontains
filtermbrintersects
filtermbrwithin
garsmbr
getfacebypoint
getfaceedges
getfacegeometry
getlinkbypoint
getnetnodebypoint
getnodebypoint
ptdistwithin
relatematch
st_setsridst_setsridsetsrid
sharedpaths
validatetopogeo
validlogicalnet
validspatialnet
st_dwithinst_dwithin
st_lineintersector
st_orderingequals
@
&&
&<
&<|
&>
<<
<<|
=
>>
|&>
|>>
~
~=
st_containsproperly
st_linecrossingdirection
st_orderingequals
st_point_inside_circle

13.6.  Measure

Table 9
GeoSPARQLPostGISH2GISSpatialite
geof:areast_areast_areaarea
CG_3DAreast_3darea
geof:perimeterst_perimeterst_perimeterperimeter
st_perimeter2d
st_perimeter3dst_3dperimeter
geof:metricPerimeter
geof:lengthst_lengthst_lengthlength
ST_3DLengthST_3DLength3dlength
geof:metricArea
geof:metricLength
geodesic length
geodesicarcarea
geodesicarcheight
geodesicarclength
geodesiccentralangle
geodesicchordlength
great circle length
linestringavgsegmentlength
st_length_spheroid
st_length2d
st_length2d_spheroid
st_length3d_spheroid
linestringminsegmentlength
st_svf
st_sunposition
geof:distancest_distancest_distancedistance
st_distanceCPA
geof:metricDistance
ST_3DDistance3ddistance
CG_Volume
ST_GeometricMedian
abs
acos
asin
atan
atan2
st_azimuthst_azimuthazimuth
ceil
ceiling
centimeter
circularity
cos
cot
curvosityindex
dd to dms
decimeter
degrees
distancewithin
dms to dd
downhillheight
exp
st_extentst_extentextent
ST_3DExtent
floor
frechetdistance
gcp_compute
geosmaximuminscribedcircle
geosminimumboundingcenter
geosminimumboundingcircle
geosminimumboundingradius
geosminimumclearance
geosminimumclearanceline
geosminimumrotatedrectangle
geosminimumwidth
getlayerextent
getvirtualtableextent
st_hausdorffdistancehausdorffdistance
st_line_locate_pointline_locate_point
st_locate_along_measurelocatealongmeasure
st_locate_between_measureslocatebetweenmeasures
st_maxdistancest_maxdistancemaxdistance
3DMaxDistance3dmaxdistance
st_shortestlinest_shortestlineshortestline
st_3dshortestline
updownheight
uphillheight
st_closestcoordinate
st_furthestcoordinate
st_locatealong
st_longestlinest_longestline
st_3DLongestLine
st_distance_sphere
st_distance_spheroid

13.7.  Count

Table 10
GeoSPARQLPostGISH2GISSpatialite
geof:numGeometriesst_numgeometriesst_numgeometriesnumgeometries
geof:numPointsst_numpointsst_numpointsnumpoints
st_numpatches
geof:numInteriorRing
geof:numPatches
ST_NumCurves
st_npointsst_npointsnpoints
st_nringsnrings
st_numinteriorringst_numinteriorringnuminteriorring
st_numinteriorringsst_numinteriorringsnuminteriorrings
st_locatebetweenelevations

13.8.  Properties

Table 11
GeoSPARQLPostGISH2GISSpatialite
st_is3dis3d
geof:xst_xst_xx
geof:maxXst_xmaxst_xmax
geof:minXst_xminst_xmin
geof:yst_yst_yy
geof:maxYst_ymaxst_ymax
geof:minYst_yminst_ymin
geof:zst_zst_zz
geof:maxZst_zmaxst_zmaxmaxz
geof:minZst_zminst_zminminz
geof:mst_mST_Mm
geof:centroidst_centroidst_centroidcentroid
geof:geometryNst_geometrynst_geometryngeometryn
geof:getSRIDst_sridst_sridsrid
geof:isEmptyst_isemptyst_isempty
isemptygeof:isSimplest_issimplest_issimple
issimplegeof:endPointst_endpointst_endpoint
endpointgeof:exteriorRingst_exteriorringst_exteriorring
exteriorringgeof:interiorRingNst_interiorringnst_interiorringn
interiorringngeof:isRingst_isringst_isring
isringgeof:pointNst_pointnst_pointn
pointngeof:startPointst_startpointst_startpoint
startpointgeof:easting
geof:northing
geof:isClosedst_isclosedst_isclosed
isclosedCG_IsPlanar
CG_IsSolid
ST_IsCollection
atm_determinant
atm_isinvertible
atm_isvalid
bufferoptions_getendcapstyle
bufferoptions_getjoinstyle
bufferoptions_getmitrelimit
bufferoptions_getquadrantsegments
checkwithoutrowid
checkspatialindex
checkspatialmetadatast_coorddimst_coorddim
coorddimensionst_dimensionst_dimension
dimension
gcp_isvalidst_geohash
geohashGeometrytype
geometrytype
getdecimalprecision
getgpkgamphibiousmode
getgpkgmode
getisometadataid
getpointindex
gpkg_isassignable
gpkggetimagetype
gpkggetnormalrow
gpkggetnormalzoom
hasepsg
hasfreexl
hasgcp
hasgeocallbacks
hasgeopackage
hasgeos
hasgeos3100
hasgeos3110
hasgeosadvanced
hasgeosonlyreentrant
hasgeosreentrant
hasgeostrunk
hasiconv
hasknn
haslibxml2
hasmathsql
hasminizip
hasproj
hasproj6
hasrouting
hasrttopo
hastopology
isgeometryblob
iscompressedgeometryblob
ismeasuredST_IsPolygonCCW
ispolygonccwST_IsPolygonCW
ispolygoncwst_isvalidst_isvalid
isvalidst_IsValidTrajectory
st_isvaliddetail
isvaliddetailst_isvalidreasonst_isvalidreason
isvalidreason
isvalidtrajectory
maxm
mbrmaxx
mbrmaxy
mbrminx
mbrminy
minmst_ndims
ndims
selfintersectionsst_compactnessratio
st_geometrytypest_geometrytype
st_geometrytypecode
st_holes
st_isrectangle
box3d
st_curveN
st_estimated_extent
st_extent3d
st_hasarc
st_hasM
st_hasZ
st_summary
st_zmflag

13.10.  Triangulation

Table 13
GeoSPARQLPostGISH2GISSpatialite
st_constraineddelaunayconstraineddelaunaytriangulation
st_DelaunayTriangles
CG_ConstrainedDelaunayTriangles
delaunaytriangulation
st_delaunay
CG_AlphaWrapping

13.11.  Export/import

Table 14
GeoSPARQLPostGISH2GISSpatialite
exportdbf
exportdxf
exportgeojson2
exportkml
exportshp
importdbf
importdxf
importdxffromdir
importgeojson
importshp
importwfs
importxls
importzipdbf
importzipshp
initfdospatialmetadata
initspatialmetadata
initspatialmetadatafull
insertepsgsrid
topogeo_exporttopolayer
topogeo_fromgeotable
topogeo_fromgeotableext
topogeo_fromgeotablenoface
topogeo_fromgeotablenofaceext
topogeo_togeotable
topogeo_togeotablegeneralize
toponet_fromgeotable
toponet_togeotable
toponet_togeotablegeneralize
find_srid

13.12.  Other

Table 15
GeoSPARQLPostGISH2GISSpatialite
autofdostart
autofdostop
autogpkgstart
autogpkgstop
check_strict_sql_quoting
checkduplicaterows
checkgeopackagemetadata
checkshadowedrowid
clonetable
countunsafetriggers
createclonedtable
createisometadatatables
creatembrcache
createmetacatalogtables
createmissingrasterlite2columns
createmissingsystemtables
createrastercoveragestable
createrouting
createrouting_getlasterror
createspatialindex
createstylingtables
createtemporaryspatialindex
createtopotables
createuuid
createvectorcoveragestables
decodeurl
dirnamefrompath
disablegpkgamphibiousmode
disablegpkgmode
disablepause
disablespatialindex
disabletinypoint
droptable
enablegpkgamphibiousmode
enablegpkgmode
enablepause
enabletinypoint
encodeurl
eval
fileextfrompath
filenamefrompath
freexl_version
fullfilenamefrompat
geos_version
getcuttermessage
getdbobjectscope
getlastnetworkexception
getlasttopologyexception
getmimetype
gpkgcreatebasetables
gpkgcreatetilestable
gpkgcreatetileszoomlevel
indian chain
indian foot
indian yard
international chain
international fathom
international foot
international inch
international link
international nautical mile
international statute mile
international yard
invalidatelayerstatistics
isdecimalnumber
isexifblob
isexifgpsblob
isgifblob
isinteger
isjp2blob
isjpegblob
islowascii
isnumber
ispauseenabled
ispdfblob
ispngblob
istiffblob
istinypointblob
istinypointenabled
isvalidgpb
iswebpblob
iszipblob
kilometer
libxml2_version
ln
log
log10
log2
makestringlist
md5checksum
md5totalchecksum
millimeter
pause
pi
pow
power
proj_getdatabasepath
proj_guesssridfromshp
proj_guesssridfromwkt
proj_guesssridfromzipshp
proj_setdatabasepath
proj_version
radians
rebuildgeometrytriggers
recoverfdogeometrycolumn
recovergeometrycolumn
recoverspatialindex
recreateisometarefstriggers
recreaterastercoveragestriggers
recreatestylingtriggers
recreatetopotriggers
recreatevectorcoveragestriggers
registerdatalicense
registerisometadata
registervirtualgeometry
removeduplicaterows
removeextraspaces
renamecolumn
renamedatalicense
renametable
rl2_mapconfigurationabstractn
rl2_mapconfigurationnamen
rl2_mapconfigurationtitlen
rl2_nummapconfigurations
rl2_registermapconfiguration
rl2_reloadmapconfiguration
rl2_unregistermapconfiguration
rttopo_version
sequence_currval
sequence_lastval
sequence_nextval
sequence_setval
setdatalicenseurl
sign
sin
spatialite_target_cpu
spatialite_version
sqrt
stddev_pop
stddev_samp
tan
u.s. chain
u.s. foot
u.s. inch
u.s. statute mile
u.s. yard
unregisterdatalicense
upgradegeometrytriggers
var_pop
var_samp
st_accumst_accum
st_googlemaplink
st_osmmaplink

14.  Annex B: Allignment of Geometry

Overview of ISO 19107 GML IFC STEP OpenCascade WKT X3D Geometries

Dit overzicht van geometriën laat zien welke geometrieen dicht bij elkaar zitten. Het is geen 10% match

Points:

Table 16
ISO 19107GMLIFCSTEPOpenCascadeWKT
IfcCartesianPointcartesian_pointGeom2d_CartesianPoint
Geom_CartesianPoint
GM_Pointgml:PointGeom2d_Point
Geom_Point
POINT (x y (z)(m))
cylindrical_point
spherical_point
polar_point
IfcPointByDistanceExpression
IfcPointOnCurvepoint_on_curve
IfcPointOnSurfacepoint_on_surface
point_in_volume
point_replica
degenerate_pcurve
evaluated_degenerate_pcurve

Lines and Curves:

Table 17
ISO 19107GMLIFCSTEPOpenCascadeWKT
GM_Curvegml:Curve
GM_OrientableCurvegml:OrientableCurve
GM_Arcgml:ArcCIRCULARSTRING(x y (z)(m))
GM_ArcByBulgegml:ArcByBulge
GM_ArcStringgml:ArcString
GM_ArcStringByBulgegml:ArcStringByBulge
gml:CircleByCenterPoint
gml:CubicSpline
gml:Knot
gml:AffinePlacement
gml:AbstractSurface
gml:PolygonPOLYGON(x y (z)(m))
GM_Polygongml:Polygonpatch
GM_Ringgml:Ring
gml:AbstractRing
gml:LinearRing
gml:Surface
gml:Patches
gml:AbstractRing
GM_OrientableSurfacegml:OrientableSurface
gml:BsplineIfcBSplineCurveWithKnotsB_spline_curve_with_knotsGeom2d_BSplineCurve
Geom_BSplineCurve
IfcRationalBSplineCurveWithKnots
GM_Beziergml:Bezierbezier_curveGeom2D_BezierCurve
Geom_BezierCurve
rational_b_spline_curve
local_b_spline
uniform_curve
quasi_uniform_curve
locally_refined_spline_curve
rational_locally_refined_spline_curve
trimmed_curveGeom2d_TrimmedCurve
Geom_TrimmedCurve
IfcCompositeCurveOnSurface
IfcBoundaryCurveboundary_curve
IfcOuterBoundaryCurveouter_boundary_curve
IfcGradientCurve
IfcSegmentedReferenceCurve
IfcIndexedPolyCurve
GM_LineStringgml:LineStringSegmentLINESTRING(x y (z)(m))
gml:LineStringIfcPolylinepolylineTopoDS_Wire
IfcTrimmedCurve
GM_Circlegml:CircleIfcCirclecircleGeom2d_Circle
Geom_Circle
IfcElipseelipseGeom2d_Ellipse
Geom_Ellipse
IfcLinelineGeom2d_Line
Geom_Line
hyperbolaGeom2d_Hyperbola
Geom_Hyperbola
parabolaGeom2d_Parabola
Geom_Parabola
gml:OffsetCurveIfcOffsetCurve2Doffset_curve_2dGeom2d_OffsetCurve
Geom_OffsetCurve
IfcOffsetCurve3Doffset_curve_3d
IfcOffsetCurveByDistances
IfcPcurvepcurve
bounded_pcurve
IfcPolynomialCurve
IfcClothoidclothoid
circular_involute
IfcCosineSpiral
IfcSecondOrderPolynomialSpiral
IfcThirdOrderPolynomialSpiral
IfcSeventhOrderPolynomialSpiral
IfcSineSpiral
IfcSurfaceCurvesurface_curve
ifcIntersectionCurveintersection_curve
seam_curve
bounded_surface_curve
composite_curve_on_surface
curve_replica
IfcSeamCurve
Geom2d_VectorWithMagnitude
Geom_VectorWithMagnitude
shapeExtend_ComplexCurve

Surface:

Table 18
ISO 19107GMLIFCSTEPOpenCascadeWKT
GM_Surfacegml:Surface
GM_PolyhedralSurfacegml:PolyhedralSurface
GM_TriangulatedSurfacegml:TriangulatedSurfaceIfcTriangulatedFaceSettriangulated_face
GM_Tingml:Tin
GM_SurfacePatchgml:AbstractSurfacePatch
gml:Triangle
gml:Rectangle
GM_PointGridgml:PointGrid
GM_ParametricCurveSurfacegml:AbstractParametricCurveSurface
GM_GriddedSurfacegml:AbstractGriddedSurface
IfcPlaneplaneGeom_Plane
IfcCylindricalSurfacecylindrical_surfaceGeom_CylindricalSurface
conical_surfaceGeom_ConicalSurface
IfcSphericalSurfacespherical_surfaceGeom_SphericalSurface
IfcToroidalSurfacetoroidal_surfaceGeom_ToroidalSurface
degenerate_toroidal_surface
dupin_cyclide_surface
IfcBSplineSurfaceb_spline_surfaceGeom_BSplineSurface
IfcBSplineSurfaceWithKnotsb_spline_surface_with_knots
uniform_surface
uasi_uniform_surface
bezier_surfaceGeom_BezierSurface
rational_b_spline_surface
locally_refined_spline_surface
rational_locally_refined_spline_surface
IfcCurveBoundedPlane
IfcCurveBoundedSurface
curve_bounded_surface
surface_patch
offset_surfaceGeom_OffsetSurface
oriented_surface
surface_replica
Geom_Surface
Geom_OsculatingSurface
IfcRectangularTrimmedSurfacerectangular_trimmed_surfaceGeom_RectangularTrimmedSurface
IfcSectionedSurface

Primitives:

A primitive (like a block or ellipsoid) can be defined with just a few parameters. It is more efficient than describing the same shape with triangles (mesh) or surfaces (B-rep). It keeps files smaller and mathematically exact.

Table 19
ISO 19107GMLIFCSTEPOpenCascadeWKT
IfcBlockblockTopoDS_Solid
(BRepPrimAPI_MakeBox)
IfcRectangularPyramidrectangular_pyramid
GM_Conegml:ConeIfcRightCircularConeright_circular_cone
eccentric_cone
TopoDS_Solid
(BRepPrimAPI_MakeCone)
GM_Cylindergml:CylinderIfcRightCircularCylinderright_circular_cylinderTopoDS_Solid
(BRepPrimAPI_MakeCylinder)
ellipsoid
TopoDS_Solid
(BRepPrimAPI_MakeHalfSpace)
TopoDS_Solid
(BRepPrimAPI_MakePrism)
TopoDS_Solid
(BRepPrimAPI_MakeRevol)
TopoDS_Solid
(BRepPrimAPI_MakeRevolution)
GM_Spheregml:SphereIfcSpheresphereTopoDS_Solid
(BRepPrimAPI_MakeSphere)
TopoDS_Solid
(BRepPrimAPI_MakePipe)
TopoDS_Solid
(BRepPrimAPI_MakePipeShell)
torusTopoDS_Solid
(BRepPrimAPI_MakeTorus)
right_angular_wedgeTopoDS_Solid
(BRepPrimAPI_MakeWedge)
tetrahedron
convex_hexahedron
faceted_primitive

Boolean Geometry: Defined constructively, not by its boundary. Boolean geometry is the representation of 3D shapes by combining or subtracting simpler solids using Boolean operations like union, intersection, and difference.

Table 20
ISO 19107GMLIFCSTEPOpenCascadeWKT
IfcCsgSolidCsg_solid
IfcBooleanResultboolean_resultBRepAlgoAPI_BooleanOperation

Solid/Shell: A solid is a topological object that encloses a region of space and a shell is a set of connected surfaces that form a boundary. A Solid is a closed shell.

Table 21
ISO 19107GMLIFCSTEPOpenCascadeWKT
gml:AbstractSolid
GM_Solidgml:SolidIfcFacetedBrepmanifold_solid_brepTopoDS_Solid(TopoDS_Face)
IfcFacetedBrepWithVoids
IfcAdvancedBrepadvanced_brep_shape_representation
IfcAdvancedBrepWithVoids
IfcSectionedSolidHorizontal
IfcFixedReferenceSweptAreaSolid
IfcDirectrixDerivedReferenceSweptAreaSolid
IfcExtrudedAreaSolidextruded_area_solid
IfcExtrudedAreaSolidTapered
IfcRevolvedAreaSolid
IfcRevolvedAreaSolidTapered
GM_Shellgml:Shell
solid_replica
brep_2d
IfcSectionedSpinesectioned_spine
IfcBoxedHalfSpaceboxed_half_space
IfcPolygonalBoundedHalfSpace
tesselated_solid

Swept Surface:

A swept surface is a type of surface in geometric modeling created by moving a profile (curve) along a trajectory (path).

Table 22
ISO 19107GMLIFCSTEPOpenCascadeWKT
IfcSurfaceCurveSweptAreaSolid
IfcSweptDiskSolidswept_disk_solid
IfcSweptDiskSolidPolygonal
swept_face_solid
swept_area_solid
IfcSurfaceOfLinearExtrusionsurface_of_linear_extrusionGeom_SurfaceOfLinearExtrusion
IfcSurfaceOfRevolutionsurface_of_revolutionGeom_SurfaceOfRevolution
IfcSweptSurfacesurface_curve_swept_surface
fixed_reference_swept_surface
revolved_face_solid
extruded_face_solid
surface_curve_swept_area_solid
swept_disk_solid

Volume:

Volume geometry is a way of representing a 3D object by directly defining the entire region of space it occupies, rather than just its boundary.

Table 23
ISO 19107GMLIFCSTEPOpenCascadeWKT
block_volume
pyramid_volume
eccentric_conical_volume
spherical_volume
ellipsoid_volume
cylindrical_volume
wedge_volume
tetrahedron_volume
hexadron_volume
toroidal_volume
bezier_volume
uniform_volume
quasi_uniform_volume
rational_b_spline_volume
trimmed_volume
locally_refined_spline_volume
rational_locally_refined_spline_volume
b_spline_volume
b_spline_volume_with_knots

Axis/Placement:

Used to define orientation or alignment of objects, where to be placed and in what direction to extrude.

Table 24
ISO 19107GMLIFCSTEPOpenCascadeWKT
IfcAxis1Placementaxis1_placementGeom_Axis1Placement
IfcAxis2Placement2D
IfcAxis2Placement3D
axis2_placement_2d
axis2_placement_3d
Geom_Axis2Placement

Grids:

Table 25
ISO 19107GMLIFCSTEPOpenCascadeWKT
gml:RectifiedGrid
gml:RectifiedGridCoverage
gml:GridCoverage

Operators:

Table 26
ISO 19107GMLIFCSTEPOpenCascadeWKT
cartesian_transformation_operator
IfcCartesianTransformationOperator3Dcartesian_transformation_operator_3d
IfcCartesianTransformationOperator2D
IfcCartesianTransformationOperator2DnonUniform
cartesian_transformation_operator_2dgp_Trsf2d

Geometric complex/ composites:

Table 27
ISO 19107GMLIFCSTEPOpenCascadeWKT
GM_Complexgml:GeometricComplex
GM_CompositePoint
GM_CompositeCurvegml:CompositeCurveIfcCompositeCurvecomposite_curvcomposite_curveCOMPOUNDCURVE(x y (z)(m))
GM_CompositeSurfacegml:CompositeSurface
GM_CompositeSolidgml:CompositeSolid
composite_curve_segment
reparametrised_composite_curve_segment
rectangular_composite_surface

Geometric Agggregates:

Table 28
ISO 19107GMLIFCSTEPOpenCascadeWKT
GM_MultiPointgml:MultiPointMULTIPOINT
GM_MultiCurvegml:MultiCurveMULTILINESTRING
GM_MultiSurfacegml:MultiSurfaceMULTIPOLYGON
GM_MultiSolidgml:MultiSolid
IfcCartesianPointList2D
IfcCartesianPointList3D

Interface Query:

Table 29
ISO 19107GMLIFCSTEPOpenCascadeWKT
boundary:Geometry
convexHull:Geometry
distancegp_Circ::Distance()
gp_Circ2d::Distance()
gp_Lin::Distance(const gp_Pnt &theP) const
gp_Lin::Distance(const gp_Lin &theOther) const
gp_Lin2d::Distance(const gp_Pnt2d &theP) const
gp_Lin2d::Distance(const gp_Lin2d &theOther)
gp_Pln::Distance
gp_Circ::Distance()
etc
buffer
intersectionBRepClass_Intersector
difference
symDifference
union
containsBRepClass3d_SolidClassifier
crosses
disjoint
equals
intersects
overlaps
touches
within
withinDistance
relate
3Dboundary:Geometry
3DconvexHull:Geometry
3Ddistance
3Dbuffer
3DintersectionBRepClass3d_Intersector3d
3Ddifference
3DsymDifference
3Dunion
3Dcontains
3Dcrosses
3Ddisjoint
3Dequals
3Dintersects
3Doverlaps
3Dtouches
3Dwithin
3DwithinDistance
3Drelate

https://dev.opencascade.org/doc/refman/html/ https://old.opencascade.com/doc/occt-7.5.0/overview/html/index.html https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeometricRepresentationItem.htm

https://www.web3d.org/documents/specifications/19775-1/V4.0/index.html

15.  Annex C: Overview of IFC Geometry

Table 30
LevelConceptPrevalenceNotesRelated terms from ISO / OGC (SFA, GeoSPARQL, GML, …​)
RelationalSpace boundaries (connection geometry)12.6% (1676)IfcRelSpaceBoundary: Surfaces representing adjacencies between spaces and building elements primarily intended for thermal simulation.geof:sfTouches
RelationalInterferences1.4% (3)IfcRelInterferesElements: Primarily intended for modelling clash detection outcomes and over- and underpasses in infrastructure models. Likely has seen little use in practice.ST_Intersects
RelationalMetric constraints0%IfcMetric: distances, parametric expressions between properties and geometry; supported in the schema (has limitations on indexing into unordered aggregates) and rarely used in practice.ST_Distance owl:sameAs rdfs:seeAlso
RelationalClearance geometry0%IfcShapeRepresentation[RepresentationIdentifier='Clearance']: Dedicated shapes encoding minimum clearances (e.g., around equipment, maintenance envelopes, door swings); a separate representation with its own context
ProductRelative positioning97.6% (1298)IfcLocalPlacement provides hierarchical local coordinate systems for products. Informal proposition are in place to define a placement hierarchy that follows the project decomposition structuregml:AffineCS
ProductLinear positioning4.8% (527)IfcLinearPlacement provides linear positioning that derives an orientation and positioning frame from a length measure along an (IfcAlignment) curveISO 19148:2021
ProductGrid placement0%IfcGridPlacement provides placement by means of the computed intersection between two grid axes with underlying curve geometry
ProductOpenings49.1% (168)IfcRelVoidsElements + IfcOpeningElement/IfcVoidingFeature models a subtractive boolean operation applied to host elements (walls, slabs, etc.); in principle extensible to other feature kinds such as IfcProjectionElement. In IFC2X3 CoordinationView these were to be processed by the importer. In IFC4 ReferenceView, in principle, these are precomputed at export time.ST_Difference
ProductMaterial association71% (324)IfcRelAssociatesMaterial, layered / list / constituent / profile-based Links product geometry to material models: layered elements, material lists, constituents, profile-based materials. Especially layered materials (IfcMaterialLayerSet[Usage]) have geometric implications because it semantically slices the geometry by means of planes defined from offsets along a reference curve (for vertical elements) or along the extrusion direction.
ProductParametric geometry as geometry-related semantics via property sets (e.g. Pset_MechanicalFastenerBolt, IfcWindowLiningProperties, Pset_ProvisionForVoid, most quantities Qto_*)29% (73)Semantic parameters that can be used to drive or reconstruct geometry when explicit representations are absent.
ProductProduct-level composite curves defining the ‘business-logic’ of parametric alignment segment nesting within a curve4.2% (504)Decomposition of IfcAlignment into IfcAlignmentSegment with parametric geometry (typically redundant with item-level curves).OGC LandInfra/InfraGML alignment model
ProductAggregation of product into assemblies: composition (IfcElementAssembly) / nesting (ports, alignment segments)96.9% (29)Product-level aggregation (e.g., ports, sub-elements, segments)
ItemBasic 0D/1D/2D items: points, curves, faces (IfcCartesianPoint, IfcPolyline, IfcCompositeCurve, IfcFace)99.2% (34194)Simple representations or underlying points, polylines, composite curves (including circular/arc segments), and faces used in higher-level geometry.SFA: Point, LineString, MultiLineString, Polygon; GML: gml:Point, gml:Curve, gml:LineString
ItemProfiles: parametric (e.g I shape) / arbitrary / derived / composite (IfcProfileDef, IfcArbitraryProfileDef, IfcDerivedProfileDef, IfcCompositeProfileDef) [Note: not strictly an independent IfcRepresentationItem]76.9% (763)Cross-section definitions used by sweeps and structural members; parametric catalog profiles and arbitrary section shapes.
ItemAnnotation geometry: text literals, hatches and fills11.6% (101)IfcTextLiteral, IfcFillAreaStyle etc. 2D annotation geometry, symbolization and fills; mostly for documentation, not primary 3D model.
ItemExplicit (BRep) representations of 3D faceted solids and surfaces43.9% (876)IfcFacetedBrepSFA: PolyhedralSurface
ItemExplicit (BRep) representations of 3D curved solids and surfaces6.5% (112)Advanced BRep: with (e.g) NURBS faces (IfcAdvancedFace)
ItemExplicit mesh/polyhedron representations (called tessellation)12.6% (163)IfcTessellatedFaceSet IfcTriangulatedFaceSet IfcPolygonalFaceSet Indexed face sets representing triangulated or polygonal surfaces/solids; compact storage via point lists and indices.SFA: PolyhedralSurface gml:TriangulatedSurface
ItemTIN / surface models2% (1)IfcTriangulatedIrregularNetwork Specialized tessellated representation for terrain and horizontal surfaces (single f(X,Y)→Z for any X,Y); typical for infrastructure and terrain models.gml:Tin
ItemSwept / procedural solids: extrusion, revolution, sweeps along curve (disk, arbitrary, fixed reference), sectioned solids and surfaces75.5% (703)3D solids defined by sweeping profiles along vectors or curves: straight/linear extrusions, revolutions, sweeps along curves (swept disk, arbitrary orientation, fixed reference), tapered forms, sectioned solids/surfaces. Note that this is a fairly large category with many items and combinatorial possibilities lumped into one.
ItemAxis geometry47.6% (321)Bounded curve geometries as (often) a secondary representation describing the longitudinal direction of a solid or element. Material layer sets are defined relative to this axis.
ItemBoolean operations (CSG trees)30.6% (122)Solids defined as binary trees combining operands via union, intersection, difference; often nested and require recursive traversal.SFA: ST_Union, ST_Intersection, ST_Difference
ItemCSG primitives1.7% (8)IfcCsgPrimitive3D Are only part of the CSG expressions, but include things like cylinder and sphere which are ‘harder’ to produce otherwise (as revolutions)
ItemSurface-only geometry for connection / space boundaries and advanced face surfaces (extrusion, revolution, bounded, NURBS)31.8% (1521)Surfaces used without explicit solid closure, e.g. for space boundaries or analytical/architectural surfaces.gml:Surface
ItemStyling by item as a whole (IfcStyledItem, IfcSurfaceStyle, IfcCurveStyle)68.3% (1458)Assignment of colors, line styles to geometric items or tessellated faces as a whole
ItemGranular styling by sub-item (IfcSurfaceStyle, IfcIndexedColourMap)-E.g the application of a different color to a face within a shell, or per-face colors in tesselations using IfcIndexedColourMap, or retaining distinct surface styles after applying boolean operations
ItemStyling by item: Textures0.8% (2)IfcSurfaceStyleWithTextures and three subtypes of IfcSurfaceTexture for a specialization of the above with texture as a binary blob, a compressed inline literal or an external URI reference. The complexity of supporting textures is mostly related to handling and defining texture coordinates (UV) on the procedural geometries (such as sweeps and booleans). Most likely IfcReparametrisedCompositeCurveSegment is also intended for supporting textures so that the U space of the profile prior to extrusion can be controlled.
ItemMapped items / reusable definitions46.3 1247IfcMappedItem and type object occurrences: Instancing and transformations: one definition, multiple placed occurrences with transforms. In IFC2X3 it was not allowed to re-use the full representation as a whole, later in IFC4 that is possible.
Item(Non-)uniform scaling and mirroring-IfcMappedItem is also the only mechanism in IFC that supports scaling and mirroring.
ItemComposite representations (IfcGeometricSet, IfcCompositeProfileDef, multiple shape representation items)51.4% (231)Sets of curves, surfaces, and points combined into a single representation; multi-rep shape representations for one object.gml:MultiCurve, gml:MultiSurface, gml:CompositeCurve, gml:CompositeSurface
ItemTopological representations for analytical structures0.3% (760)IfcEdge IfcVertex IfcFace IfcTopologyRepresentation Explicit topology (vertices, edges, faces) as top-level items; often used in structural/analytical models.
ItemPoint clouds and coverages0.2% (1)IfcShapeRepresentation + IfcCartesianPointList3D
ContextRepresentation context (IfcGeometricRepresentationContext): identifier, target scale, clearance geometries, subcontexts-Defines modeling context: dimensionality, precision, world coordinate system, true north, representation identifiers; may host clearance contexts.
ContextTolerance and precision settings-IfcGeometricRepresentationContext.Precision Model-level precision and tolerances that influence how geometry is interpreted and when elements are considered coincident. Only linear tolerance, no angular setting and no local (e.g per-vertex) possibilities.
GeoreferencingLocal engineering CRS (IfcGeometricRepresentationContext.WorldCoordinateSystem, true north)-Defines the local engineering coordinate system
GeoreferencingMap/projection-based georeferencing incl. vertical reference12.4% (2)IfcMapConversion, IfcProjectedCRS Conversion from local model coordinates to a map/projected CRS; explicit link to EPSG or other CRS identifiers; since IFC4/IFC4x3.ISO 19111 referencing by coordinates and transformations; SFA: SRID on geometries.
GeoreferencingPostal address38.6% (3)IfcPostalAddress, Pset_Address
GeoreferencingIfcSite reference coordinates-IfcSite has DMS reference coords for latitude and longitude

15.1.  Methodology for testing prevalence.

Testing the prevalence of entities in existing sample models is often criticized because it is hard to find a body of representative IFC models (every tool and vendor cater to their own niche) and prevalence does not equate value. Lastly, per definition, an approach like this is backwards looking and not forward looking. At the same time, the investigation into 3D GeoSPARQL is explicitly use-case driven.

A random sample of 1_000 files (dataset 1) is taken from a collection of models for which it is allowed to publish in aggregate form. For novel concepts such as (IfcLinearPlacement, IfcRelInterferes, IfcAlignmentSegment, …​) a 500 file sample of IFC4.3 files is selected (dataset 2; because the amount of models for older schema versions is larger). It is possible that there are invalid or partial files in this sample, there is no verdict on quality, correctness or applicability of these files. Example files from the specification can have a distorting impact on the sample, also there is no filtering for (near-) duplicates. Some values such as IfcSite.RefLatitude -Longitude are well known to contain placeholder values on older exports such as based on the headquarters of the software vendor.

For performance reasons we don’t use an IFC parser for testing the prevalence of entities. Therefore, in theory it is possible that we match fragments of comments or human readable text in the model, but this is given the patterns highly unlikely. We use ripgrep rg to query the model as text files on disk. Due to the text-based parsing we cannot fully asses the context in which entities are used — in particular entities like IfcRelAggregates are discussed here in an building-element context, but are also found in the spatial structure and therefore the prevalence is reported higher.

Table 31
Query stringDataset index% of modelsavg nr instances when used
IFCRELAGGREGATES196.929
IFCCARTESIANPOINT199.234194
PROFILEDEF176.9763
IFCANNOTATIONFILLAREA|IFCANNOTATIONSURFACE|IFCDRAUGHTINGCALLOUT|IFCFILLAREASTYLEHATCHING|IFCTEXTLITERAL111.6101
IFCFACETEDBREP143.9876
IFCADVANCEDBREP16.5112
IFCTESSELLATEDFACESET|IFCTRIANGULATEDFACESET|IFCPOLYGONALFACESET112.6163
IFCTRIANGULATEDIRREGULARNETWORK221
IFCEXTRUDEDAREASOLID|IFCREVOLVEDAREASOLID|IFCFIXEDREFERENCESWEPTAREASOLID|IFCSURFACECURVESWEPTAREASOLID|IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID175.5703
IFCSHAPEREPRESENTATION.*’Axis147.6321
IFCBOOLEANRESULT|IFCBOOLEANCLIPPINGRESULT130.6122
IFCBLOCK|IFCRECTANGULARPYRAMID|IFCRIGHTCIRCULARCONE|IFCRIGHTCIRCULARCYLINDER|IFCSPHERE11.78
IFCCURVEBOUNDEDPLANE|IFCCURVEBOUNDEDSURFACE|IFCBSPLINESURFACE|IFCCYLINDRICALSURFACE|IFCPLANE\(|IFCSPHERICALSURFACE|IFCTOROIDALSURFACE|IFCSURFACEOFLINEAREXTRUSION|IFCSURFACEOFREVOLUTION131.81521
IFCSTYLEDITEM|IFCSURFACESTYLE|IFCCURVESTYLE168.31458
-
IFCBLOBTEXTURE|IFCIMAGETEXTURE|IFCPIXELTEXTURE10.82
IFCMAPPEDITEM146.31247
-
IFCGEOMETRICSET|IFCCOMPOSITEPROFILEDEF|IFCGEOMETRICCURVESET|IFCSHAPEREPRESENTATION\(.\(.,151.4231
IFCTOPOLOGYREPRESENTATION10.3760
IFCSHAPEREPRESENTATION.*’Point10.21
-
-
-
IFCPROJECTEDCRS|IFCGEOGRAPHICCRS|IFCMAPCONVERSION|IFCRIGIDOPERATION212.42
IFCPOSTALADDRESS|Pset_Address138.63
-

16.  Annex O: History


Bibliography

[1]  Abhayaratna J, van den Brink L, Car N, Atkinson R, Homburg T, Knibbe F, McGlinn K, Wagner A, Bonduel M, Rasmussen MH, Thiery F: Abhayaratna2020wp, OGC Benefits of Representing Spatial Data Using Semantic and Graph Technologies. Open Geospatial Consortium (2020). http://www.opengis.net/doc/wp/using-semantic-graph.

[2]  Filip Biljecki HT: QUALITY OF BIM–GIS CONVERSION. (2019).

[3]  Anne Göbels JB: Relative Location Ontology: An ontological model for representing directional topological relationships between spatial entities in oriented space. (2024).

[4]  World Wide Web Consortium: RDF 1.1 Concepts and Abstract Syntax, W3C Recommendation, https://www.w3.org/TR/rdf11-concepts/ (25 February 2014).

[5]  St\”otzner E, Homburg T, Mara H: CNN Based Cuneiform Sign Detection Learned from Annotated 3D Renderings and Mapped Photographs with Illumination Augmentation. In: pp. 1680–1688. (2023).

[6]  World Wide Web Consortium: RDF 1.1 Turtle Terse RDF Triple Language, W3C Recommendation, https://www.w3.org/TR/turtle (25 February 2014).

[7]  Amico N, Felicetti A: Ontological Entities for Planning and Describing Cultural Heritage 3D Models Creation. arXiv 2021. arXiv preprint arXiv:2106.07277 (n.d.).

[8]  Behr J, Eschler P, Jung Y, Z{\”o}llner M: X3DOM: a DOM-based HTML5/X3D integration model. In: p. 127. (2009).

[9]  Bonduel M, Wagner A, Pauwels P, Vergauwen M, Klein R: Including widespread geometry formats in semantic graphs using RDF literals. In: vol. 1, p. 341. (2019).

[10]  Brutzman D, Daly L: X3D: extensible 3D graphics for Web authors. Elsevier, n.p. (2010).

[11]  Brutzman D, Floty{\’n}ski J: X3D ontology for querying 3D models on the semantic web. In: p. 1. (2020).

[12]  D’Andrea A, Fernie K: CARARE 2.0: a metadata schema for 3D Cultural Objects. In: vol. 2, p. 137. (2013).

[13]  Donkers S, Ledoux H, Zhao J, Stoter J: Automatic conversion of IFC datasets to geometrically and semantically correct CityGML LOD3 buildings. Transactions in GIS vol. 20, p. 547 (2016).

[14]  Feichtenhofer C: X3d: Expanding architectures for efficient video recognition. In: p. 203. (2020).

[15]  Floty{\’n}ski J, Malamos AG, Brutzman D, Hamza-Lup FG, Polys NF, Sikos LF, Walczak K: Recent advances in Web3D semantic modeling. Recent advances in 3D imaging, modeling, and reconstruction p. 23 (2020).

[16]  Georgieva-Trifonova T, Galabov M: Transforming 3d models to semantic web representation. Romanian Journal of Information Science and Technology vol. 26, p. 33 (2023).

[17]  Hansson F: Linked geodata: CityGML represented as a virtual knowledge graph. Student thesis series INES (2024).

[18]  Jabi W, Chatzivasileiadi A: Topologic: Exploring Spatial Reasoning Through Geometry, Topology, and Semantics. In: p. 277. Springer International Publishing, Cham. (2021).

[19]  Kolbe TH, Gr{\”o}ger G, Pl{\”u}mer L: CityGML: Interoperable access to 3D city models. In: p. 883. Springer. (2005).

[20]  Krima S, Barbau R, Fiorentini X, Rachuri S, Sriram R: OntoSTEP: OWL-DL ontology for STEP. In. (2009).

[21]  Pacheco EEL, Sosa MLD, Ruiz MJT, Diaz-Velarde MEC: Creating an Ontology to Represent Qualitatively a Scene in a Virtual Reality Environment. Res. Comput. Sci. vol. 147, p. 45 (2018).

[22]  Pittarello F, De Faveri A: Semantic description of 3D environments: a proposal based on web standards. In: p. 85. (2006).

[23]  Snydman S, Sanderson R, Cramer T: The International Image Interoperability Framework (IIIF): A community & technology approach for web-based images. In: vol. 12, p. 16. (2015).

[24]  St{\”o}tzner E, Homburg T, Bullenkamp JP, Mara H: R-CNN based PolygonalWedge Detection Learned from Annotated 3D Renderings and Mapped Photographs of Open Data Cuneiform Tablets. (2023).

[25]  Walczak K, Floty{\’n}ski J: Inference-based creation of synthetic 3D content with ontologies. Multimedia Tools and Applications vol. 78, p. 12607 (2019).

[26]  Yang S, Hou M: Knowledge graph representation method for semantic 3D modeling of Chinese grottoes. Heritage Science vol. 11, p. 1 (2023).

[27]  Гончар АВ, Довгий СО, Попова МА: Ontological approach to consolidation of 3D models of objects of historical and cultural heritage and GIS. Radioelectronic and Computer Systems p. 81 (2021).

[28]  [NO INFORMATION AVAILABLE]

[29]  [NO INFORMATION AVAILABLE]

[30]  Wagner A, Bonduel M, Pauwels P, Rüppel U: Representing construction-related geometry in a semantic web context: A review of approaches. Automation in Construction vol. 115, p. 103130 (2020).

[31]  Messaoudi T, Véron P, Halin G, De Luca L: An ontological model for the reality-based 3D annotation of heritage building conservation state. Journal of Cultural Heritage vol. 29, pp. 100–112 (2018).

[32]  Chadzynski A, Krdzavac N, Farazi F, Lim MQ, Li S, Grisiute A, Herthogs P, von Richthofen A, Cairns S, Kraft M: Semantic 3D City Database — An enabler for a dynamic geospatial knowledge graph. Energy and AI vol. 6, p. 100106 (2021).

[33]  Chadzynski A, Li S, Grišiūtė A, Chua J, Hofmeister M, Yan J, Tai HY, Lloyd E, Tsai YK, Agarwal M, Akroyd J, Herthogs P, Kraft M: Semantic 3D city interfaces—Intelligent interactions on dynamic geospatial knowledge graphs. Data-Centric Engineering vol. 4 (2023).

[34]  Flotyński J, Brutzman D, Hamza-Lup FG, Malamos A, Polys N, Sikos LF, Walczak K: The Semantic Web3d: Towards Comprehensive Representation of 3d Content on the Semantic Web. In: 2019 International Conference on 3D Immersion (IC3D). pp. 1–9. IEEE. (2019).

[35]  Perzylo A, Somani N, Rickert M, Knoll A: An ontology for CAD data and geometric constraints as a link between product models and semantic robot task descriptions. In: 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). pp. 4197–4203. IEEE. (2015).

[36]  Perzylo A, Somani N, Rickert M, Knoll A: An ontology for CAD data and geometric constraints as a link between product models and semantic robot task descriptions. In: 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). pp. 4197–4203. IEEE. (2015).

[37]  Flotyński J, Walczak K: Ontology‐Based Representation and Modelling of Synthetic 3D Content: A State‐of‐the‐Art Review. Computer Graphics Forum vol. 36 no. 8, pp. 329–353 (2017).

[38]  Flotyński J, Walczak K: Ontology‐Based Representation and Modelling of Synthetic 3D Content: A State‐of‐the‐Art Review. Computer Graphics Forum vol. 36 no. 8, pp. 329–353 (2017).

[39]  Brutzman D, Flotyński J: X3D Ontology for Querying 3D Models on the Semantic Web. In: The 25th International Conference on 3D Web Technology. pp. 1–6. ACM, New York, NY. (2020).

[40]  Sikos LF: A novel ontology for 3D semantics: ontology-based 3D model indexing and content-based video retrieval applied to the medical domain. International Journal of Metadata, Semantics and Ontologies vol. 12 no. 1, p. 59 (2017).

[41]  Sikos LF: A novel ontology for 3D semantics: ontology-based 3D model indexing and content-based video retrieval applied to the medical domain. International Journal of Metadata, Semantics and Ontologies vol. 12 no. 1, p. 59 (2017).

[42]  Zhang C, Beetz J, de Vries B: BimSPARQL: Domain-specific functional SPARQL extensions for querying RDF building data. Semantic Web vol. 9 no. 6, pp. 829–855 (2018).

[43]  Zhao Y, Sarkar A, Elmhadhbi L, Karray M, Fillatreau P, Archimède B: An ontology of 3D environment where a simulated manipulation task takes place (ENVON). Semantic Web vol. 15 no. 2, pp. 613–640 (2024).

[44]  Jovanovik M, Homburg T, Spasić M: A GeoSPARQL Compliance Benchmark. ISPRS International Journal of Geo-Information vol. 10 no. 7, p. 487 (2021).

[45]  Car NJ, Homburg T: GeoSPARQL 1.1: Motivations, Details and Applications of the Decadal Update to the Most Important Geospatial LOD Standard. ISPRS International Journal of Geo-Information vol. 11 no. 2, p. 117 (2022).

[46]  El Yamani S, Hajji R, Billen R: IFC-CityGML Data Integration for 3D Property Valuation. ISPRS International Journal of Geo-Information vol. 12 no. 9, p. 351 (2023).

[47]  Homburg T, Zwick R, Mara H, Bruhn K: Annotated 3D-Models of Cuneiform Tablets. Journal of Open Archaeology Data vol. 10 (2022).

[48]  Haynes R: Evolving Standards in Digital Cultural Heritage – Developing a IIIF 3D Technical Specification. In: Lecture Notes in Computer Science. pp. 50–64. Springer International Publishing, Cham. (2023).

[49]  Koubarakis M, Kyzirakos K: Modeling and Querying Metadata in the Semantic Sensor Web: The Model stRDF and the Query Language stSPARQL. In: Lecture Notes in Computer Science. pp. 425–439. Springer Berlin Heidelberg, Berlin, Heidelberg. (2010).

[50]  Alattas A, van Oosterom P, Zlatanova S, Hoeneveld D, Verbree E: USING THE COMBINED LADM-INDOORGML MODEL TO SUPPORT BUIILDING EVACUATION. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences vol. XLII-4, pp. 11–23 (2018).

[51]  Kutzner T, Chaturvedi K, Kolbe TH: CityGML 3.0: New Functions Open Up New Applications. PFG – Journal of Photogrammetry, Remote Sensing and Geoinformation Science vol. 88 no. 1, pp. 43–61 (2020).

[52]  Homburg T, Cramer A, Raddatz L, Mara H: Metadata schema and ontology for capturing and processing of 3D cultural heritage objects. Heritage Science vol. 9 no. 1 (2021).

[53]  Ropelewski AJ, Rizzo MA, Swedlow JR, Huisken J, Osten P, Khanjani N, Weiss K, Bakalov V, Engle M, Gridley L, Krzyzanowski M, Madden T, Maiese D, Mandal M, Waterfield J, Williams D, Hamilton CM, Huggins W: Standard metadata for 3D microscopy. Scientific Data vol. 9 no. 1 (2022).

[54]  Wang Y, Wang X, Liu A, Zhang J, Zhang J: Ontology of 3D virtual modeling in digital twin: a review, analysis and thinking. Journal of Intelligent Manufacturing vol. 36 no. 1, pp. 95–145 (2023).