首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在本体中使用"and“、”“或"not”作为关系/谓词?为了表现因果关系?

是否可以在本体中使用"and“、”“或"not”作为关系/谓词?为了表现因果关系?
EN

Stack Overflow用户
提问于 2019-09-26 21:24:19
回答 1查看 139关注 0票数 0

如果我们使用本体,我们可以使用<s,p,o>语义三元组来表示许多事物。

我想知道我该如何表达这个:

A和B导致C

A或B原因C

我不想做推理,我只想表现。

在本体中,可以将and或negation用作谓词/关系吗?

合取、析取和蕴涵具有适当的逻辑意义。

我只看到研究人员使用因果网络来表示因果关系,但我想知道为什么这在本体中是不可能的。

提前谢谢你,

EN

回答 1

Stack Overflow用户

发布于 2019-09-27 13:32:33

如果你只想表达你写的句子或公式,而不是推理,那么你只需要找到一种编码。任何可以解析回原始句子的编码都会起作用。作为一个例子,这里有一个建议。

考虑你的两个例子:

代码语言:javascript
复制
A and B cause C
A or B cause C

在这两种情况下,你都可以将句子分成3部分:

代码语言:javascript
复制
something  causes  something

这是一个三元组!让我们为谓词“ex:causes”做一个IRI:http://example.com/causes,缩写为IRI。在示例中,右边的第二个"something“是C。让我们将其与ex:C联系起来。剩下的部分,左边的第一个“东西”更复杂,因为我们需要编码它是一个复合结构。在第一种情况下,它是一个具有组件A和B的连接词。可以将其编码为一个空白节点,类型为ex:Conjunction (例如),并将其连接到ex:Aex:B (例如)。然后,在Turtle语法中,我们可以拥有:

代码语言:javascript
复制
[
    a  ex:Conjunction;
    ex:component  ex:A, ex:B
]  ex:causes  ex:C .

或者:

代码语言:javascript
复制
[
    a  ex:Disjunction;
    ex:component  ex:A, ex:B
]  ex:causes  ex:C .

如果你需要更复杂的东西,比如:

代码语言:javascript
复制
(A and B) or (C and D and E) causes (F or (G and H))

你可以这样写:

代码语言:javascript
复制
[
    a  ex:Disjunction;
    ex:component  [
        a  ex:Conjunction;
        ex:component  ex:A, ex:B
    ], [
        a  ex:Conjunction;
        ex:component  ex:C, ex:D, ex:E
    ]
]  ex:causes  [
    a  ex:Disjunction;
    ex:component  ex:F, [
        a  ex:Conjunction;
        ex:component  ex:G, ex:H
    ]
] .

在RDF或OWL的语义中没有表达因果关系的方法。因此,如果你想做出有趣的推断,你必须解析它,并将其转化为因果关系的逻辑。从这个意义上说,RDF表示并不比XML或JSON编码更具“语义”。与XML或JSON编码的唯一(重要)区别是,您将IRI用于一切,这允许您以分布式、模块化和超媒体的方式将更多信息正式附加到每个组件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58117838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档