我有一个具有结构的文件,但我不知道它是什么格式,也不知道如何解析它。文件扩展名是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中解析它?
答案 0 :(得分:5)
是的,@ Phil是正确的,它是用于存储RDF数据的龟语法。
我建议您将其导入某种RDF商店,而不是尝试自己解析400MB +。您可以使用GraphDB,Blazegraph,Virtuso并继续列表。搜索RDF商店应该提供许多其他选择。
然后,您可以使用SPARQL使用Python RDFlib查询RDF存储(类似于关系数据库的SQL)。这是来自RDFLib的example。
答案 1 :(得分:4)
看起来像turtle - 语义网的数据描述语言。
:为两个不同的语义库指定了label和:label,这两个语义库被定义为共享数据(esco和skosxl在使用搜索引擎找到这些库时应该没什么问题,假设数据在语义Web中)。 :文字形式可以被认为是XML标签中的值。
它们代表数据结构中的本体:
主题:10 谓词:姓名 对象:约翰
至于python,将数据作为文件读取,使用主题作为字典的键,将值放在数据库中,不清楚你想对数据做什么。
语义数据是开放的,不完整的,并且可能具有不寻常的复杂结构。上面的例子非常简单,上面提到的引物可能有所帮助。