作者:sysv | 来源:互联网 | 2023-05-22 17:18
我主要在处理查询时使用SPARQL SELECT进行调试,但最后我想以CONSTRUCT方式使用最终结果; 因为我想使用图形而不是键/值查询结果.
我还没有得到(并且似乎无法找到搜索引擎/文档)是我可以使用这样的功能.作为一个例子,我使用属性路径来连接我进入"超级字符串"的标题,我后来用它来构建Lucene索引以提高纯文本搜索质量:
PREFIX dc:
SELECT (group_concat(?title ; separator = " ") AS ?fancytitle) WHERE {
GRAPH ?graph {
dc:relation+ ?relation .
?relation dc:title ?title .
}
}
现在我想和?fancytitle
新三人一样
?fancytitle .
所以我可以将它直接存储在一个新的图表中.这可能吗?我玩了一些查询,但无法让它被SPARQL处理器接受.仅供我使用Fuseki.
您可以在我的SPARQL端点上试用它
1> RobV..:
是的,这是可能的
您不能直接在CONSTRUCT
模板中使用表达式,但可以WHERE
通过SELECT
子查询中的表达式或使用来为子句中的变量赋值BIND
.
在你的情况下,作为GROUP_CONCAT
一个聚合,它只能是一个SELECT
表达式,所以你只需要把你的整个SELECT
作为一个子查询,例如
PREFIX dc:
CONSTRUCT
{
?fancytitle
}
WHERE
{
SELECT (group_concat(?title ; separator = " ") AS ?fancytitle) WHERE {
GRAPH ?graph {
dc:relation+ ?relation .
?relation dc:title ?title .
}
}
}
以上在您的端点上工作正常