GeoKnow / LinkedGeoData

OpenStreetMap for the Semantic Web
http://linkedgeodata.org
GNU General Public License v3.0
133 stars 32 forks source link
obda ontop openstreetmap rdf semantic-web sparql sparql-to-sql sparqlify virtuoso

Welcome to LinkedGeoData: Providing OpenStreetMap data as RDF

LinkedGeoData (LGD) is an effort to add a spatial dimension to the Web of Data / Semantic Web. LinkedGeoData uses the information collected by the OpenStreetMap project and makes it available as an RDF knowledge base according to the Linked Data principles. It interlinks this data with other knowledge bases in the Linking Open Data initiative.

The project web site can be found here. If you are running Ubuntu then this repository contains everything you need to transform OpenStreetMap data to RDF yourself. For other systems please consider contributing adaptions of the existing scripts.

Quick Start

The following commands should get you started with a running Monaco dataset:

git clone https://github.com/GeoKnow/LinkedGeoData.git
cd LinkedGeoData
make clean
make
docker-compose up

# Quirk: Sometimes the nominatim container startup fails
# indicated by an error message that only reverse-only search is available
# In that case restart the container:
docker-compose restart lgd-nominatim-web

Services will run under these ports:

Important Notes

Recent Updates

How It Works

The architecture shown in the image below. The docker setup is located in the linkedgeodata-docker folder.

LGD Dockerized Architecture Overview

Project layout

This project requires Make and Apache Maven to build (Java 11+ required). Maven builds are not dockerized. Therefore any built artifacts will be cached in the local repository as usual.

Primary resources

They include the SQL files and mappings that enable rewriting SPARQL queries to SQL ones over an OpenStreetMap (and Nominatim) database. Furthermore, bash scripts are avaiable for helping setting up an LGD database. The mavenization and dockerization re-package these resources.

The following folders contain resources that are copied when building the lgd-tools-resources jar bundle

The scripts in the bin folder become part of the debian packaging of the cli tools lgd-tools-pkg-deb-cli

Thirdparty resources

There is a pom.xml that creates a jar file from a snapshot of the nominatim git. Especially for development this is much faster than repeated clones of the full git repo.

Contributions Welcome

The docker-based architecture is aimed at making it easy to contribute new or alternative components that can sit side-by-side with the core of the system - which is the a virtual knowledge graph view over an OSM database. Please open issues for discussion.

Examples include but are not limited to:

Dockerfiles for services such as a Linked Data or SPARQL interfaces should be designed to allow configuration of the target SPARQL endpoint(s), ideally via the docker environment.

License

The content of this project are licensed under the GPL v3 License.