删除个人和来自RDF的属性

时间:2009-07-10 12:26:19

标签: rdf semantic-web owl rowlex

我的语义Web项目中有一个RDF文件,我使用Rowlex来操作它。 我需要从RDF中删除一个人,所以我使用了

<RDFDoc instance>.RemoveIndividual(new OwlThing(<individual URI>, <RDFDoc instance>));

使用这段代码,我的个人不见了,但它的属性仍然存在。所以我发现我应该首先删除它的属性。此外,我没有找到一起删除所有属性的命令。那么,问题1 :有没有办法删除具有所有属性的个人?或者,我可以删除一行代码中的所有属性而不是逐个删除吗?如何删除具有多个值的属性。例如三个StudyLists,例如下页。

另一方面,当我尝试从学生个人中移除一个属性时,例如'useSudyList',通过以下代码:

student.RemoveuseStudyList(student.useStudyList);

我找到了我的RDF文件:

<Ontologyowl:Student rdf:about="ehsanm">
//other properties
    <Ontologyowl:useStudyList>
        <Ontologyowl:StudyList rdf:about="stdl184516"/>
    </Ontologyowl:useStudyList>
</Ontologyowl:Student>

......变得像这样:

<Ontologyowl:Student rdf:about="ehsanm">
    //other properties  

</Ontologyowl:Student>
<Ontologyowl:StudyList rdf:about="stdl184516"/>

因此该财产被抛弃了。我没有文字属性的这个问题。 问题2 :问题是什么?

提前感谢您的关注和帮助。

2 个答案:

答案 0 :(得分:3)

您确实删除了该属性,但是还有其他与<stdl184516>相关的语句没有删除。

以下是您的实际陈述(海龟格式):

<ehsanm> a Ontologyowl:Student .
## Other statements
<ehsanm> Ontologyowl:useStudyList <stdl184516> .
<stdl184516> a Ontologyowl:StudyList .

因此,删除Ontologyowl:useStudyList主题的<ehsanm>谓词(以及包含它的语句)将留下关于<stdl184516>类型的剩余断言是有意义的。< / p>

您没有文字问题的原因是您没有文字作为语句的主语(它们只是语句的对象)。因此删除该语句将删除文字(以及对它的所有引用)。使用资源作为语句的对象,可能会有关于该资源的其他语句(在您的示例中就是这种情况)。

RDF认为文字是不相交的,这意味着它们都是不同的(即使它们具有相同的值)。这就是为什么将谓词删除到文字(如果你想以这种方式想到它的“链接”)也会删除文字。

更新(添加到Lame先生的回复中):从概念上讲,RDF是关于节点(资源)图中的边(关系/谓词)。删除节点的概念与RDF相反;它意味着节点(资源)本身就有意义。即使通过声明其rdf:type来键入资源,也是节点/边/节点语句。单独的节点URI被认为是不透明的,除了作为唯一标识符之外没有语义。这就是为什么RDF不允许“裸”节点(语句之外的节点) - 它们没有固有的含义。

要扩展Ehsan提出的问题,删除节点实际上会删除所有传入/传出谓词。这并不真正“删除”节点,它实际上删除了引用它的所有语句/断言(当没有语句引用它时将其视为“隐藏”)。

答案 1 :(得分:2)

您的问题与ROWLEX无关,但这是典型的图形问题:如果删除节点,您会在多长时间内删除删除?当您使用文字删除属性时,案例很简单,因为图表没有延续。当您删除指向另一个节点的属性时,是否应删除该节点?您的示例中的删除看起来很明显,因为您的图表既不包含循环引用也不包含共享关系。

想象一下下图:你有3个人:A(亚当),B(比尔)和他们的父亲F(弗雷德)。你有A - F和B - F之间的父亲关系。 你删除了亚当和他父亲之间的关系。您应该删除父节点并将Bill带入不一致(孤立:)状态吗?这里的答案是“不”。您只删除关系。

在UML图中,您可以选择聚合关系来区分“拥有”和“共享”。它以线末端的钻石颜色(黑色或白色)表示。在关系数据库中,您可以定义或忽略外键上的“级联删除”。它们代表了相同的概念。不幸的是,RDF不会在属性上提供这些额外的元数据。如果RDF有这些信息,我们可以确定我们应该在图表上何时以及在多远程度上删除删除。但我们没有。这样就说明了坏消息:你是独立的,你可以按照自己的意愿实施删除。