2013-06-02 41 views
1

我是DBpedia的新手。使用SPARQL在DBpedia上通過引用來查詢法院數據?

我希望能夠做的是查找一個案件,因爲它是合法的引用。法律引文通常涉及「卷」,「記者」和「頁碼」。例如,對於Loving訴弗吉尼亞案件,DBPedia資源http://dbpedia.org/page/Loving_v._Virginia顯示案件具有卷dbpprop:usvol = 388,頁面dbpprop:uspage = 1(並且記者是「US」,我認爲它被烘焙到usvol中和uspage)。

那麼,鑑於我知道它的音量和頁碼,我可以用什麼SPARQL查詢來檢索Loving v。Virginia頁面中包含的所有信息?我知道它的體積是388,它的頁面是1,它在美國記者那麼我怎麼把它變成一個SPARQL查詢?

回答

2

這實際上是SPARQL的DESCRIBE查詢類型的一個很好的用例。使用uspageusvol如你所述,你可以簡單地得到?case與指定頁面和體積,以及DESCRIBE它:

DESCRIBE ?case WHERE { 
    ?case dbpprop:uspage 1 ; 
     dbpprop:usvol 388 . 
} 

SPARQL results

如果由於某種原因,你想使用一個SELECT查詢,你可以做到這一點:

SELECT ?subject ?predicate ?object WHERE { 
    { ?case dbpprop:uspage 1 ; 
      dbpprop:usvol 388 . 
    BIND(?case as ?subject) 
    ?subject ?predicate ?object 
    } 
    UNION 
    { ?case dbpprop:uspage 1 ; 
      dbpprop:usvol 388 . 
    BIND(?case as ?object) 
    ?subject ?predicate ?object 
    } 
} 

SPARQL results

+0

謝謝 - 這正是我正在尋找的。 – Jake