我正在研究本体项目,因为我写了一个sparql查询,sparql查询在protege 4.3中工作正常但是当我在android中使用那个sparql查询我得到异常请建议任何解决方案我怎么能在android中使用bind
我的sparql查询是
select ?_Email ?_ind ?_ind1 where {
?_ind rdf:type my:Accomodation .
?_ind my:hasStarRating ?_Email.
?_ind my:hasType ?_ind1.
bind( str(?_Email) as ?_Email )
bind( strafter(str(?_ind),str(my:)) as ?_ind )
bind( str(?_ind1) as ?_ind1 )
}
显示异常
Caused by: com.hp.hpl.jena.query.QueryParseException: Lexical error at line 1, column 590. Encountered: " " (32), after : "bind"
答案 0 :(得分:1)
你似乎正在使用androjena。这使用了旧版本的Jena,它没有BIND。
对于BIND,它必须是一个新变量。
bind( str(?_Email) as ?_Email2 )
如果您使用ARQ的扩展语法(这已经存在更长时间;它不是标准的SPARQL 1.1),您可能在LET上取得更多成功。
LET(?_Email2 := str(?_Email))
另外联系androjena项目。