Sparql 在LUBM基准中,子类的成员未被分类为超类的成员

Sparql 在LUBM基准中,子类的成员未被分类为超类的成员,sparql,semantic-web,owl,lubm,Sparql,Semantic Web,Owl,Lubm,我正在尝试运行LUBM基准测试,但在推理之后,我在分类方面遇到了一些问题 我正在使用的文件是: 问题是,研究生和本科生的成员没有被归类为超级班学生的成员 我在Protege 5.0上尝试了Pellet、Hermit和事实推理机,但都失败了。因此,10号基准SPARQL查询也失败了 -问题10 -此查询与查询6、7、8和9的不同之处在于,它只需要 -研究生与学生关系的隐式子类,即:。, -本科生和学生之间的关系子类未添加 -结果如何。 前缀rdf: 前缀ub: 选择?X在哪里{ ?X rdf:类型

我正在尝试运行LUBM基准测试,但在推理之后,我在分类方面遇到了一些问题

我正在使用的文件是:

问题是,研究生和本科生的成员没有被归类为超级班学生的成员

我在Protege 5.0上尝试了Pellet、Hermit和事实推理机,但都失败了。因此,10号基准SPARQL查询也失败了

-问题10 -此查询与查询6、7、8和9的不同之处在于,它只需要 -研究生与学生关系的隐式子类,即:。, -本科生和学生之间的关系子类未添加 -结果如何。 前缀rdf: 前缀ub: 选择?X在哪里{ ?X rdf:类型ub:学生。 ?X ub:takescorse } 你可以在这里找到我的Protegé分类截图对不起,我没有足够的声誉直接发布图片

在Protege 4.3上,分类与Pellet和Hermit一起工作,但SPARQL查询仍然失败

我已经修改了reasoner设置以显示所有推断的知识,所以这并不是因为它们只是隐藏的

我发现这种行为非常令人困惑,特别是考虑到这应该是一个经过验证的基准。我想有一个非常琐碎的解决方案,但我找不到它,所以任何帮助将不胜感激


编辑:我成功地运行了基准测试。我手动复制了ABox的xml代码,这是我从TBox中的生成器获得的代码。通过这种方式,分类工作在Protege 4上,并通过API进行。此外,SPARQL查询还可以使用此处建议的snap SPARQL。分类仍不适用于Protege 5。我很想知道是什么原因造成的。

仅生成器就只能生成足以回答查询1-3和14的子集的数据。为了让SPARQL系统回答所有查询,它需要应用推理。它如何做到这一点是一个具体实现的细节。此外,对于许多系统,默认情况下推理处于关闭状态,必须启用

根据所使用的系统,您可能需要提供链接到系统的主本体,并启用所需的任何适当设置


可能是Protege中的SPARQL查询没有考虑推断知识,但我从未使用过Protege,因此无法对该特定工具发表评论。

我同意。正如您所指出的,查询10只能在推理之后执行,因为它要求将研究生及其成员分类为学生。取而代之的是,类GraduateStudents分类正确,但其成员没有,因此SPARQL查询失败。我认为问题在于推理时,可能是由于某些IRI问题。此外,我尝试使用pellet从OWLAPI中执行同样的操作,得到了类似的结果。因此,这可能不是一个受保护的问题。如果您曾经尝试过基准测试,您是如何加载它的?您使用了哪些文件?您必须使用Snap SPARQL插件,而不是Protege附带的插件。您必须使用Snap SPARQL插件,而不是Protege附带的插件。