2016-12-08 5 views
1

私は自然プロセスによって生成されたデータからstate transition tableを経験的に決定するコードを書いています。データから州を派生させ、後で照会するために州のデータをHDに保存したいと思います。以下のネストされたデータのJSON表現

私がこれまで行ってきた分析から、状態情報はネストされ、システムはN個(簡単のためN = 3に固定)の異なる状態を有する。さらに、これらのN個の状態の各々は、入れ子状態の固定(可変数)を有する。ステートマシン(classification_の*)の様々な分類はABCから派生させることができそうです

machine-state: 
    frequency_1: state-info 
    frequency_2: state-info 
    frequency_3: state-info 

state-info: 
    classification_1: 
     - classification_1_state_foo 
     - classification_1_state_foobar 
     - classification_1_state_foofoo 
     - classification_1_state_foofoobar 
     - classification_1_state_foobarfoo 

    classification_2: 
     - classification_2_state_name1 
     - classification_2_state_name2 
     - classification_2_state_name3 
     - classification_2_state_name4 

    classification_3: 
     - classification_3_state_anothername 
     - classification_3_state_anothername1 
     - classification_3_state_anothername2 
     - classification_3_state_anothername3 

これは私がこれまでに出ている(擬似YAML)スキーマです。しかし、私は簡単なクエリなどのJSONでこのツリー構造を表現する方法がわかりません。

私はPythonを使用しており、PostgreSQLデータベースにバックエンドとしてJSONドキュメントを格納するつもりです。ドキュメントのように、私は経験的に格納されたデータから状態遷移テーブルを構築することができます。

私がモデル化しようとしている問題(上記のYAMLサンプル)を考えますと、JSONモデルのデータをどのように表現するのがベストでしょうか?私が最も直感的な表現よりももっと良いものが表示されない

答えて

0

{ 
    "classification1": [ 
     "classification_1_state_foo", 
     "classification_1_state_foobar", 
     "classification_1_state_foofoo", 
     ... 
    ], 
    "classification2": [ 
    ... 
} 

を私たちはツリー構造について話しているようしかし、多分JSONは、ここでは最良の選択ではありません。アプローチの根本的な変更を提案する場合は、このデータをXMLで構築し、XMLデータをファイルに保存し、BeautifulSoupを使用して照会することを検討してください。例:

<classification> 
    <classification_state>classification_1_state_foo</classification_state> 
    <classification_state>classification_1_state_foobar</classification_state> 
    <classification_state>classification_1_state_foofoo</classification_state> 
    ... 
</classification> 
... 
関連する問題