Execute logic program queries against a remote SPARQL endpoint
Project description
This module wraps sparqlprog, providing a Python API for executing logic program queries over SPARQL endpoints.
Example:
from prologterms import TermGenerator, PrologRenderer, Program, Var
from sparqlprog import SPARQLProg
P = TermGenerator()
S = SPARQLProg(endpoint='wd')
C = Var('C')
N = Var('N')
# logic programming query: continent(C), enlabel(C,N)
query = (P.continent(C), P.enlabel(C, N))
for r in S.query(query):
print(f"{r['C']} {r['N']}")
Example Notebooks
See:
Installation
To install
python3 -m venv venv source venv/bin/activate export PYTHONPATH=.:$PYTHONPATH pip install -r requirements.txt
You will need access to a sparqlprog service. You can use the public one on Heroku (default) or run your own.
Running your own is easy if you have Docker:
docker run -p 9083:9083 cmungall/sparqlprog
You can then pass http://localhost:9083 as the service URL parameter. E.g
Query wikidata for continents and their names:
./sparqlprog.py -u http://localhost:9083 -e wd “continent(X),enlabel(X,N)”
You can also use the default service on heroku, but it is not guaranteed to be running:
./sparqlprog.py -e wd “continent(X), enlabel(X,N)”
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sparqlprog-0.0.3.tar.gz
(3.8 kB
view hashes)
Built Distribution
Close
Hashes for sparqlprog-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15a96b0dd045278d23ed82bdb53aa6abc014828c55a4961684232646a07d7bf5 |
|
MD5 | d8c472851279af44c1a79b6ab74824f4 |
|
BLAKE2b-256 | d7b62f7b8e364f4bdf0d17bc9b4d1f58a1e79edd1fb0604296b4a061e77cac81 |