微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Visual Graph 中的意外行为,以及使用 SPARQL

如何解决Visual Graph 中的意外行为,以及使用 SPARQL

你好吗?

我正在 GraphDb 上迈出第一步,我发现了一些我不太了解的行为。让我来构建案例。

我有以下本体,我已将其加载到 GraphDb 中。 enter image description here

让我们只考虑 Persona 下的树。 当我转到 Visual Graph 并在搜索栏中键入 :Persona 时,返回的是: enter image description here

如你所见,本体对应的所有节点都在那里,但还有一些其他节点,如类(不同颜色),事物和无。 (忽略 Paul,这是我添加一个实例)

这些其他节点是什么?以及如何防止它们出现在此视图中?


现在,当我使用 SPARQL 查询时,我运行

select * where {
?s ?p ?o .
}

如果我关闭了“在结果中包含推断数据”,我会得到这个

enter image description here

这很好。这是我所期望的。

但是...当我打开推理 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

哪个返回

enter image description here

这里我看到了一些推理,例如 Paul 归类为 Persona,但没有明确说明。 但另一方面,有一堆我不理解也不想要的新三元组,因为它们没有带来任何价值:例如带有 owl:sameAs、owl:equivalentClass 的那些,或者那些声明 Persona 是一个 subClassOf Persona(实际上我认为这是错误的)。

能否解释一下为什么会发生这种情况,以及如何防止这种行为?

我知道我可能会犯一些错误,所以如果你发现任何错误,请告诉我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?