使用聚合子查询进行错误的查询评估

2023-12-14

请参阅Factforge 端点执行此查询。子查询不返回任何结果。?myVar将被投影到包含查询,然后与三元组模式连接?myVar ?p ?o.。但由于内部选择没有结果,因此联接应该不会产生任何结果。但是,执行查询时情况并非如此。这不是一个bug吗?

SELECT 
?myVar ?p ?o
WHERE 
{   
  { 
    SELECT ?myVar 
        WHERE { 
            ?myVar <http://www.example.com/arbitraryNonExistent> ?xx. 
        } 
    GROUP BY ?myVar
  } 
  ?myVar ?p ?o.  
} 
LIMIT 10

这是预期的行为。根据https://www.w3.org/TR/sparql11-query/#aggregateAlgebra如果有一个 GROUP BY:

Group(exprlist, Ω) = { ... | μ in Ω }

并且我们没有匹配项,那么 Ω 为空,所以:

Group(exprlist, {}) = {}

效果是子查询返回单个解决方案,其中 ?myVar 未绑定,并且与下一个语句模式的连接与 ?myVar 的所有内容相匹配。最后你会得到整个查询的很多解决方案。

甚至还有一个 W3C SPARQL 一致性测试用例涵盖了确切的场景:

  • https://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/agg-empty-group.rq

  • https://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/agg-empty-group.srx

还有一个古老的讨论http://answers.semanticweb.com/questions/17410/semantics-of-sparql-aggregates.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用聚合子查询进行错误的查询评估 的相关文章

  • 使用 dotnetRDF 查询 dbpedia sparql 端点 - RDFParseException

    当我执行以下查询时http dbpedia org sparql http dbpedia org sparql使用 dotnetRDF VDS RDF Query SparqlRemoteEndpoint QueryWithResultS
  • Ontotext GraphDB 如何在 Visual Graph 中分配颜色?

    我一直在尝试使用 Ontotext GraphDB 创建一些图形可视化 我希望我对相同数据制作的各种可视化效果之间的颜色保持一致 我知道颜色是根据类型而定的 但似乎并不一致 例如 如果我创建一个仅包含类型节点的可视化图表A 分配给节点的颜色
  • 在类层次结构中查找公共超类和路径长度

    我有两个来自 DBpedia 的课程 A 和 B 如何计算每个类到公共超类 C 的距离 边数 以及如何找到这个公共超类 您可以这样做 但首先应注意以下几点 两个类可能有很多共同的超类 不一定只有一个 这意味着可能不存在唯一的最专业的公共超类
  • 使用append/3谓词创建SPARQL参数化查询

    与我之前的帖子相关 如何在 SWI Prolog 中参数化 SPARQL 查询 https stackoverflow com questions 16820606 how to parameterize a sparql query in
  • 使用 QueryWithResultSet 的 dotnetrdf xml 异常

    我有一个 asp net 项目 我想在其中查询 DBPedia 使用以下代码我收到错误 public string testEndpoint TEST02 SparqlRemoteEndpoint endpoint new SparqlRe
  • 在 SPARQL 查询中指定数据集

    在我正在阅读的一些教程中 我发现您可以与查询分开指定数据集 如下所示 数据集字段 http dig csail mit edu 2008 webdav timbl foaf rdf query PREFIX foaf
  • 如何将 SPARQL 发布到 Virtuoso?

    我正在使用两种不同的HTTP POST公用事业 poster https addons mozilla org en US firefox addon poster 从 Firefox 以及Python requests http docs
  • 通过 SPARQL 处理 R XML 的编码问题

    我遇到了 R 的 SPARQL 包的编码问题 我正在运行以下代码 library SPARQL rights query lt PREFIX dc
  • 列出来自 DBpedia 的国家

    尝试查询 DBpedia 以获取包含以下内容的所有国家 地区的列表dbo longName列出每个国家的财产和首都 但返回 0 个结果 看不出查询有什么问题 PREFIX dbo
  • 为 RDBMS(MySQL 数据库)创建 SPARQL 端点的最佳方法

    我正在 想做 一些链接开放数据集的实验 特别是政府推出的实验 我有一个 RDBMS 更具体地说是 MySQL 我设计它时考虑了语义网络的想法 即我将信息存储为对象 谓词和定义对象的类 反过来 所有对象通过主语 gt 谓词 gt 宾语形式的语
  • sparql 主题的完整树

    例如 当我有一个人图时 例如约翰和约翰有工作地址 家庭地址 电话号码 关系等 是否有可能在不知道它是什么的情况下检索与 john 及其子类相关的所有内容 这样我就可以检索例如以下内容 John lt address lt house num
  • 如何将嵌入的 Blazegraph 内容转储到 RDF 文件?

    I have 创建了 blazegraph RDF4J 存储库和连接 https wiki blazegraph com wiki index php Sesame API Tutorial在斯卡拉中 val props new Prope
  • 获取地点的纬度和经度 dbpedia

    我想获取一个我已经知道其名称的地点的纬度和经度 PREFIX geo
  • 如何使用SPARQL计算有向图的最大度?

    我在两个单独的查询中计算了有向图中每个节点的入度和出度 SELECT s COUNT AS outdegree s p o GROUP BY s ORDER BY DESC outdegree SELECT o COUNT AS indeg
  • 三元组组合的递归 SPARQL 查询

    我使用onspy在Python中递归运行以下查询 SELECT c WHERE c rdfs subClassOf restriction restriction owl onProperty has part owl someValues
  • 如何使用 SPARQL 区分事物和无生命物体

    使用 SPARQL 我可以很轻松地获取有关某些资源的所有相关信息 但我很难弄清楚如何真正区分事物和资源things 其中Thing是所有类的超类 是无生命的物体 例如杯子 勺子 铅笔等 例如 下面是 DBPedia 中的一些无生命物体 Fo
  • 使用 SPARQL 提取 dbpedia 实体的层次结构

    我正在尝试使用以下方法提取 DBpedia 资源的 Wikipedia 类别或 Yago 分类的层次结构SPARQL端点 http dbpedia org sparql 例如 我想以实体的分层形式找出所有可能的类别和类 例如 http db
  • 在SPARQL中使用LIMIT时如何获取结果总数?

    我有一个 SPARQL 查询 它返回结果LIMIT共 20 个 在此查询中 我还想知道结果总数 而无需运行查询两次 一次运行LIMIT和一个没有LIMIT 例如 运行查询时 可能的结果总数为 500 个 其中LIMIT它一次只显示 20 个
  • 通过SPARQL UPDATE从本体中删除空白节点

    我在 SPARQL UPDATE 插入 操作的帮助下将一些数据存储在 protege 中制作的本体模型中 以下是更新查询 PREFIX test
  • SPARQL 为缺失字段生成值

    我正在尝试编写一个 SELECT 它为我提供表中的所有值 我有可选值 我希望用标准值填充它们 如果它们不存在 这是我的代码 SELECT WHERE a nmo hasObject nm coin OPTIONAL a nmo hasAut

随机推荐