首页 文章

SPARQL 查询 - 获取链接

提问于
浏览
1

我想在 LMDB SPARQL-Endpoint(http://data.linkedmdb.org/snorql/)上运行一个特定的查询。由于某种原因,我无法获得返回的电影链接。

我的查询:

SELECT ?aName ?mName ?link ?aLink ?mLink 
      WHERE {
            ?link <http://data.linkedmdb.org/resource/movie/performance_character> 'Adam Faulkner' .
            ?link <http://data.linkedmdb.org/resource/movie/performance_actor> ?aName .
            ?link <http://data.linkedmdb.org/resource/movie/performance_film> ?mName . 
            ?aLink <http://data.linkedmdb.org/resource/movie/actor_name> ?aName .
            }

我已经尝试了?mLink <http://data.linkedmdb.org/resource/movie/filmid> ?mName,就像查询的最后一行一样,因为这样我获得了?aLink,但由于某种原因,它不能以这种方式工作。我也试过dc:title ?mName然后尝试从中获取链接,但它也没有用。有谁知道如何处理这个问题?

1 回答

  • 0

    由于performance_film引用了字符串而不是 URI,因此您无法从那里找到filmid信息。所以你应该遍历电影链接:

    SELECT ?aName ?mName ?link ?aLink ?m WHERE {
     ?link <http://data.linkedmdb.org/resource/movie/performance_character> 'Adam Faulkner' .
     ?link <http://data.linkedmdb.org/resource/movie/performance_actor> ?aName .
     ?link <http://data.linkedmdb.org/resource/movie/performance_film> ?mName . 
     ?aLink <http://data.linkedmdb.org/resource/movie/actor_name> ?aName .
     ?m <http://data.linkedmdb.org/resource/movie/performance> ?link .
     ?m <http://data.linkedmdb.org/resource/movie/filmid> ?id.
    }
    

相关问题