Home › FAQ

Frequently Asked Questions

How does DGIF compare with AdV, INSPIRE, OpenStreetMap and semantic technologies?

DGIF has three parts: the Information Model (DGIM), the Feature Concept Dictionary (DGFCD) and the Real World Object Index (DGRWI). Each of the others covers some of them, as model, dictionary and everyday terms:

DGIF
Model: the DGIM, one UML model for all types. Dictionary: the DGFCD, concepts with codes, shared across models and profiles. Everyday terms: the DGRWI, where a term is a type plus values (Lake: an Inland Waterbody of type lake).
AdV
Model: the AAA application schema (GeoInfoDok); the Normbasierte Austauschschnittstelle (NAS) is derived from it. Dictionary: the Objektartenkatalog, written for that one model. Everyday terms: none; the same pattern (a building with a function), but no index.
INSPIRE
Model: 34 theme schemas, legally binding for EU public data. Dictionary: the registry's code lists, each value with a URI; definitions per theme. Everyday terms: none.
OpenStreetMap
Model: none binding; editor presets suggest tags per geometry. Dictionary: the wiki's tag documentation, describing use rather than governing it. Everyday terms: the tags themselves (water=lake).
Semantic technologies
Model: RDFS classes and properties, OWL restrictions, ShEx for constraints. Dictionary: SKOS notations, labels and definitions. Everyday terms: OWL class axioms, a subclass of a type and of value restrictions.

The last row is a set of modelling languages, not a fourth model: it is how this wrapper expresses the other rows. It fits the everyday terms best. An RWOI term and the DGIF side of a mapping row both have the same shape, a type plus values. It fits the model less well: the DGIM's multiplicities and closed value lists are constraints on data, which OWL reads as open-world inferences and ShEx would check directly.

That is semantic technologies, not Linked Data: DGIF is a model and a dictionary, and says nothing about looking things up at runtime. The URIs, HTTP and content negotiation are this wrapper's addition. What they add is links across rows: a mapping row can relate a DGIF type plus values to an AdV class or an OSM tag, which none of the four standards can state.

Which DGIF baseline do the URIs describe?

The latest, 2026-1. All six DGIF 3 baselines are served: ?version=2024-1 gives a resource as of an earlier one, and {uri}/timemap lists the baselines that have it. The plain URI is a Memento TimeGate, so Accept-Datetime also works. The URIs never change between baselines; the descriptions do.

Where do the baseline dates come from?

DGIWG publishes no release dates. A baseline's Memento-Datetime is the newest acceptance date of any concept in its model: the date its content is as of.

What is the source?

The Enterprise Architect models (QEA) DGIWG publishes for each baseline. The content workbooks exist for 2024-1 only; the QEA reader reproduces 2024-1's workbook and fills gaps it had, such as definitions of 14 attributes.

Why not ISO 19150-2, or ShapeChange?

ISO 19150-2 gives rules for turning a UML application schema into OWL; ShapeChange implements them, each as a rule that can be switched. NGA derived its NSG Enterprise Ontology from its NSG Application Schema (NAS), the US defence model, this way (OGC 18-032r2). This wrapper reads the models itself and differs on purpose:

Classes
19150-2 makes every class an owl:Class. Here they are rdfs:Class; OWL adds restrictions only.
Attributes
19150-2 scopes a property to its class, so featureFunction would be one property per type. Here an attribute is one property per code, attribute/ffn, as in the dictionary, with the types' common supertype as domain. ShapeChange can do the same (rule-owl-prop-globalScopeAttributes).
Values
19150-2 makes an enumeration a datatype of literals. Here values are resources with URIs, value/ffn_594, members of a class closed with owl:oneOf, so RWOI terms and mapping rows can point at them.
Not translated
The ISO base types (geometry, time) and their operations, data types and unions as structures, the nil-reason wrappers, and the model's invariants. A type's geometry is vocab:geometryType.
Added
The dictionary and the RWOI terms (as classes, from their OCL), the baselines as Mementos, and the OSM mappings: content of DGIF that is not in its UML structure.

ShapeChange also reads EA models only through EA itself, on Windows, or from an XMI export; the QEA files are SQLite, which the converter reads directly.

How are mappings to other vocabularies served?

As mapping sets under mapping/, one per other vocabulary and named after it, always from DGIF to the other side:

mapping/adv
To the AAA classes of GeoInfoDok 7.1 (AdV), and from values to the codes of its code lists (ok/7.1/ax-vegetationsmerkmal-wald#1100), as served at wunderfacts.com. Curated by hand for this wrapper, CC BY 4.0.
mapping/osm
To the OSM tags as served at osmwrap.ontologycentral.com: the Swiss table read from DGIF's side, MIT.

Each set is SSSOM: as TSV at mapping/adv.sssom.tsv, and as RDF or HTML at mapping/adv. Each row has its own URI, mapping/adv#ec015-ax_wald, and the types and values it names link to it with vocab:mapping.

What does a mapping row say?

A SKOS mapping predicate between a DGIF type and a class on the other side, each side perhaps narrowed by a value:

Forest EC015  with foliageType = deciduous   closeMatch   AX_Wald  with vegetationsmerkmal = 1100 Laubholz
Grassland EB010                              narrowMatch  AX_Landwirtschaft  with vegetationsmerkmal = 1020 Grünland
  

closeMatch: the two can be used for each other in most cases; broadMatch: the other side is broader; narrowMatch: it is narrower; relatedMatch: they overlap. mapping/adv has no exactMatch: no class of a defence model and of a national cadastral one is interchangeable everywhere. In mapping/osm, the Swiss table's OK is closeMatch and its Generalization narrowMatch; a row whose DGIF side does not resolve has SSSOM's NoTermFound as subject.

The RDF states each row about itself, as an owl:Axiom with its source, predicate and target, as SSSOM does. No skos:closeMatch is asserted between the classes: DGIF's vocabulary stays DGIWG's, and a mapping is someone's judgement about it, with its own source and licence.

Where do the OpenStreetMap mappings come from?

From the Swiss project che-dgif-interlis-tools (Michael Lanini, swisstopo): its table OSM_to_DGIF_V3.csv, MIT licence. The mappings are the Swiss project's; this wrapper resolves them against DGIF and serves them, read from DGIF's side, as mapping/osm, naming the table as their source. The tags are Linked OSM's (https://osmwrap.ontologycentral.com/tag/amenity=cinema#concept); this wrapper mints no URIs for them.

Is “OK” an equivalence?

No. The table's OK becomes skos:closeMatch, its Generalization skos:narrowMatch (the tag is the narrower), and each row's comment keeps the table's word.

Why one row per tag and geometry?

The table maps a tag together with how it is drawn: point, line or area. Sometimes that matters:

amenity=car_wash   point     →  Building
amenity=car_wash   polygon   →  Facility
  

So each row says its geometry (vocab:geometry, the TSV's geometry column), and its id ends with it: mapping/osm#amenity=car_wash-point.

Why does part of a mapping not resolve?

The table targets DGIF baseline 2025-1 (“V3” is the edition); this wrapper resolves it against the latest, 2026-1. A type or value counts only if its code and name both match. Some rows have a part that does not, such as Monument as AL130 (it is AL131), or noInformation. That part is kept verbatim in the row's comment, not guessed; a row whose type does not resolve has SSSOM's NoTermFound as subject.

Why are there no definitions of the OSM tags?

The table's come from the OSM wiki, which is CC BY-SA, not MIT, so they are not served. The tags are Linked OSM's, which describes them.