如果我们使用本体,我们可以使用<s,p,o>语义三元组来表示许多事物。
我想知道我该如何表达这个:
A和B导致C
或
A或B原因C
我不想做推理,我只想表现。
在本体中,可以将and或negation用作谓词/关系吗?
合取、析取和蕴涵具有适当的逻辑意义。
我只看到研究人员使用因果网络来表示因果关系,但我想知道为什么这在本体中是不可能的。
提前谢谢你,
发布于 2019-09-27 13:32:33
如果你只想表达你写的句子或公式,而不是推理,那么你只需要找到一种编码。任何可以解析回原始句子的编码都会起作用。作为一个例子,这里有一个建议。
考虑你的两个例子:
A and B cause C
A or B cause C在这两种情况下,你都可以将句子分成3部分:
something causes something这是一个三元组!让我们为谓词“ex:causes”做一个IRI:http://example.com/causes,缩写为IRI。在示例中,右边的第二个"something“是C。让我们将其与ex:C联系起来。剩下的部分,左边的第一个“东西”更复杂,因为我们需要编码它是一个复合结构。在第一种情况下,它是一个具有组件A和B的连接词。可以将其编码为一个空白节点,类型为ex:Conjunction (例如),并将其连接到ex:A和ex:B (例如)。然后,在Turtle语法中,我们可以拥有:
[
a ex:Conjunction;
ex:component ex:A, ex:B
] ex:causes ex:C .或者:
[
a ex:Disjunction;
ex:component ex:A, ex:B
] ex:causes ex:C .如果你需要更复杂的东西,比如:
(A and B) or (C and D and E) causes (F or (G and H))你可以这样写:
[
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用于一切,这允许您以分布式、模块化和超媒体的方式将更多信息正式附加到每个组件。
https://stackoverflow.com/questions/58117838
复制相似问题