如何解决在 jena 中构建 sparql 查询的 where 子句中的聚合
在 vituoso 中,以下 sparql 查询:
prefix owl: <http://www.w3.org/2002/07/owl#>
construct{
<http://validation.org/rootShape> <http://www.w3.org/ns/shacl#property> [ <http://www.w3.org/ns/shacl#in> ?varClass ;
<http://www.w3.org/ns/shacl#path> <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> ] .
}
WHERE {
{
select (GROUP_CONCAT(concat("<",str(?class),">"); SEParaTOR=" ") as ?varClass)
where { ?class a owl:Class.}
}
}
给我我想要的,例如:
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix ns1: <http://validation.org/> .
ns1:rootShape sh:property _:vb16294053 .
_:vb16294053 sh:in "<classExample1> <classExample2> <classExample3>" .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#> .
_:vb16294053 sh:path rdf:type .
在这种情况下,classExample1、classExample2 和 classExample3 是我模型中的 3 个 owl 类。
当我想在 jena 中做同样的查询时,我没有得到任何结果:
prefix owl: <http://www.w3.org/2002/07/owl#>
construct{ \
<http://validation.org/rootShape> <http://www.w3.org/ns/shacl#property> [ <http://www.w3.org/ns/shacl#in> ?varClass ;
<http://www.w3.org/ns/shacl#path> <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> ] .
}
WHERE {
SELECT ?p (GROUP_CONCAT(concat("<",">"); SEParaTOR=" ") as ?varClass) WHERE {
?class ?p owl:Class.
}
GROUP BY ?p }}
而以下 jena sparql 查询为我提供了 owl:Class 我模型的列表:
prefix owl: <http://www.w3.org/2002/07/owl#>
SELECT ?p (GROUP_CONCAT(concat("<",">"); SEParaTOR=" ") as ?varClass) WHERE {
?class ?p owl:Class.
}
GROUP BY ?p
提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。