从Freebase获取主题的RDF

从Freebase获取主题的RDF,rdf,freebase,rdflib,Rdf,Freebase,Rdflib,我试图复制中的示例代码,以获取特定主题的RDF,并将结果存储在rdflib中。安装后,url将被删除 . 但是,在运行代码时,出现以下错误: "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: &l

我试图复制中的示例代码,以获取特定主题的RDF,并将结果存储在rdflib中。安装后,url将被删除 . 但是,在运行代码时,出现以下错误:

    "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.
我是否错过了让示例发挥作用的一些步骤?
谢谢

解析器似乎不喜欢前缀URI中嵌入的句点

作为一种解决方法,您可以在将ns:&key:前缀URI提供给RDF解析器之前手动展开它们(是的,这种做法完全违背了使用标准解析器的目的)。结果应该如下所示(我认为将对其进行解析):

@前缀键:。
@前缀ns:。

谢谢你,汤姆。我希望使用Python库将RDF转储从Freebase加载(或部分)到rdflib进行一些初步处理。如果我必须手工将输入文件传递给解析器,那么似乎没有直接的方法来实现这一点。我很想知道您和其他人是如何解决这个问题的。我不太喜欢处理转储文件,但当我这样做时,我倾向于使用zgrep、cut和其他Unix命令行工具,而不是RDF工具。我所描述的转换需要几分钟的时间来使用sed、awk或Python,因此不应该太繁重(尽管我同意这是不必要的)。
    rdfs:label    "Inglise keel"@et.
  @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>;