我正在针对本体运行SPARQL查询并获取结果。但是,完整的URI会显示在结果中。
例如:
SPARQL查询
SELECT ?s where { ?s :wasBornIn :Ulm } LIMIT 1
结果 -
s={http://yago-knowledge.org/resource/Albert_Einstein}
而不是完整的URI,我只想要" Albert_Einstein"打印。有没有办法在不使用 rdfs:label 属性和 Model.SetNsPrefix(String nsprefix,String URI)方法的情况下完成此任务。
答案 0 :(得分:2)
你可以这样做:
在SPARQL中,有很多种方法,取决于您希望的一般方式,使用BIND
或SELECT表达式(例如(STRAFTER(....) AS ?sName))
STRAFTER(str(?s), "http://yago-knowledge.org/resource/")
REPLACE(str(?s), "(.*)/", "")
有关每个功能的详细信息,请参阅规范。