2013-07-20 60 views
8

我目前正在計劃一個包含大數據的大項目。將Freebase導入Triplestore

我已經使用的搜索和所有的結果告訴我,這是不可能導入的遊離鹼到任何triplestore沒有像BaseKBFreebase to RDF

我所看到的第三方工具的使用,轉儲已經可以作爲RDF ,那麼如果我想將轉儲導入到我的4store三重存儲並通過SPARQL訪問數據,那麼問題在哪裏?

+0

您是否已將freebase數據導入三重存儲?如果是,完成該過程花費了多少時間,以及您使用的機器配置是多少。我也計劃導入數據。所以請讓我知道細節。 謝謝 – vinod

回答

3

要導入遊離鹼轉儲大家都在問題:

1)讓您的RDF /龜分析器更新。 (最新猛禽2的版本可以識別,例如在納秒「」:common.topic.notable_for.example

2)轉儲必須被清理之前,可將其導入。我用這個素文字:http://people.apache.org/~andy/Freebase20121223/(fixit來)

3)Turtle規範只允許這些字符的URI:

::= '<' ([^#x00-#x20<>\"{}|^`\] | UCHAR)* '>' 

所以這是非常重要的,這條線在線路80添加到fixit來腳本:

$X =~ s/\\>/%3E/g ; 
$X =~ s/\\.//g ; 

# Add this Line 
$X =~ [\x00-\x20\<\>\"\{\}\|\^\`] ; 

$obj = "<".$X.">" ; 

其結果是,無效的語法如下:

<http://www.wikipedia.org/object?key={invalid_braces}> 

變爲

<http://www.wikipedia.org/object?key=invalid_braces> 
2

你可能正從至少兩個搜索結果,如果不是三,不同的數據集:

  1. 老四格式轉儲
  2. 的RDF早期轉儲
  3. (也許)當前RDF dump

#1中的格式是需要轉換的格式。早期的RDF轉儲(#2)在語法上是無效的,所以不會導入到大多數工具中。隨着時間的推移,RDF轉儲一直在改進。我不確定在沒有預處理的情況下是否會導入它仍然是真的,但是,無論如何,如果您預處理它以刪除冗餘,則將其標準化爲最適合您的格式應用程序等

您是否嘗試導入當前的轉儲?你的結果是什麼?

+0

感謝您的快速回答。今天我訂購了一臺根服務器,安裝了4store,DL Freebase Dump,併爲每個文件分割了10.000.000個三元組。 現在我在導入時出現錯誤:「URI file:/// root/freebase/xaa:8 raptor error - syntax error」。 Freebase RDF的turtle語法是否有問題? – smith64fx

+0

第一行導致「語法錯誤」:ns:american_football.football_historical_roster_position.number ns:type.property.expected_type ns:type.int。 – smith64fx

+1

我修正了它......更新Raptor2後,它現在可以在這個很好的修復的幫助下運行:http://people.apache.org/~andy/Freebase20121223/ – smith64fx

1

freebase turtle dump的問題是這樣的,它們不符合w3c turtle規範。

1)根據http://www.w3.org/TR/turtle/#sec-grammar, 字符'。'只能出現在三重結尾, 然而,freebase轉儲有很多'。'。在三聯結束前。 我在某處讀到「/」在uri之外不允許,所以 他們選擇使用'。'。

最新raptor2庫可以解決這個(「」),而不是舊的

2)我的思維方式發出‘空白點’也無效 用於例如line 141567 ns:m.01000m1 ns:common.topic.notable_for。

+0

1)更新Raptor2 – smith64fx