繁体   English   中英

RDFlib 计数在 SPARQL 查询中不起作用

[英]RDFlib count not working in SPARQL query

我正在使用本机商店(Sleepycat)探索基于 python 的库“RDFlib”。 基本的“select * ...”查询工作正常,但 COUNT 似乎不起作用。
这是我的代码:

from rdflib import ConjunctiveGraph, Namespace, Literal 
path = './mytriplestore'
graph = ConjunctiveGraph('Sleepycat')
graph.open(path, create = False)
query = """SELECT count(?o)
   WHERE {
     <http://examplesubject> ?p ?o.
   }
   Limit 10"""

qres = graph.query(query)
for row in qres:
   print row

错误:

File "/usr/local/lib/python2.7/dist-packages/rdflib/graph.py", line 1085, in query
query_object, initBindings, initNs, **kwargs))
File "/usr/local/lib/python2.7/dist-packages/rdflib/plugins/sparql/processor.py", line 74, in query
parsetree = parseQuery(strOrQuery)
File "/usr/local/lib/python2.7/dist-packages/rdflib/plugins/sparql/parser.py", line 1058, in parseQuery
return Query.parseString(q, parseAll=True)
File "/usr/local/lib/python2.7/dist-packages/pyparsing-1.5.7-py2.7.egg/pyparsing.py", line 1006, in parseString
raise exc
pyparsing.ParseException: Expected "?" (at char 7), (line:1, col:8)

谁能帮我解决这个问题?

您必须使用 group by 才能获得计数结果,请尝试以下操作:

query = """SELECT count(?o) As ?count
   WHERE {
     <http://examplesubject> ?p ?o.
   }
   GROUP BY ?o
   Limit 10"""

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM