Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rdf Protege中的SPARQL查询结果无法识别可传递属性_Rdf_Sparql_Owl_Protege - Fatal编程技术网

Rdf Protege中的SPARQL查询结果无法识别可传递属性

Rdf Protege中的SPARQL查询结果无法识别可传递属性,rdf,sparql,owl,protege,Rdf,Sparql,Owl,Protege,我在这个问题上表达了几乎相同的要求: 我使用的是Protege 3.4.8。这是一个Owl-Lite项目。 我有一个可传递属性“contains”,它被定义为Node类型的对象属性 节点具有类型A、B和C的后代 我有一些个人通过包含以下内容的属性相互链接: A包含B包含C 运行以下SPARQL查询时: SELECT ?A ?B WHERE { ?A :contains ?B } 我得到: A1 B1 B1 C1 由于contains的可传递性,我希望 A1 C1

我在这个问题上表达了几乎相同的要求:

我使用的是Protege 3.4.8。这是一个Owl-Lite项目。 我有一个可传递属性“contains”,它被定义为Node类型的对象属性 节点具有类型A、B和C的后代

我有一些个人通过包含以下内容的属性相互链接:

A包含B包含C

运行以下SPARQL查询时:

SELECT ?A ?B
WHERE
{
    ?A :contains ?B         
}
我得到:

A1 B1
B1 C1
由于contains的可传递性,我希望

A1 C1 
也是。 我做错了什么?我链接到的问题的答案中包括了Jena,在Jena车型上这样做会有不同吗?

好的

通过进一步搜索,我找到了此页面:

以下引用(可能)解释了我看到的行为背后的原因:

“出于我们的目的,SPARQL查询可以直接执行 通过Protege中的SPARQL查询面板或从JAVA 应用程序使用专门的Jena库方法。两者 这些方法能够处理关于显式对象和对象的查询 属性关系,但Jena库具有使用 因此,使用Jena库方法执行的查询可以返回 结果还考虑了传递关系和推断关系。”

通过进一步搜索,我找到了此页面:

以下引用(可能)解释了我看到的行为背后的原因:

“出于我们的目的,SPARQL查询可以直接执行 通过Protege中的SPARQL查询面板或从JAVA 应用程序使用专门的Jena库方法。两者 这些方法能够处理关于显式对象和对象的查询 属性关系,但Jena库具有使用 因此,使用Jena库方法执行的查询可以返回 结果还考虑了传递关系和推断关系。”


SPARQL是一种RDF查询语言,因此并非所有SPARQL引擎都应该实现OWL蕴涵(即,使用OWL语义来评估查询)。详情请参阅


不确定哪个实现实际上在幕后使用Protege…

SPARQL是一种RDF查询语言,因此并非所有SPARQL引擎都应该实现OWL蕴涵(即,使用OWL语义来评估查询)。详情请参阅

不确定哪一个实现实际上是在幕后使用Protege