2011-09-15 28 views
0

每當我嘗試添加到三倍使用下面的代碼它給我下面的錯誤店裏。在這方面你能幫助我嗎?提前致謝。問題增加三倍於rdflib.store.IOMemory

store = plugin.get('IOMemory',Store)() 
store.add((abc, FOAF['knows'],def)) 

Error: 

Traceback (most recent call last): 
    File "C:\Python27\internetcode.py", line 114, in <module> 
    store.add((abc, FOAF['knows'],def)) 
TypeError: add() takes at least 3 arguments (2 given) 

回答

0

因此,首先,你要知道,當蟒蛇說,一個方法需要3個參數,它確實意味着兩個參數加上實例參數(通常self)。您當前正在傳遞實例(store)以及一個三元組元組:(abc, FOAF['knows'], def),它被視爲一個參數。 store.add()需要第三個參數。這就是錯誤信息試圖告訴你的。我不知道它需要什麼,但文檔應該能夠進一步解釋。

如果不出意外,你可以嘗試store.add((abc, FOAF['knows'], def), None),並看看是否會導致新的錯誤。

+0

非常感謝。它現在沒有錯誤。 –

1

看來你必須通過至少3個參數。在該模塊的documentation中,您可以看到哪些參數需要add方法:

(abc, FOAF['knows'],def)是您的三倍?在這種情況下,你需要兩個:contextquoted

add(self, triple, context, quoted) 

我發現一些更多的信息here

加(個體經營(主語,謂語,賓語),上下文,引用= FALSE)

將給定語句特定的上下文或模型。該 報價參數式感知店解釋爲表明 這種說法是引用/假設它應該是一個錯誤不 指定範圍內,並有引述的說法是真實的。如果商店不是 公式,那麼它應該也是 的引用參數爲True的錯誤。