更改从本体获得的结果的格式

时间:2014-05-08 05:36:08

标签: rdf sparql

我正在针对本体运行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)方法的情况下完成此任务。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

  1. 如果您使用Jena Java代码进行查询,请询问资源“本地名称”
  2. 在SPARQL中,有很多种方法,取决于您希望的一般方式,使用BIND或SELECT表达式(例如(STRAFTER(....) AS ?sName))

    STRAFTER(str(?s), "http://yago-knowledge.org/resource/")

    REPLACE(str(?s), "(.*)/", "")

  3. 有关每个功能的详细信息,请参阅规范。