当前位置: 首页 > 知识库问答 >
问题:

OWL中可传递和对称对象属性的连接可能吗?

子车劲
2023-03-14

我正在使用一个本体(OWL,Protege4)。我有3个人:ABC。以及两个对象属性:barshascontactwith

关系应该是下一个:

    null

我想要得到的结果是设置bears关系,并从reasoner获取hascontactwith作为派生属性。

我很感激你事先的帮助!

共有1个答案

张翰海
2023-03-14

假设你有一个解决方案。该解决方案应从A推断A有联系人B,从B推断B有联系人C,但不应从A有联系人CA有联系人BA有联系人C之间有什么区别?后者已经是推断出来的。该解决方案应能够区分断言和推断的陈述。这在猫头鹰是不可能的。

也许可以使用规则语言或SPARQLupdate来解决一些问题。

在OWL中,我建议创建第三个属性作为两者的子属性,并设置其值:

ObjectProperty: myProperty
     SubPropertyOf: bears, hasContactWith

ObjectProperty: bears
     Characteristics: Transitive

ObjectProperty: hasContactWith
     Characteristics: Symmetric  

Individual: A
     Facts: myProperty  B   

Individual: B
     Facts: myProperty  C

Individual: C

顺便说一句,传递性和对称性可以被认为是在属性层次结构中自下而上传播的。

 类似资料:
  • 问题内容: 我正在考虑我的应用程序的解决方案。这是一种情况:我有一个类,该类的方法将ObjectA作为输入参数并调用几个小方法,这些方法中的每个方法都需要ObjectA的某些部分(它们不重叠,即需求和,需求等等)。 …)现在的问题是:鉴于一般的良好代码实践和性能,将ObjectA传递给这些方法中的每一个方法更好,以便它们可以自己提取所需的值,还是仅传递它们的值更好?我的意思是: 要么 感谢您的任何

  • 所以我有下面的代码,用Kotlin写的。 我在最后一条指令行()上得到一个编译错误,编译器说,但我不知道为什么。 我认为同伴对象应该对它们“陪伴”的类的属性具有某种可见性。 (免责声明:此代码正在从Java迁移到Kotlin。在Java版本上,以前是同一个类上的静态方法。) 多谢!

  • 我有一个对象“table”(如在restaurant table中),它实现了Partcel able,但有一个对象属性“Bill”。我需要将这个对象传递给另一个活动,但我不能像使用string或int那样编写对象,我如何实现writetoparcel方法等等?

  • 问题内容: 在JavaScript中,我们有几种获取对象属性的方式,具体取决于我们想要获取的内容。 1),它返回对象的所有自己的,可枚举的属性,即ECMA5方法。 2)循环,返回对象的所有可枚举属性,无论它们是自己的属性还是从原型链继承。 3)返回对象本身的所有属性,无论是否可枚举。 我们还拥有诸如让我们检查属性是否继承或实际上属于该对象之类的方法,以及顾名思义,可以让我们检查属性是否可枚举的方法

  • 问题内容: 我正在寻找“添加”多个JavaScript对象(关联数组)的最佳方法。 例如,给定: 什么是最好的计算方式: 问题答案: 引入ECMAscript 6是为了用Javascript本身实现此目的。 所述 Object.assign() 方法被用于所有可枚举自己的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 在许多现代浏览器中都受支持,但并非所有浏览器都支持。使用Babel

  • 问题内容: 我想知道JavaScript中是否有任何方法可以像这样遍历对象。 但是这样获取每个属性的名称。 我似乎在Google上找不到类似的东西。他们说与他们一起传递变量的名称,但这不是我要实现的选择。 谢谢你的尽心帮助。 问题答案: 使用Object.keys(): 给您一个属于输入对象的属性名称数组。