使用jena中的语句ID删除rdf三元组

时间:2014-03-13 17:10:29

标签: rdf sparql jena ontology

Iam硕士生我的项目是在jena开发故事模型。现在我的任务是使用Id删除一个语句。如果这是一个声明:

{member1, member2, member3,  member4, statementID}

例如:

[Alice, saw, mouse, garden]. 

statementID对用户不可见。

在我的模型中,上述语句保存为[ID, Property, Value]

[statementID, hasSubject, Alice] ; 
[statementID, hasEvent, saw] ; 
[statementID, hasBeneficiary, Mouse] ; 
[statementID, hasLocation, garden]

通过这种方式,有许多语句,如[bob, like, alice][Edwin, meet, mouse, garden]等。为了删除选定的语句,我必须构建一个方法来查找所选语句ID的所有三元组并删除它们。我的教授建议我使用Sparql查询来查找所选语句ID的三元组,因为它是我的一个新主题,我已经开始阅读有关sparql查询的内容了。

1 个答案:

答案 0 :(得分:1)

如果没有具体的数据示例,很难确切地说出您的查询结果。即便如此,听起来你只是要求删除所有特定statementId主题的三元组。那就是:

delete { <statementId> ?p ?o }
where { <statementId> ?p ?o }

有关更多信息和示例,请参阅SPARQL 1.1规范中的3.1.3.1 DELETE (Informative)