0

https://developers.google.com/freebase/v1/rdf-overview#rdf-documentationのサンプル コードを複製して、特定のトピックの RDF を取得し、結果を rdflib に保存しようとしています。セットアップ後の URL は https://www.googleapis.com/freebase/v1/rdf/m/02h40lc?key=XXXXXです。ただし、コードを実行すると、次のエラーが発生します。

    "BadSyntax: at line 7 of <>:
     Bad syntax (EOF found in middle of path syntax) at ^ in:
     "@prefix key: <http://rdf.freebase.com/key/>.
      @prefix ns: <http://rdf.freebase.com/ns/>.
      @prefix owl: <http://www.w3.org/2002/07/owl#>.
      @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
      @prefix xsd: <http://www.w3.org/2001/XMLSchema#>.

      ns:m.02h40lc
          ns:base.database.database_topic.database_s_for_this_topic    ns:m.0861s;
          ns:base.rosetta.languoid.document    ns:m.05tq40j;
          ns:base.rosetta.languoid.document    ns:m.05tqsrm;

など、最後の行は次のとおりです。

        rdfs:label    "Inglise keel"@et^..."

ファイルの実際の最後の行は次のとおりです。

    rdfs:label    "Inglise keel"@et.

サンプルを機能させるためのいくつかのステップを見逃していませんか? ありがとう!

4

1 に答える 1

0

パーサーは、プレフィックス付きの URI に埋め込まれたピリオド/ドット (.) を好まないようです。

回避策として、ns: & key: プレフィックス付きの URI を RDF パーサーに渡す前に手動で展開できます (そうです、そうすると、標準のパーサーを使用するという意味がまったくなくなります)。結果は次のようになります (解析されると思います)。

  @prefix key: <http://rdf.freebase.com/key/>.
  @prefix ns: <http://rdf.freebase.com/ns/>.

  <http://rdf.freebase.com/ns/m.02h40lc>
      <http://rdf.freebase.com/ns/base.database.database_topic.database_s_for_this_topic    <http://rdf.freebase.com/ns/m.0861s>;
      <http://rdf.freebase.com/ns/base.rosetta.languoid.document    <http://rdf.freebase.com/ns/m.05tq40j>;
于 2013-05-19T17:14:33.960 に答える