中国語学習×グラフデータベース(9) - 属性変更
意外に続いている今シリーズ。ネタ切れも間近だったりするけど、とりあえずまとめておく。
属性の変更
例えば、単語1つを例に挙げる。
w = list(graph.find("Word", "keyword", "挨")) print(w)
[<Node graph='http://localhost:7474/db/data/' ref='node/1110' labels={'Word'} properties={'keyword': '挨', 'pinyin': 'ai1', 'meaning': '', 'pinyinf': 'āi'}>]
「挨」という単語を見てみると、意味(meaning)が空っぽであることに気づく。
でもその前に、少しPython特有で気にするところがあるので少し。graph.find()で拾った場合の戻りがgeneratorオブジェクトになっており、1回アクセスすると消えてしまう。これは、データが大量になる可能性がある場合には正しいアプローチだけど、今回の場合は該当するものが、たかだか2個程度(多読字の場合)と分かっているので、そのままListに放り込んでいる。
そこで意味を追加してみる。
w[0]['meaning'] = '近寄る,寄り添う,くっつく' graph.push(w[0])
辞書と同じような感じで意味を追加して、その後にpush()をしてやるとDB側も更新される。
w = list(graph.find("Word", "keyword", "挨")) print(w[0])
(n1679:Word {keyword:"挨",meaning:"近寄る,寄り添う,くっつく",pinyin:"ai1",pinyinf:"āi"})
念のため、結果を確認してみる。きちんと更新されている事が分かる。
今日はちょっと短いが、次のが長くなりそうなのでこのあたりで。
- 作者: Neo4jユーザーグループ,長瀬嘉秀
- 出版社/メーカー: リックテレコム
- 発売日: 2016/02/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
グラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門
- 作者: Ian Robinson,Jim Webber,Emil Eifrem,佐藤直生,木下哲也
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/03/25
- メディア: 大型本
- この商品を含むブログ (2件) を見る
A Programmatic Introduction to Neo4j
- 作者: Jim Webber,Ian Robinson
- 出版社/メーカー: Addison-Wesley Professional
- メディア: ペーパーバック
- この商品を含むブログを見る