【问题标题】:SPARQL Query for movies电影的 SPARQL 查询
【发布时间】:2017-03-22 20:23:34
【问题描述】:

我正在创建一个 Web 应用程序,允许用户使用 SPARQL 查询来搜索电影。

目前我正在使用 DBpedia 来获取数据。

问题是我需要 3 条数据(标题、流派和发布日期)。但问题是我没有收到电影的流派,但由于某种原因我收到了音乐流派:/

这是我创建的查询

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX db: <http://dbpedia.org/ontology/>
PREFIX prop: <http://dbpedia.org/property/>
SELECT ?movieLink ?title ?genreLink ?genre ?releaseDate
WHERE {
    ?movieLink rdf:type db:Film;
               foaf:name ?title.
    OPTIONAL { ?movieLink prop:genre ?genreLink.
               ?genreLink rdfs:label ?genre.
               FILTER(lang(?genre) = 'en') }.
    OPTIONAL{ ?movieLink <http://dbpedia.org/ontology/releaseDate> ?releaseDate }.

    FILTER(lang(?title) = 'en')
    FILTER((?releaseDate >= '2010-01-01'^^xsd:date) && (?releaseDate < '2010-12-31'^^xsd:date))
}
ORDER BY DESC(?releaseDate)
LIMIT(100)

我在这个问题上被困了一段时间,所以任何帮助都将不胜感激。

注意:我曾研究过使用 Linkedmdb,但遇到了类似的问题。

【问题讨论】:

    标签: sparql semantic-web dbpedia rdfs


    【解决方案1】:

    DBpedia 数据主要来自维基百科页面上的信息框。例如,如果您查看the page for the film Ayyanar,您会注意到它包含两个信息框:

    • 电影本身,没有提及类型
    • 电影原声带,类型列为原声带

    这就是您的查询返回该电影配乐类型的原因。

    似乎infoboxes about films 不包含任何流派字段,因此您将无法通过这种方式获取该信息。

    另一方面,该文章属于动作片类别,在 DBpedia 上使用dct:subject 表示。我认为您应该能够使用以下方式从中获取流派信息:

    OPTIONAL { ?movieLink dct:subject ?genreLink.
               ?genreLink skos:broader+ dbc:Films_by_genre }
    

    虽然它不会是非常干净的数据(因为维基百科的类别结构是一团糟)。它实际上对我不起作用,因为这样的查询超出了公共 DBpadia SPARQL 端点的内存限制。

    【讨论】:

    • 非常感谢您澄清这一点,您是否知道如何在linkedmdb中查询相同的数据
    • @IeuanWalker 如果你给我们一个 LinkedMDB 链接和一些查询开始,你的第二个问题更有可能得到回答
    【解决方案2】:

    @svick 给出了一个很好的查询。如果 dbpedia.org 不回答,请使用包含传递推理的端点:http://factforge.net/sparql。例如,这有效:

    SELECT * {
      ?movieLink a dbo:Film; dct:subject ?genreLink.
      ?genreLink skos:broaderTransitive dbc:Films_by_genre
    }
    

    【讨论】:

    • factforge.net/sparql 甚至回答了慢版本 skos:broader+ 但在 180 秒内而不是瞬间。所以请不要使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多