1

Freebase にはかなりの量のドキュメントが含まれていますが、多くのシナリオで動作するコードの特定の例が不足しています。

それらの 1 つは、eMQL サービスを使用してクエリを (Python で、Python Freebase ライブラリを使用して) 実装する方法です。MQL サービスの拡張バージョンです。ドキュメントには、「エンベロープ パラメーターを extended=true に設定する」必要があると記載されていますが、実際にそれを行う方法がわかりません (構文を正しくする)。

私が使用しようとしているサービスのドキュメントは次のとおりです: http://www.freebase.com/docs/mql_extensions/common#service

拡張サービスを使用して動作させようとしているコードの例を次に示します。

query = {
    "extended": True,
    "query": [{
        "id": "/en/settlers_of_catan",
        "/common/topic/weblink": [{
            "description": "Wikipedia",
            "url": None
        }]
    }]
}

result = freebase.sandbox.mqlread(query)

これは失敗し、「Type /type/object には拡張されたプロパティがありません」というエラーが表示されます。私が実際に拡張プロパティを設定しておらず、間違った場所でそれを行おうとしていると言っていると私は信じています。

4

1 に答える 1

2

答えは簡単です - エンベロープ設定を渡します (この場合は 'extended=true' を mqlread 関数に渡します。

result = freebase.sandbox.mqlread(query, extended=True)

もちろん、True の T の大文字化に注意してください。

于 2010-12-19T19:52:31.143 に答える