热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CONSTRUCT/WHERE中的SPARQL函数

如何解决《CONSTRUCT/WHERE中的SPARQL函数》经验,为你挑选了1个好方法。

我主要在处理查询时使用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 .
    }
  }
}

以上在您的端点上工作正常


推荐阅读
author-avatar
sysv
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有