2015-02-10 79 views
0

我想獲得具有特定尾巴的三聯體。例如獲得的三元與/m/3s31es爲他們的尾巴,結果一樣:Freebase rdf API:使用特定尾部獲得rdf三聯

/m/111111  /has/name  /m/3s31es 
/m/222222  /has/city  /m/3s31es 
/m/333333  ...   /m/3s31es 
... 

是否有實現這個的遊離鹼的API?謝謝

+0

RDF中的「尾部」通常被稱爲* object *。如果你有這個RDF,那麼你可以用SPARQL查詢:'select?s?p?o where {values?o {/ m/3s31es}?s?p?o}'。 – 2015-02-10 14:16:51

回答

1

Freebase RDF端點只提供單個RDF文檔。沒有與其關聯的API(SPARQL或其他)。

你有三種選擇:

  1. 使用遊離鹼MQLRead API(也許使用的結果來檢索RDF文檔,如果這就是你想要的最終格式)做你的查詢。

  2. 下載RDF轉儲,將其加載到RDF三重存儲中,並使用SPARQL或三重存儲支持的任何查詢語言。

  3. 下載RDF轉儲並使用zgrep查找所有符合所需模式的三元組。

對於少量數據,第一種選擇最快,對於大量數據,第三種選擇最快。如果你不得不這麼做,#2的額外前期成本可能是值得的。

+0

感謝您的回答。我想自己構建一個SPARQL服務器,您能否推薦一個易於構建的系統?非常感謝! – dreamszl 2015-02-11 07:36:44

+0

對不起,我在這方面沒有任何建議。本W3C頁面上列出了一些選項:http://www.w3.org/wiki/LargeTripleStores – 2015-02-11 16:58:35

+0

非常感謝! – dreamszl 2015-02-12 07:25:35