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。
我有一个具有结构的文件,但我不知道它是什么格式,也不知道如何解析它。文件扩展名是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。