TTL 文件格式 - 我不知道这是什么

TTL file format - I have no idea what this is

我有一个具有结构的文件,但我不知道它是什么格式,也不知道如何解析它。文件扩展名是ttl,但我以前从未遇到过。

文件中的某些行如下所示:

<http://data.europa.eu/esco/label/790ff9ed-c43b-435c-b6b3-6a4a6e8e8326>
    a                   skosxl:Label ;
    skosxl:literalForm  "gérer des opérations d’allègement"@fr .

<http://data.europa.eu/esco/label/98570af6-b237-4cdd-b555-98fe3de26ef8>
    a                   skosxl:Label ;
    esco:hasLabelRole   <http://data.europa.eu/esco/label-role/neutral> , <http://data.europa.eu/esco/label-role/male> , <http://data.europa.eu/esco/label-role/female> ;
    skosxl:literalForm  "particleboard machine technician"@en .

<http://data.europa.eu/esco/label/aaac5531-fc8d-40d5-bfb8-fc9ba741ac21>
    a                   skosxl:Label ;
    esco:hasLabelRole   "http://data.europa.eu/esco/label-role/female" , "http://data.europa.eu/esco/label-role/standard-female" ;
    skosxl:literalForm  "pracovnice denní péče o děti"@cs .

这样下去又增加了 400 MB。添加了一些附加属性,但不是所有节点。

它让我想起了某种形式的 XML,但我没有太多使用不同格式的经验。它看起来也像是可以建模为图形的东西。 您是否知道它是什么数据格式,以及我如何在 python 中解析它?

这看起来像 turtle - 一种用于语义网的数据描述语言。

:has 标签和 :label 是为定义为共享数据的两个不同语义库指定的(esco 和 skosxl,假设数据在语义网中,使用搜索引擎查找这些库应该没有太大问题) . :literal 形式可以被认为是 XML 标签中的值。

它们表示数据结构中的本体:

主题:10 谓词:名称 对象:约翰

至于python,将数据作为文件读取,将主题用作字典的键,将值放在数据库中,不清楚你想对数据做什么。

语义数据是开放的、不完整的,并且可能具有不寻常的复杂结构。上面的例子非常简单,上面链接的入门可能会有所帮助。

是的,@Phil 是正确的,它是用于存储 RDF 数据的海龟语法。

我建议您将它导入某种 RDF 存储库,而不是尝试自己解析 400MB+。您可以使用 GraphDB, Blazegraph, Virtuso 并且列表还在继续。搜索 RDF 商店应该会提供许多其他选项。

然后您可以使用 RDFLib 中的 SPARQL to query the RDF store (which is like SQL for relational databases) using Python RDFlib. Here is an example