Skip to content

Linked data vocabularies for describing passenger railway stations, following the NeTEx/Transmodel standards. (Work in progress)

License

Notifications You must be signed in to change notification settings

dbinfrago/station-vocabularies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

station-vocabularies

Linked data vocabularies* for describing passenger railway stations, following the NeTEx/Transmodel standards, as well as RML mappings to generate linked data from NeTEx XML files. Currently work in progress.

*also referred to as ontologies

Vocabularies

Title (Status*) Description Preferred prefix Base URI* Download*
NeTEx fixed object vocabulary (experimental) Linked data ontology for representing NeTEx/Transmodel datasets, with focus on the so-called "fixed object model" – a successor to the former IFOPT standard – which can be used to describe railway stations, station equipments, points of interest, and more. See design philosophy for more details. netex or netexFO https://lod.bahnhof.de/vocabulary/netex here
DB station vocabulary (experimental) Linked data ontology containing Deutsche Bahn specific properties which are not part of Transmodel/NeTEx (e.g. DB station identifiers). bahnhof https://lod.bahnhof.de/vocabulary/db here

*see caveats

Caveats

There are several shortcomings to be aware of while this project is still under development:

  • The NeTEx vocabulary does not include all (or even a majority of) NeTEx fixed objects classes and properties yet. Be aware of this when using our RML mappings to generate linked data from NeTEx XML files – the results might not include all attributes from your source data.
  • Class and property descriptions in the ontologies as well as other metadata might still be opaque, verbose or not present at all. We intend to amend and improve them over time.
  • The vocabularies still have experimental status, they should not be used productively yet.
  • sameAs references to other vocabularies are often still missing (see also: design philosophy).
  • Blank nodes (entities without IDs) are not supported by our RML mappings yet, applying the mappings to datasets which contain such entities might result in unexpected behaviour.
  • For technical reasons, vocabulary definitions cannot be retrieved via their linked data URIs just yet, we therefore provide a separate download URL for ontologies here for the time being.

Design philosophy

When creating a linked data representation of a dataset, it is usually recommended to re-use existing terms from other vocabularies instead of introducing new ones. One example for this could be the property name, for which one could re-use foaf:name of the FOAF vocabulary instead of creating a new my-vocabulary:name.

However, with a model as large as that defined in the NeTEx/Transmodel standards, creating a mapping to linked data terms using mostly existing vocabularies would become quite burdensome, as one would probably need to combine classes and properties from many other vocabularies, creating a patchwork which might be hard to document and understand.

We therefore chose a different approach: Our netexFO ontology re-defines all NeTEx classes and properties, but also contains sameAs references to existing vocabularies, wherever possible. This should make it a lot easier to understand the ontology while still leveraging the power of linked data and re-used vocabularies (as least if the consuming system supports reasoning using sameAs properties).

Some additional practical conventions we used for mapping NeTEx terms to linked data:

  • all classes begin with an uppercase letter (AccessSpacenetexFO:AccessSpace)
  • all properties begin with a lowercase letter (PrivateCodenetexFO:privateCode)
  • properties always use singular case (levelsnetexFO:level)
  • we make no distinction between in-place and referenced types (Quay, QuayRefnetexFO:Quay)

Mappings for converting XML to linked data

As mentioned above, this repository also contains mappings to create linked data sets from NeTEx XML dumps. Alongside the ontologies, we generate so-called RML mappings, which can be downloaded here, to be used with tools such as rmlmapper to generate RDF datasets:

# assuming you downloaded our rml mappings to mapping.ttl
# assuming you have java installed and downloaded rmlmapper to rmlmapper.jar
# assuming your NeTEx xml file is present in the same directory and called "index.xml" (the name is hard-coded, unfortunately)
java -jar ./rmlmapper.jar -m mapping.ttl -s turtle --strict \
  --base-iri "https://base-uri-to-be-used-for-entities-in-your-dataset.org/some-path/" > ./output.ttl

License

The ontology and RML mappings are released to the public domain (under the CC0 “license”), all other code is released under the APACHE 2.0 license.

Contributing

If you found an error or inconsistency, have a question or want to propose a new entity, property, etc., feel free to visit the issues page.

You're also invited to contribute directly by creating a pull request.

Note that, by participating in this project, you commit to the code of conduct, and agree to the release of your contributions under the APACHE 2.0 license (for the code) and to the public domain (under the CC0 “license”, for the ontology and RML artifacts), respectively.

About

Linked data vocabularies for describing passenger railway stations, following the NeTEx/Transmodel standards. (Work in progress)

Resources

License

Code of conduct

Stars

Watchers

Forks