通过其唯一ID在Jena中检索语句

时间:2015-08-09 16:08:50

标签: jena apache-jena

我正在构建一个REST API,它将提供有关存储在Jena TDB中的语句的信息。

如果每个语句都有唯一的ID,那就太好了,所以我可以在GET请求中使用这个ID来检索有关特定语句的信息。耶拿有类似的东西吗?

我知道我可以通过向model.listStatements方法提供适当的主题/谓词/对象标识符来检索语句,但将这些参数添加到API GET请求会非常难看。

2 个答案:

答案 0 :(得分:1)

在RDF中,三元组由其主语,宾语和谓词定义。如果你有两个具有相同S / P / O的三元组,它实际上是相同的三元组(值相等,而不是实例相等)。 RDF图是一组三元组;如果您添加两次三次,则该集只有一个实例。 RDF中没有三重ID概念,TDB内部没有。

答案 1 :(得分:0)

所以你可以为每个S,每个P和每个O使用唯一标识符,比如一个长度为4的字符串。只需将它们全部保存为键/值(id / resource,id / property)对。然后你将得到一个长度为12的字符串作为你的陈述的唯一标识符。

即使语句被删除并再次添加,在使用id标记每个语句时导致不同的id,此方法每次都会产生相同的语句。