rdflib запрос sparql вызывает ошибку разбора с клавишей FILTER - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь выполнить запрос SPARQL к графу с помощью rdflib. Это работает хорошо, если я не использовал FILTER, иначе это вызовет ошибку при разборе строки в запросе. Я использую PYTHON 2,7 . Глядя на запрос других людей, я не вижу никакой синтаксической ошибки. Вот запрос:

 query = " SELECT ?textspan WHERE " \
             " { ?textspan rst:startOffset ?start ; " \
             "                    rst:endOffset ?end . " \
             "    FILTER ( ?start <= "+denotedStartOffset+" < ?end ) } " 

они же с:

 query = " SELECT ?textspan WHERE " \
             " { ?textspan rst:startOffset ?start ; " \
             "                    rst:endOffset ?end . " \
             "    FILTER ( ?start <= 5 < ?end ) } " 

Ошибка:

Traceback (most recent call last):
  File "link.py", line 27, in <module>
    qres = g.query(QUERY_2)
  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.py", line 1947, in parseString
    raise exc
pyparsing.ParseException: Expected {SelectQuery | ConstructQuery | DescribeQuery | AskQuery}, found u'F'  (at char 103), (line:1, col:104)

Он говорит, что это не так ожидайте «F», чтобы он не распознал FILTER.

...