# Enabling Biodiversity-Informed Architecture Through Ontology-Driven Data Integration
## 5 Ontology-Driven Data Integration Through OBDM
Heterogeneous data are mapped and converted into a graph representation in the KG (ABox) by using different mapping languages, such as RML [29], Ontotext Refine, and OBDA ([[https://graphdb.ontotext.com/documentation/10.8/virtualization.html](https://graphdb.ontotext.com/documentation/10.8/virtualization.html)]([https://graphdb.ontotext.com/documentation/10.8/virtualization.html](https://graphdb.ontotext.com/documentation/10.8/virtualization.html)) (accessed on 17 March 2025)). Shapefiles are converted into RDF using RML mappings that are generated by GeoTriples (ver. 1.1.6) [42]. For this dataset (including GBIF, which can be transformed in this representation; see Example 1), the triples are indexed by the triple store and can be queried and reasoned using GeoSPARQL. The user can query the KG using (Geo)SPARQL as a unified interface that encompasses and integrates different datasets combining the results, and, if required, the user can use reasoning on top using TBox statements. Therefore, the KG integrates heterogeneous data from different sources, providing unified access to the data by using the SPARQL (or SPARQL*) query language. Figure 8 shows a snapshot of the core parts of the KG, which links knowledge from datasets originated in Grasshopper (left), global biotic interactions and proximity constraints (centre), and the voxel model (top) and PFGs (right). One can traverse from one context to another, given that the relations between datasets are explicitly encoded (e.g., owl:sameAs), or they can be inferred by SPARQL queries (e.g., if x,y,z coordinates in between datasets coincide). Whenever possible for the IRIs of species, we treat Wikidata identifiers as canonical IRIs (we mention [46] as an approach that tackles canonical IRIs in the setting of virtual mappings and OBDM; in our case, this part of the data is materialised) and provide crossovers via owl:sameAs to other linked datasets. This pragmatic approach allows us to start from a central entity directed towards other entities when browsing or querying species data, as well as for convenience reasons, i.e., when using reasoning support via owl:sameAs to infer all the statements for the linked species during repository loading time (alternatively, the latter can be computed via query rewriting during query time by using path queries in SPARQL owl:sameAs*). **Example 2**. : _In the following, we see an example of how the requirements for the proximity between the species_ Abies alba _and_ Scopula fioslactata _have been modelled in RDF* to represent n-ary relations in a succinct way, which are stored in GraphDB. The predicates proximityRequirementMin and proximityRequirementMax have been used to set the minimum and maximum allowed value between Abies alba and Scopula fioslactata. The visualisation of RDF* triples is depicted in Figure 8 (dashed line within the centre environment/container)._  
```
<ecology-inst:Abies_albacecolopes-schema:proximityDistance ecolopes-inst:Sepula_fioslactata>> ecolopes-schema:proximityRequirementMin\"20\"\"zsd:integer; ecolopes-schema:proximityRequirementMax\"100\"\"zsd:integer. ```In the following, we describe the process used to harvest data from GLoBI to obtain all (biotic) interactions between designated species. The workflow begins by specifying a list of plant or animal species as a seed. This initial list can either be derived from geographic coordinates (e.g., by retrieving local species using the GBIF API) or manually selected based on species relevant to our context in Vienna. Once the species list is established, we utilise the GLoBI API to retrieve interaction data in the form of CSV files, with one file generated per species. The next step involves transforming the CSV data into the RDF format. To achieve this, we use Ontotext Refine to create the necessary mappings via a graphical user interface (GUI). These mappings are subsequently exported as JSON files (cf. Figure 9).