2014-09-24 212 views
0

的结果获取URI我的DBpedia的URI的名单,我想获得他们每个人的一些信息(类别,标签)在一个查询:在DBpedia中的SPARQL查询

SELECT ?category ?label where { 
    { 
     dbpedia:Financial_Times dcterms:subject ?category . 
     dbpedia:Financial_Times rdfs:label ?label . 
     FILTER (lang(?label) = 'en') 
    } 
    UNION 
    { 
     dbpedia:London dcterms:subject ?category . 
     dbpedia:London rdfs:label ?label . 
     FILTER (lang(?label) = 'en') 
    } 
} 

此查询工作正常,但我需要将URI自己添加到结果中,以便能够识别哪个结果行用于哪个URI。

回答

1

,你可以这样做

SELECT distinct ?who ?category ?label where { 
{ 
    ?who dcterms:subject ?category . 
    ?who rdfs:label ?label . 
    FILTER (lang(?label) = 'en'). 
    FILTER(?who = dbpedia:Financial_Times or ?who = dbpedia:London) 
}} 

或使用这样

SELECT ?who ?category ?label where { 
{ 
    dbpedia:Financial_Times dcterms:subject ?category . 
    dbpedia:Financial_Times rdfs:label ?label . 
    FILTER (lang(?label) = 'en'). 
    VALUES ?who { dbpedia:Financial_Times} 

} 
UNION 
{ 
    dbpedia:London dcterms:subject ?category . 
    dbpedia:London rdfs:label ?label . 
    FILTER (lang(?label) = 'en') . 
    VALUES ?who { dbpedia:London } 
}} 

一招,第二个可能是快,但需要SPARQL 1.1