Skip to content

LambdaGeo/dbcells-ontology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

91 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DBCells Vocabulary

A lightweight RDF/RDFS vocabulary for publishing, reusing and integrating data from land use and land cover change models as linked data.

This vocabulary is part of the DBCells project, which proposes a methodology for reproducible spatial dynamic models based on the linked data paradigm.


Canonical URI

https://purl.org/linked-data/dbcells

⚠️ The code examples in the paper published at V Simpósio REACT (2025) contain incorrect URIs using http://www.purl.org/.... The correct base is always https://purl.org/... (no www, HTTPS).


Modules

The vocabulary is split into four modules, each with its own PURL and documentation page:

Module PURL Documentation Description
Root /dbcells HTML Cell class and core properties
Measures /dbcells/measure HTML Spatial aggregation operations
Attributes /dbcells/attribute HTML Metadata qualifying observations
Code lists /dbcells/code HTML Geographic features and land cover classes

Design

The vocabulary is built on top of the RDF Data Cube Vocabulary (W3C recommendation) and organises data into three components:

  • Dimensions β€” identify each observation in space and time, reusing sdmx:refArea and sdmx:refPeriod from the SDMX vocabulary
  • Measures β€” represent the spatial aggregation operation applied to the data (e.g. mean, distance, percentage)
  • Attributes β€” qualify each observation by linking it to the geographic feature, source file and script used to compute it

The key design decision is to separate the measure from what is being measured. For example, "mean of forest cover" is modelled as:

  • measure: dbc-m:mean
  • attribute: dbc-a:feature β†’ dbc-c:landcover-veg

This allows measures to be reused across different models while attributes carry the domain-specific meaning.


Quick start

@prefix qb:       <http://purl.org/linked-data/cube#> .
@prefix sdmx-dim: <http://purl.org/linked-data/sdmx/2009/dimension#> .
@prefix dcterms:  <http://purl.org/dc/terms/> .
@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .
@prefix dbc-m:    <https://purl.org/linked-data/dbcells/measure#> .
@prefix dbc-a:    <https://purl.org/linked-data/dbcells/attribute#> .
@prefix dbc-c:    <https://purl.org/linked-data/dbcells/code#> .
@prefix cells:    <https://purl.org/linked-data/dbcells/epsg4326#> .
@prefix ds:       <https://purl.org/dbcells/dataset#> .
@prefix obs:      <https://purl.org/dbcells/observation#> .

# Dataset β€” groups common metadata for a set of observations
ds:forest-cover-2010
    a                   qb:DataSet ;
    dcterms:title       "Forest vegetation cover β€” Brazil 2010"@en ;
    sdmx-dim:refPeriod  "2010"^^xsd:gYear ;
    dbc-a:feature       dbc-c:landcover-veg ;
    dbc-a:sourceFile    <https://github.com/LambdaGeo/brlucc-database/raw/main/data/mapbiomas_2010.tif> ;
    dbc-a:scriptFile    <https://github.com/LambdaGeo/brlucc-database/blob/main/scripts/fill_forest_percentage.lua> .

# Observation
obs:forest-cover-001
    a                   qb:Observation ;
    qb:dataSet          ds:forest-cover-2010 ;
    sdmx-dim:refArea    cells:R0_0830Cx-46_4583Cy-23_8881 ;
    dbc-m:percentage    87.3 .

See examples/example.ttl for a complete example with multiple datasets, observations and a SPARQL query.


Repository structure

.
β”œβ”€β”€ vocab/
β”‚   β”œβ”€β”€ dbcells.ttl          # root β€” Cell class and core properties
β”‚   β”œβ”€β”€ dbc-measure.ttl      # measure properties
β”‚   β”œβ”€β”€ dbc-attribute.ttl    # attribute properties
β”‚   └── dbc-code.ttl         # code lists
β”œβ”€β”€ examples/
β”‚   └── example.ttl          # usage example
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ gendoc.py            # generates docs/ using pyLODE
β”‚   β”œβ”€β”€ Pipfile
β”‚   └── Pipfile.lock
β”œβ”€β”€ docs/                    # auto-generated β€” do not edit manually
└── archive/                 # legacy files β€” do not use

Generating documentation

Documentation is generated automatically via pyLODE on every push to main using GitHub Actions. The generated HTML pages are published via GitHub Pages at:

https://lambdageo.github.io/dbcells-ontology/

To regenerate locally:

cd scripts/
pipenv install
pipenv run python gendoc.py

Published data

Data from land use and land cover models published using this vocabulary is available at:

Dataset URL
Land cover β€” Brazil https://data.world/lambdageo/luccmebrlanduse
Drivers (distance features) https://data.world/lambdageo/luccmebrdrivers
DBCells cell repository https://data.world/dbcells/dbcells

Related projects

  • DBCells server β€” linked data server for cell geometries
  • brlucc-database β€” raw data and scripts for the Brazil LUCC model
  • QGISSPARQL β€” QGIS plugins for importing and exporting linked data

License

This vocabulary is published under the Creative Commons Attribution 4.0 International License.


Citation

If you use this vocabulary in your work, please cite:

Santos Junior, N. J.; Silva, C. D. S.; Sousa, F. M.; Bezerra, D. S.; Costa, S. S. Publishing and Reusing Land Use and Land Cover Data through RDF Data Cube. V SimpΓ³sio REACT, 2025.

About

🌍 RDF/RDFS vocabulary for publishing and integrating Land Use and Land Cover (LULC) change models as Linked Data. Based on W3C Data Cube.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages