如何解决Visual Graph 中的意外行为,以及使用 SPARQL
你好吗?
我正在 GraphDb 上迈出第一步,我发现了一些我不太了解的行为。让我来构建案例。
我有以下本体,我已将其加载到 GraphDb 中。 enter image description here
让我们只考虑 Persona 下的树。 当我转到 Visual Graph 并在搜索栏中键入 :Persona 时,返回的是: enter image description here
如你所见,本体对应的所有节点都在那里,但还有一些其他节点,如类(不同颜色),事物和无。 (忽略 Paul,这是我添加的一个实例)
这些其他节点是什么?以及如何防止它们出现在此视图中?
现在,当我使用 SPARQL 查询时,我运行
select * where {
?s ?p ?o .
}
如果我关闭了“在结果中包含推断数据”,我会得到这个
这很好。这是我所期望的。
但是...当我打开推理 On 时,我相信这是使用 rdf 的真正力量之一,我得到了大约 800 条记录,其中包含各种三元组以及 owl 和 rdf 通用对象的定义。
为了只获取我的东西并保持推理能力,我过滤如下
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX pe: <http://www.semanticlab.com/ontologias/EmpresasYPersonas#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
select * where {
?s ?p ?o .
FILTER (REGEX(str(?s),"Persona*" )).
FILTER (!REGEX(str(?o),"owl*" )).
FILTER (!REGEX(str(?o),"rdf*" )).
}
order by ?s
哪个返回
这里我看到了一些推理,例如 Paul 归类为 Persona,但没有明确说明。 但另一方面,有一堆我不理解也不想要的新三元组,因为它们没有带来任何价值:例如带有 owl:sameAs、owl:equivalentClass 的那些,或者那些声明 Persona 是一个 subClassOf Persona(实际上我认为这是错误的)。
能否解释一下为什么会发生这种情况,以及如何防止这种行为?
我知道我可能会犯一些错误,所以如果你发现任何错误,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。