从 RDF 文件中提取主题,属性和对象时,我想用谓词对应的关键字替换谓词的IRI。例如,一般 SPARQL 查询会返回以下结果:
| <http://extbi.dk/resource/727> | <http://extbi.dk/p/population> | "21,749"
| <http://extbi.dk/resource/727> | <http://extbi.dk/p/region> | "Central"
| <http://extbi.dk/resource/727> | <http://extbi.dk/p/id> | "727"
我想要做的是:如果 http://extbi.dk/p/ 的前缀关键字是架构,那么我想要的结果是:
| <http://extbi.dk/resource/727> | <schema:population> | "21,749"
| <http://extbi.dk/resource/727> | <schema:region> | "Central"
| <http://extbi.dk/resource/727> | <schema:id> | "727"
我正在使用Apache Jena。
答案 0 :(得分:0)
使用PrefixMapping
对象在Jena中处理前缀。
此示例应返回QName,如果不存在则返回null:
Node n;
PrefixMapping prefixes = new PrefixMapping.Factory.create();
qnameFor(n.getURI());
shortForm(String URI)
也可用于根据“原始”URI资源简化URI。
以下是Javadoc的链接:Link。