我是SPARQL查询的新手,在尝试从rdflib.term.URIRef和rdflib.term.Literal提取值时遇到错误。所以?o同时包含URI和文字。请查找以下查询。
SELECT * WHERE {
uo:0A ?p ?o.
BIND(IF(!isLITERAL(?o), (strafter(str(?o), '#') as ?o2), ?o) AS ?result)
}我以ParseException: Expected {SelectQuery | ConstructQuery | DescribeQuery | AskQuery}, found 'B' (at char 117), (line:4, col:1)的身份收到错误。
任何帮助都将不胜感激。
发布于 2021-07-15 20:08:28
重新发布评论内容作为答案,这样就可以接受并关闭问题:
你的BIND子句被破坏了,请再次检查IF的语法,目前你有两次,这显然没有意义,因为在任何IF中没有as,而只是在绑定中。
AS仅适用于绑定(或查询的投影部分),以便为变量赋值。
https://stackoverflow.com/questions/66699931
复制相似问题