问题标签 [description-logic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
semantic-web - 如何在描述逻辑中表示这句话?
如何在描述逻辑中描述这个?
“每个人要么是男性要么是女性”
谢谢
math - “someValuesFrom”和“allValuesFrom”有什么区别?
在描述逻辑中,“someValuesFrom”和“allValuesFrom”有什么区别?换句话说,(有限存在量化)和(价值限制)之间的差异。
例如,考虑一下:
Δ = {a, b, c, d, e}
ext(B) = {<c,d>}
ext(R) = {<a,b>, <a,c>, <d,c>, < c,e>}
那么下面这些有什么区别呢?
ext(∃R.B) = ?
ext(∀R.B) = ?
有什么方法可以简化 somevaluefrom 和 allvaluesfrom 的概念吗?
rule-engine - DL Reasoner vs Rule Engine:你能解释一下区别吗?
有人可以解释像 Pellet/deafult OWL Reasoner 这样的 DL Reasoner 和像 Jess 这样的规则引擎之间的区别吗?和他们的应用?
谢谢。
rdf - 在 OWL 中混合 EquivalentClass 和 SubClass
我很好奇在类描述中混合 SubClassOf 和 EquivalentClass,以及推理器的行为方式。
具体来说,如果我对同一类同时有 EquivalentClass 和 SubClassOf 断言,是否需要同时满足 EquivalentClass 和 SubClassOf 条件才能将个人归入该类,还是只需要 EquivalentClass?
或者这是一个不好的做法?
例如(省略声明):
我想确保在下面的情况下,:x
被归类为:Foo
,因为 EquivalentClass 和 SubClassOf 断言都得到满足:
但:y
不是,因为不满足 SubClassOf:
谢谢,
乔纳森
java - 是否有任何基于“描述逻辑”或基于 FOL 的推理引擎 java 库可用?
我最近在一门 AI 课程中学习了 KRL(知识表示语言),发现描述逻辑是语义 Web 的正式知识表示语言家族,这很有趣。此外,在描述逻辑中,表示知识比在一阶谓词逻辑中更简单易懂。
有谁知道可用于处理描述逻辑或一阶逻辑的 Java 库?
logic - 用 DL 语法编写本体?
我刚刚发现了 OWL 和 Protege。在阅读了这个参考页面(我在下面引用)后,我想知道是否可以不使用抽象的 OWL 语法,而是用 DL 语法编写。我的背景是逻辑,所以听起来即使我以后必须翻译本体也会更有趣(尽管我确信必须有应用程序来做到这一点——此外,推理者不使用 DL吗?)。
如果可能的话,我应该在 Protege(或您建议的其他软件)中使用什么设置配置才能做到这一点?我怀疑这是不可能的,但我想确定一下,因为除了特殊符号的尴尬之外,我认为没有什么好的理由。
编辑:如果不可能,DL 语言究竟是如何使用的?
OWL DL 是支持数据值、数据类型和数据类型属性的描述逻辑SHOIN,即SHOIN(D),但由于OWL 是基于RDF(S),所以术语略有不同。...对于OWL本体或知识库的描述,可以使用DL语法。定义了一种“抽象的”类似 LISP 的语法,它更容易用 ASCII 字符集编写。
这是相同数据的两种语法样式的一个非常简短的工作示例。
rdf - 为什么这个 DL-Query 没有返回任何个人?
此 DL-Query 不返回任何个人:
- 查询(Protégé 语法):
hasPet exactly 1 DomesticAnimal
这是本体的一部分:
查询:
petOf value Bob
返回Sparkey
和Lucky
petOf value Joe
返回Lassy
hasPet exactly 1
什么都不返回。
为什么最后一个查询没有返回Joe
?我已经在 Protégé 中使用 Pellet、HermiT 和 FaCT++ 进行了尝试,但没有成功。
owl - OWL 2 转义
在描述逻辑中,有一个称为“rolification”的概念(OWL 和规则,第 3.2 节)。它将概念(类)转换为角色(属性)。例如,当我们 rolify 时R(x)
,我们得到r(x,x)
。这种技术对于在 DL 中表达一些规则很有用。
我们如何在 OWL 2 中做到这一点?OWL 2 规范中似乎没有直接支持 rolification 。
ontology - 确定哪些逻辑集包含特定语句:DL、FOL、Second-Order
我正在研究一个本体来表示星际争霸中的信息,但我无法确定以下通用类公理是否可以在 DL 中表示。如果没有,我想知道表达它所需的最小逻辑集(FOL、二阶等)。
有了这个公理,我想表示一个玩家控制一个区域,如果(1)该区域存在一个单位,并且(2)该区域中的每个单位都归玩家所有。
我有3个角色:
A. controlsRegion(p,r) 其中 p 是玩家,r 是区域
B. isOwnedBy(u,p) 其中 u 是一个单位,p 是一个玩家
C. isInRegion(u,r) 其中 u 是一个单位,r 是一个区域
没有足够的代表来发布图片,请参见此处的公式:http: //postimg.org/image/wve0h9m1z/
u、p 和 r 是变量(这就是为什么我不相信这可以在 DL 中表示)
另外,我不确定我使用的语法是否正确,请告知如何正确表示它。
谢谢,任何反馈表示赞赏!
owl - DL 查询未通过属性与他人联系的个人
我有一个 OWL 本体,其中包含三个相互关联的个体:a、b和c,并且还有两个孤立的个体x和y。
相互关联的个人:
- 至少有一个出站对象属性断言。例如:a hasRelationWith b;或者
- 至少有入站对象属性断言,例如:如 c,如 b hasRelationWith c。
孤立的个体:
- 出站对象属性断言为零,例如:x hasRelationWith [no individual];和
- 具有零入站对象属性断言,例如:例如 x,如 [no individual] hasRelationWith x。
是否可以使用 DL 查询(在 Protégé 4.3 中,如果有影响的话)对所有孤立的个体进行分类(通过逻辑推理,而不是通过枚举),如果有可能,我该怎么做?
我的直觉猜测是这样的:(hasRelationWith min 0 Thing)排除(hasRelationWith min 1 Thing),但DL-Query似乎不支持Set Subtraction语法......
更新:以下 SPARQL 可以做到,尽管它不能在类定义中使用。