对远程sparql端点执行逻辑程序查询
sparqlprog的Python项目详细描述
本模块包装 sparqlprog,提供 Python API用于在SPARQL端点上执行逻辑程序查询。
示例:
fromprologtermsimportTermGenerator,PrologRenderer,Program,VarfromsparqlprogimportSPARQLProgP=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))forrinS.query(query):print(f"{r['C']} {r['N']}")
安装
安装
python3 -m venv venv source venv/bin/activate export PYTHONPATH=.:$PYTHONPATH pip install -r requirements.txt
您需要访问sparqlprog服务。你可以用公共的 在Heroku上(默认)或运行自己的。
如果你有Docker,自己运行就很容易了:
docker run -p 9083:9083 cmungall/sparqlprog
然后可以将http://localhost:9083作为服务url传递 参数。例如
查询wikidata以获取大陆及其名称:
./sparqlprog.py -u http://localhost:9083 -e wd “continent(X),enlabel(X,N)”
您也可以在heroku上使用默认服务,但不能保证 要运行:
./sparqlprog.py -e wd “continent(X), enlabel(X,N)”