構造のあるファイルがありますが、その形式や解析方法がわかりません。ファイル拡張子は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 .
そして、400MB以上このように続きます。すべてではありませんが、一部のノードに追加の属性が追加されます。
ある種のXMLを思い出しますが、さまざまな形式での作業経験はあまりありません。また、グラフとしてモデル化できるもののように見えます。それがどのようなデータ形式であり、Pythonでどのように解析できるかについて何か考えがありますか?
はい、@ Philは正しいです。これは、RDFデータを格納するためのタートル構文です。
400MB以上を自分で解析するのではなく、ある種のRDFストアにインポートすることをお勧めします。 GraphDB 、 Blazegraph 、 Virtuso を使用すると、リストが続きます。 RDFストアを検索すると、他の多くのオプションが表示されます。
次に、 [〜#〜] sparql [〜#〜] を使用して、RDFを使用してPythonストア(リレーショナルデータベースのSQLに似ています)をクエリできます。 RDFlib 。これがRDFLibの 例 です。
それは turtle -セマンティックWebのデータ記述言語のように見えます。
:has labelと:labelは、データを共有するために定義された2つの異なるセマンティックライブラリに指定されています(escoとskosxlは、データがセマンティックWebにあると仮定すると、検索エンジンでこれらのライブラリを見つけるのにそれほど問題はありません)。 :リテラル形式は、XMLタグの値と考えることができます。
それらは、データ構造のオントロジーを表します。
件名:10述語:名前オブジェクト:ジョン
Pythonの場合、データをファイルとして読み取り、件名を辞書のキーとして使用し、値をデータベースに入れます。データをどのように処理するかが不明確です。
セマンティックデータはオープンで不完全であり、異常で複雑な構造を持つ可能性があります。上記の例は非常に単純で、上記のリンクが役立つ場合があります。