0

次のコードを使用してストアにトリプルを追加しようとすると、次のエラーが発生します。この点で私を助けてください。前もって感謝します。

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)
4

2 に答える 2

1

少なくとも3つの引数を渡す必要があるようです。そのモジュールのドキュメントでは、どの引数にaddメソッドが必要かを確認できます。

(abc, FOAF['knows'],def)あなたのトリプルですか?その場合、さらに2つ必要ですcontextquoted

add(self, triple, context, quoted) 

私はここでいくつかのより多くの情報を見つけました

add(self、(subject、predicate、object)、context、quoted = False)

指定されたステートメントを特定のコンテキストまたはモデルに追加します。引用符で囲まれた引数は、このステートメントが引用符で囲まれている/仮説であることを示すために数式対応ストアによって解釈されます。コンテキストを指定せず、引用符で囲まれた引数をTrueにするのはエラーです。ストアが数式に対応していない場合、引用符で囲まれた引数がTrueになるのもエラーになるはずです。

于 2011-09-15T15:04:31.123 に答える
0

そのため、最初に、メソッドが 3 つの引数を取ると Python が言うとき、それは実際には 2 つの引数とインスタンス引数 (通常はself) を意味することを知っておく必要があります。store現在、インスタンス ( ) と 3 つの要素のタプル:を渡しています(abc, FOAF['knows'], def)。これは 1 つの引数としてカウントされます。 store.add()3 番目の引数が必要です。それがエラーメッセージが伝えようとしていることです。何が必要かはわかりませんが、ドキュメントでさらに説明できるはずです。

他に何もない場合は、 を試しstore.add((abc, FOAF['knows'], def), None)て、新しいエラーが発生するかどうかを確認してください。

于 2011-09-15T14:55:37.243 に答える