- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们根据分别与 B 或 C 的实例具有关系 a_to_b 和 a_to_c 的实例的交集 (AND),将类 A 定义为 owl:equivalentClass 并将类 A2 定义为 rdfs:subClassOf。请看例子:
:A rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( [ rdf:type owl:Restriction ;
owl:onProperty :a_to_b ;
owl:someValuesFrom :B
]
[ rdf:type owl:Restriction ;
owl:onProperty :a_to_c ;
owl:someValuesFrom :C
]
) ;
rdf:type owl:Class
] .
这里作为一个子类:
:A2 rdf:type owl:Class ;
rdfs:subClassOf [ owl:intersectionOf ( [ rdf:type owl:Restriction ;
owl:onProperty :a_to_b ;
owl:someValuesFrom :B
]
[ rdf:type owl:Restriction ;
owl:onProperty :a_to_c ;
owl:someValuesFrom :C
]
) ;
rdf:type owl:Class
] .
使用 owl:equivalentClass 的原因是什么?我什么时候使用 rdfs:subClassOf?区别和最后真正表达的内容对我来说并不完全清楚。
我的进一步观察/问题:
a) 当我用三元组创建实例 x 时:(x, a_to_b, b1) 和 (x, a_to_c, c1),x 被自动推断为 A 的类型而不是 A2 的类型。 (将 Protege 与 Hermit Reasoner 结合使用)(c1 是 C 的类型,b1 是 B 的类型)。
b) 当我创建实例 y 并手动为 y 分配类型 A 和 A2 时,如果 y 通过 a_to_b 与 B 的实例无关并且通过 a_to_c 与 C 的实例无关,这会成为问题吗? Hermit Reasoner 没有显示出任何问题的迹象,但这不是 A 类的必要(必须满足)条件吗?
c) 这些陈述对 A 是否正确:
c2) 如果我知道 z 与 B 的实例有 a_to_b 关系,并且它与 C 的实例有 a_to_C 关系,则 z 必须是 A 类型。
c3) A 是与 B 的实例具有 a_to_b 关系并且与 C 的实例具有 a_to_C 关系的所有事物的类。
我可以说 c1 和 c3 也关于 A2 或陈述如何改变吗?
意思不是很清楚。我希望有人能澄清事情。提前致谢
最佳答案
我认为首先要注意的是等价性,比如 D equivalentClass E
,是 D subClassOf E
和 E subClassOf D< 的缩写
。 subClassOf
的语义是子集。这意味着集合 D
是集合 E
的子集,而集合 E
是 D
的子集,这表示集合 D
和集合 E
是完全相同的集合。我们说它们是等价的。
现在请注意 subClassOf
的语义。如果我知道 F subClassOf E
和 G subClassOf E
,我能说说 F
和 G
是如何关联的彼此?绝对没有。这有点像知道自行车和卡车都是交通工具。这并不能使自行车成为卡车或卡车成为自行车,尽管两者都是车辆。
因此,在您的示例中,A
可以扩展为 2 个公理
A subClassOf (a_to_b some B) and (a_to_c some C)
(a_to_b some B) and (a_to_c some C) subClassOf A
问题的答案:
(a) 根据您对x
的断言,我们可以看到x
确实是A
的一个实例。但是,没有关于 x
的信息可以让我们说 x
是 A2
类型。我们所知道的是 x
和 A2
都是 (a_to_b some B) 和 (a_to_c some C)
的子类。
(b) 这是由于开放世界假设,这意味着推理者不会根据信息的缺失做出任何假设。如果您没有明确声明 y
与 B
没有 a_to_b
关系,它将假定 a_to_b
关系存在但只是不为人所知。这与数据库通常做出的封闭世界假设相反。即,如果客户没有雇主信息,通常会假设客户没有工作。
您可以通过声明a_to_b max 0 B
来声明y
没有a_to_b
关系。然后推理机会给出一个不一致的结果。
(c1) 是的,但由于开放世界假设,这些目前可能未知。
(c2) 是的,基于等价语义
(c3) 是的。
对于 A2
这不是真的,因为它只是一个子类而不是所有与 a_to_b 和 B 的实例有关系的事物并且与 C 的实例有 a_to_C 的关系。
何时使用等同于 subClassOf
等价物用于定义。那就是当你想要陈述被称为 A
的东西的必要和充分条件时(来自你的例子)。
当您想要定义从最一般到最具体的层次结构时,使用 SubClassOf。也就是说,它通常是您在分类法和编程中看到的,您会将其视为面向对象的类层次结构。
关于logic - 使用 rdfs :subClassOf or owl:equivalentClass in case of existential quantification (owl:SomeValuesFrom) for a OWL class restriction constructor? 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70386593/
我知道 owl:Class 是 rdfs:class 的子类,所有 OWL 类都是 owl:Class 的成员。我还知道 owl:Thing 位于类层次结构的顶部。那么 owl:Class 和 owl
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
我认为我对 OWL 公理仍然存在根本性的误解:(。 这是我创建的一个小型测试本体: @prefix xsd: . @prefix rdf: . @prefix rdfs:
我是耶拿的新手。我想创建一个新的 OntModel 并需要将一些其他本体导入到该模型中。如果我将其写入文件,我希望该文件可以显示如下内容: 现在,我不知道如何通过jena将其他本
我认为我对 OWL 公理仍然存在根本性的误解:(。 这是我创建的一个小型测试本体: @prefix xsd: . @prefix rdf: . @prefix rdfs:
我是耶拿的新手。我想创建一个新的 OntModel 并需要将一些其他本体导入到该模型中。如果我将其写入文件,我希望该文件可以显示如下内容: 现在,我不知道如何通过jena将其他本
导航和点周围的容器 .owl 控件不再存在,但我需要它们。有人知道如何恢复导航和点的环绕吗? 最佳答案 如果有人正在寻找...这是我的解决方案,用于取回 owl-nav 和 owl-dots 周围的包
对于我认为非常简单的场景,如果能提供一些帮助,我将不胜感激;但作为 OWL 和 GraphDB 的新手,我可能犯了一些基本错误。 我有一个非常简单的 Turtle 指定的 OWL 示例,如下所示: @
我使用 Protege 创建了一个本体。 类- Person Man Woman 属性(域/范围) Knows(Person / Person) hasRelationShip(Per
我正在使用 Protege v4.3 制作本体。 我有一个关于 OWL 本体和 DL 查询的问题。 例如,在 Pizza 本体中, http://owl.cs.manchester.ac.uk/co-
例如,此问题主要发生在用户使用速度较慢的互联网或移动设备时。但是,当轮播中的页面内容/图像没有被缓存时,有时也会在更高的速度上看到闪烁。 如果页面加载并呈现第一个元素,所有轮播“幻灯片”就像一个列表一
我需要在Protégé中实现一个OWL-ontology,它包含两个类:s1和s2,都是System的实例> 类。这两个类是通过连接类s1_s2 连接起来的,其中包含属性omega。该属性必须根据以下
我一直在四处寻找为什么 OWL Full 是不可判定的,但我还没有找到一个易于理解的例子来让我理解它。 我发现一些陈述解释了这是由于“Entailment Closure”,并且这也与 OWL Ful
我试图理解 OWL 2 的以下公理,但不知道它们是哪种公理。这里 R 是角色,C 是类 ∃R⊑C ∃R⊑∃R.C C ⊑ ¬∃R ∃R ⊑ ¬C 到目前为止,我认为 1 提供了有关 R 范围的信息,但
当 Owl Carousel 在隐藏元素中启动,然后通过触发器显示该元素时,轮播项目的宽度完全错误(直到窗口调整大小): Fiddle (点击红色链接,看到损坏的布局出现,然后调整窗口大小) 这个问题
在构建轮播时,我意识到猫头鹰添加了克隆的重复项。我的猫头鹰配置看起来像这样。我如何阻止这种情况发生。 owlDfe.owlCarousel({ loop: false,
我有两张幻灯片。我用的是 OWL 1,效果很好。我想要无限循环,所以搬到了 OWL 2。 下面的代码效果很好。幻灯片保持同步,但自动播放永远不会开始。我必须拖动幻灯片或显示导航并单击下一个/上一个。
我们根据分别与 B 或 C 的实例具有关系 a_to_b 和 a_to_c 的实例的交集 (AND),将类 A 定义为 owl:equivalentClass 并将类 A2 定义为 rdfs:subC
我正在使用 rdflib 创建一个图形。我想使用我拥有的“.owl”文件中的一些术语。我如何使用 rdflib 将这个 owl 文件作为 MyImportedTerminology 导入,并访问它的术
通常,当我们说“我所有的 child 都是女性”时,我们的意思是“并且至少有一个”。名门pizza tutorial (V1.3)在第 100 页解决了这个问题,说拥有普遍限制 (owl:allVal
我是一名优秀的程序员,十分优秀!