SPARQL 查询 - 获取链接

SPARQL Query - Get Links

我想 运行 在 LMDB SPARQL 端点 ( http://data.linkedmdb.org/snorql/ ) 进行特定查询。出于某种原因,我无法获得返回的电影 link。

我的查询:

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 然后尝试从中获取 link 但它也没有用。有人知道如何处理这个问题吗?

由于 performance_film 引用的是字符串而不是 URI,因此您不可能从那里找到 filmid 信息。所以你应该回溯电影 link:

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.
}