Sparql 芝麻不是推断猫头鹰

Sparql 芝麻不是推断猫头鹰,sparql,semantic-web,owl,sesame,linked-data,Sparql,Semantic Web,Owl,Sesame,Linked Data,我有一些关于疫苗的资料在我的“芝麻三宝”里。在同一个存储中,我添加了来自DBpedia的关于疫苗的额外数据 <http://dbpedia.org/resource/Rotavirus_vaccine> dbpedia2:routesOfAdministration "oral"@en 我通过替换war文件安装了GraphDB Lite(OWLIM),并通过在DBpedia上执行查询来验证owl:sameAs是否有效 内存中的Sesame和本机存储不支持开箱即用的OWL推

我有一些关于疫苗的资料在我的“芝麻三宝”里。在同一个存储中,我添加了来自DBpedia的关于疫苗的额外数据

<http://dbpedia.org/resource/Rotavirus_vaccine>     
dbpedia2:routesOfAdministration "oral"@en

我通过替换war文件安装了GraphDB Lite(OWLIM),并通过在DBpedia上执行查询来验证owl:sameAs是否有效

内存中的Sesame和本机存储不支持开箱即用的OWL推理。它们确实为RDFS推理提供(可选)支持(因此理解
RDFS:subassof
etc),这可以在存储库创建时启用(在工作台中,这是下拉选项“内存/本地存储RDF模式”)。然而,
owl:sameAs
当然不是RDFS推理的一部分

<http://dbpedia.org/resource/Rotavirus_vaccine>     
dbpedia2:routesOfAdministration "oral"@en
Sesame还支持在内存或本机存储之上的自定义图形查询推理器。可以使用您自己的推理规则配置此自定义推理器,该推理规则由两个SPARQL
CONSTRUCT
查询组合而成:表示实际推理规则的“规则”查询和更新存储时用于维护推理语句的“匹配”查询。有关如何设置此选项的更多说明,请参见中的存储库创建部分。工作台中的选项是“内存/本机存储自定义图形查询推断”

对于
owl:sameAs
,支持它的自定义规则大致如下:

CONSTRUCT { ?s1 ?p1 ?o1 . ?o1 ?p2 ?o3 } 
WHERE { 
    ?o1 owl:sameAs ?o2 .
    OPTIONAL { ?s1 ?p1 ?o2 . }
    OPTIONAL { ?o2 ?p2 ?o3 . }
}

如果您的目标纯粹是进行
owl:sameAs
推理,那么这可能是一种简单的方法。但是,对于更全面的OWL推理支持,自定义推理器的功能不够强大或不可扩展。相反,您应该使用具有内置支持的Sesame后端存储,例如Ontotext GraphDB(以前称为OWLIM)

解决了这个问题。问题是缺少GraphDB Lite(以前是OWLIM Lite)。我觉得我是通过替换.war文件安装的。但是,在创建新存储库时,下拉列表中缺少OWLIM-Lite选项,这表明该存储库尚未安装

当我最初检查owl:sameAs查询在哪里工作时,我使用SPARQL中的SERVICE子句来查询DBpedia。当我查询DBpedia(支持owl:sameAs)时,查询的执行过程与我在Sesame之外的查询过程基本相同

我通过删除Tomcat中旧的.war文件及其相应的文件夹,并从GraphDB分发版复制.war文件,解决了这个问题。复制文件后第一次运行服务器时,会自动生成相应的文件夹(openrdf sesame和openrdf workbench)。创建存储库时,OWLIM-Lite选项将可用


我创建了一个OWLIM Lite存储库并在那里添加了三元组。owl:sameAs推断随后开始工作,问题中的查询已成功执行。

“dbpedia2:RoutesOfadAdministration”看起来像是输入错误。结尾不是应该有一个“n”吗?你是对的,约书亚。不过,纠正打字错误并不能消除错误。我看不出会产生什么样的问题。你能澄清问题的具体原因吗?你的设置是什么?您正在使用OWLIM/GraphDB存储作为您的Sesame后端,并且您希望它能够执行owl:sameAs推理,是吗?如果是:您的存储的配置是什么(特别是,哪个规则集被激活),以及您查询的数据、预期结果和实际结果是什么样子的?谢谢您的回复,Jeen。我还是个初学者,请容忍我的无知。问题在于缺乏猫头鹰推理。在我断言我的轮状猫头鹰:sameAs:轮状病毒疫苗之后,我希望推断我的轮状病毒疫苗的给药途径是“口服”(轮状病毒疫苗的roa)。但是,当我运行问题中提到的查询时,我没有得到任何结果。存储库是“内存存储”,这可能是问题的一部分。感谢您的回复,Jeen。我尝试了上面的构造查询。它只生成了两个三元组中的一个(第二个)。我尝试在中使用“轻松安装”选项来安装OWLIM。尽管复制了两个.war文件并重新启动了服务器,但我在下拉列表中没有看到“OWLIM Lite”选项。我应该做些不同的事情吗。我有两个后续问题:1。可以将存储库的类型从内存中更改为OWLIM Lite吗?2.复制存储库的最有效方法是什么,以便我可以通过复制现有存储库中的数据来创建新的存储库?如果您有新问题,请单击“提问”按钮提问。如果这个问题有助于提供上下文,请添加一个链接。谢谢你,Jeen。新问题正在讨论中
my_ns:Rota dbpedia2:routesOfAdministration "oral"@en .
CONSTRUCT { ?s1 ?p1 ?o1 . ?o1 ?p2 ?o3 } 
WHERE { 
    ?o1 owl:sameAs ?o2 .
    OPTIONAL { ?s1 ?p1 ?o2 . }
    OPTIONAL { ?o2 ?p2 ?o3 . }
}