A tool for discovery of geo-spatial links.
Geo-L retrieves specified properties of spatial objects from source and target datasets, through their respective SPARQL endpoints, and finds topological relations between objects in source and target datasets according to topological predicates.
The specifications of the relevant properties are provided in a configuration file, which allows constraining the number of object by specifying offset and limit . A dataset can be created through properties which already exist in the graph, and, in addition, Geo-L allows direct construction of ad-hoc values through a SPARQL select statement for a given resource.
- Install Python3
- Install the required libraries with
pip install -r requirements.txt
- Install PostgreSQL and PostGIS
- Create a database and add extensions postgis and postgis_topology
The following measures are supported:
- contains
- contains_properly
- covered_by
- covers
- crosses
- disjoint
- distance
- distance_within
- equals
- hausdorff_distance
- intersects
- overlaps
- touches
- within
The distance_within measure needs a threshold to work.
Geo-L can be run from the command line or as server with a Rest API.
To run geo-L from the command line, a config file and a database config file are needed. Example configs are in the configs folder. (Also see README in configs folder)
python main.py -c config.json -d postgresql_config.json
To run the server, a database config file is needed.
python server.py -d postgresql_config.json
Send a Post request to serverurl:8888/limes
with a Json body, which contains the geo-L config.