SPARQL查询执行,但返回空

SPARQL查询执行,但返回空,sparql,dbpedia,virtuoso,Sparql,Dbpedia,Virtuoso,无法获取此SPARQL查询以返回结果: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?team ?club (sql:group_concat(?coach, ";;;") as ?coaches) (sql:group_concat(?president, ";;;") as ?presidents) (sql:group_concat(?scorer, ";;;") as ?sc

无法获取此SPARQL查询以返回结果:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT 
  ?team
  ?club
  (sql:group_concat(?coach, ";;;") as ?coaches) 
  (sql:group_concat(?president, ";;;") as ?presidents) 
  (sql:group_concat(?scorer, ";;;") as ?scorers)
  ?date 
  ?position 
  WHERE {
  SERVICE <http://it.dbpedia.org/sparql/> {
     ?value rdfs:label "Campionato italiano di calcio Serie A"@it .
     ?year <http://purl.org/dc/terms/subject> ?value . 
     ?team <http://dbpedia.org/ontology/league> ?year .
     ?team <http://it.dbpedia.org/property/presidente> ?president .
     ?team <http://dbpedia.org/ontology/coach> ?coach .
     ?team <http://it.dbpedia.org/property/campionatoPosizione> ?position .
     ?team <http://it.dbpedia.org/property/stagione> ?date .
     ?team <http://it.dbpedia.org/property/club> ?club .
     OPTIONAL { ?team <http://it.dbpedia.org/property/marcatori> ?scorer }
     FILTER( 1946 < ?date )
  }} group by ?team ?date ?position ?club LIMIT 1
前缀rdfs:
挑选
团队
?俱乐部
(sql:group_concat(?coach,;;))as?coach)
(sql:group_concat(?president,;;;)as?presidents)
(sql:group_concat(?scorer,;;;))作为记分员)
?日期
?位置
在哪里{
服务{
?价值rdfs:标签为“意大利足球甲级联赛杯”。
?年?值。
?团队?年。
团队?主席。
团队教练。
?团队?位置。
团队日期。
团队,俱乐部。
可选{?团队?记分员}
过滤器(1946年<?日期)
}}按队分组?日期?位置?俱乐部限制1

用于运行它的服务是

您使用URI Burner有什么原因吗

您的查询仅从意大利语DBpedia端点提取数据,因此:

  • 不要使用
    服务
    条款
  • 继续跑吧 另见

    此外,查询结果集被明确地限制在1000行以内:这也是为了避免查询执行超时

    如果查询超时,则需要通过
    OFFSET
    LIMIT
    实现分页机制。例如:

    SELECT ?musician
    WHERE { ?musician a <http://dbpedia.org/ontology/MusicalArtist> . }
    OFFSET 0
    LIMIT 1000
    
    SELECT?音乐家
    哪里{?音乐家a.}
    偏移量0
    限制1000
    

    下一页将是偏移量1000限制2000等等。

    使用URI燃烧器有什么原因吗

    您的查询仅从意大利语DBpedia端点提取数据,因此:

  • 不要使用
    服务
    条款
  • 继续跑吧 另见

    此外,查询结果集被明确地限制在1000行以内:这也是为了避免查询执行超时

    如果查询超时,则需要通过
    OFFSET
    LIMIT
    实现分页机制。例如:

    SELECT ?musician
    WHERE { ?musician a <http://dbpedia.org/ontology/MusicalArtist> . }
    OFFSET 0
    LIMIT 1000
    
    SELECT?音乐家
    哪里{?音乐家a.}
    偏移量0
    限制1000
    
    下一页将是
    OFFSET 1000 LIMIT 2000
    ,依此类推。

    如注释中所述--

    这里问题的根源是一位非常老的大师(06.01.3127,2014年9月15日建成),他提供了意大利的DBpedia端点。你最好的即时选择是说服Marco等人升级该名家

    也就是说,请注意页面上说,“(查询结果限制为1000条记录)”。这意味着结果集被截断为1000条记录,类似于从
    LIMIT 1000 OFFSET 0
    获得的结果。(您可以使用
    限制1000偏移量1000
    获得下一个1000。这将是一个重新思考的过程…

    如注释中所述--

    这里问题的根源是一位非常老的大师(06.01.3127,2014年9月15日建成),他提供了意大利的DBpedia端点。你最好的即时选择是说服Marco等人升级该名家


    也就是说,请注意页面上说,“(查询结果限制为1000条记录)”。这意味着结果集被截断为1000条记录,类似于从
    LIMIT 1000 OFFSET 0
    获得的结果。(您可以使用
    LIMIT 1000 OFFSET 1000
    获得下一个1000。这将是一个重新思考的过程…

    这与您之前的问题相同…旧版本的DBpedia和SERVICE子句必须先从端点收集所有数据,然后才能执行聚合函数。正如上次建议的,您应该联系维护人员并建议更新到最新的高手。如果您不想这样做,无论出于什么原因,都可以免费将DBpedia下载到您自己的本地Virtuoso instanceok中,但是
    group\u concat
    distinct
    一起使用-它只是更昂贵。它是SPARQL标准的一部分。主要的问题仍然存在,Virtuoso版本很旧,您不能只在意大利语DBpedia端点上运行查询,因为它根本不支持
    group\u concat
    。这很奇怪,老实说,我不知道不更新的原因。此外,当您运行已经在端点上使用了
    sql:group_concat
    解决方案的查询时,您将得到一个错误
    Virtuoso 22023 error SR319:temp行的最大长度(9206)超出
    -设置新版本并检查配置设置的另一个原因。我只能说1)这里的整个查询在意大利DBpedia端点上不起作用2)在意大利DBpedia端点上运行时,只有三重模式的查询不是空的,因此3)我确信SERVICE子句尝试检索所有数据并执行分组部分,但由于Virtuoso anytime特性而停止执行。显然,维护人员和开发人员的名家,如用户塔尔特可能会给你一个更好的答案。您仍然可以托管自己的意大利DBpedia实例。Data+triple stores是免费的。luckilyAs@AKSW曾表示,这里的问题根源在于提供意大利DBpedia端点的非常古老的大师(
    06.01.3127
    2014年9月15日建成)。你最好的即时选择是说服Marco等人升级该名家。也就是说,注意it.dbpedia.org被配置为只返回1000个结果——因此对于包含此解决方案集的较大解决方案集的查询,您将无法获得完整的结果,因此,您可能需要重新考虑您的流程。这与您之前的问题相同……旧版本的DBpedia和SERVICE子句必须从端点收集所有数据,然后才能执行聚合函数。正如上次建议的,您应该联系维护人员并建议更新到最新的高手。如果您不想这样做,无论出于什么原因,都可以免费将DBpedia下载到您自己的本地Virtuoso instanceok中,但是
    group\u concat
    distinct
    一起使用-它只是更昂贵。它是SPARQL标准的一部分。主要的问题仍然是,Virtuoso版本很旧,您不能只在意大利语DBpedia上运行查询