【问题标题】:Linked data and endpoint链接数据和端点
【发布时间】:2010-06-02 22:43:33
【问题描述】:

为什么端点对查询的最终结果如此重要。

对于这个查询:

SELECT ?episode,?chalkboard_gag WHERE { ?episode skos:subject @987654321@. ?episode dbpedia2:blackboard ?chalkboard_gag } 端点“OpenLink Virtuoso SPARQL 协议”返回 1 个结果。
“http://dbpedia.org/snorql”(“http://dbpedia.org/sparql”,我也在使用耶拿)产生 4 个结果,这是正确的,因为只有 4 个剧集创建了黑板信息。

为什么会有差异?

【问题讨论】:

    标签: rdf sparql jena


    【解决方案1】:

    对于第一个端点,您是指http://lod.openlinksw.com/sparql 吗?我没有看到这和http://dbpedia.org/sparql 之间的不同结果。例如,这个查询,在你的基础上扩展,似乎从两个端点返回相同的东西(如果它们确实是不同的服务器;我不知道)。

    prefix skos: <http://www.w3.org/2004/02/skos/core#>
    prefix category: <http://dbpedia.org/resource/Category:>
    prefix dbpedia2: <http://dbpedia.org/property/>
    prefix xsd: <http://www.w3.org/2001/XMLSchema#>
    
    SELECT DISTINCT ?airdate ?chalkboard_gag ?episode
    WHERE {
      ?episode skos:subject ?cat .
      ?cat skos:broader category:The_Simpsons_episodes .
      ?episode dbpedia2:airdate ?airdate .
      ?episode dbpedia2:blackboard ?chalkboard_gag .
      FILTER langMatches( lang(?chalkboard_gag), 'en') .
      FILTER xsd:dateTime(?airdate)
    }
    ORDER BY ?airdate
    

    我知道会产生不同结果的一件事是查询超时。 Virtuoso 可以在查询运行一定时间后切断查询,并且您的不同端点在您尝试它们时可能处于不同的负载下,和/或配置了不同的超时。



    我注意到,如果这些数据在 Needle 中,并在 Thread 而不是 SPARQL 中查询,则此查询可能很简单:

    Episode:(.Subject:<~The Simpsons)^Airdate|Airdate,Blackboard
    

    除了在 Needle 中,您实际上可能会像电视节目一样为电视节目建模,而不是依赖于通用 SKOS 主题/更广泛的抽象级别,因此实际上可能有:

    Show:=The Simpsons.Season.Episode|Airdate,Blackboard
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多