在我的本体中,我有一个名为beethoven的实例,如何说我的beethoven实例与这个贝多芬相同?
Beethoven
我知道我必须使用owl:sameAs谓词,但问题是当我单击sameAs谓词时,protege只是给我一个已经存在的实例的列表。然而,我在询问一个来自web上本体的实例。
我想的是,也许我必须导入这个本体,但是问题是,如果我想起诉dbpedia,我真的需要将整个dbpedia导入到我的机器中吗?
我肯定还有更简单的事情,所以我才问你们
提前感谢
更新1
看完这个答案后
Extend DBpedia entity in Protege ontology
我在我的门徒中创建了一个类型为THINKG的实例,并给它提供了完全相同的URI (也就是Beethoven ),并说我的贝多芬实例是owl:就像这个新实例一样,这就足够了吗?
Update2
我试图在update1中列出的内容之后查询我的本体,并注意到以下情况:
此查询:
select ?z where
{
mo:Beethoven owl:sameAs ?z
}返回空结果
但是,这个查询:
select ?z where
{
dbpedia:Ludwig_van_Beethoven owl:sameAs ?z
}返回我的贝多芬实例如下:

为什么dbpedia:贝多芬和mo:贝多芬是一样的,但是反过来,知道我说的是mo:贝多芬是猫头鹰:sameAs:不是相反的。
发布于 2016-03-07 21:49:10
这是RDF和OWL的重要区别之一。RDF不过是一堆三倍而已。三元组:
:LVBeethoven owl:sameAs :LudwigVanBeethoven和
:LudwigVanBeethoven owl:sameAs :LVBeethoven是不同的三倍。RDF图只是三元组。
另一方面,OWL是一种逻辑,涉及公理和推论。owl:sameAs是OWL个人的相等谓词,而相等谓词是对称的(除其他外)。这意味着从A owl:sameAs 中,猫头鹰推理者可以推断B owl:sameAs A。因此,如果将推理器附加到SPARQL端点,则可以查询A owl:sameAs ?x或?x owl:sameAs A并得到B。你可以在SPARQL中做一些有限的猫头鹰推理。在这种情况下,您可以使用属性路径跟踪owl:sameAs链接的任一方向:
select ?z where
{
mo:Beethoven (owl:sameAs|^owl:sameAs) ?z
}https://stackoverflow.com/questions/35702876
复制相似问题