Slide 9
Slide 9 text
9
グラフのモデルとクエリ言語 Pythonのサンプルコード
Gremlinはプロパティグラフを操作する言語です
SQLとは全く違う記法です
癖のある記法ではあります
左記のコードの特徴は、データを登録するにあたり、
DDLに相当するものがないことです。
グラフDBはスキーマレスなのでどんどんとデータを追
加することができます。
繋がりのデータはいろんなタイプのデータがどんどん
と追加されるのを想定しているので、柔軟性に長けて
います。
〜省略〜
port = 8182
server = Neptuneのエンドポイント'
endpoint = f'wss://{server}:{port}/gremlin'
graph = Graph()
connection = None
try:
connection = DriverRemoteConnection(endpoint, 'g',
transport_factory=lambda: AiohttpTransport(call_from_event_loop=True))
g = graph.traversal().withRemote(connection)
g.addV('service').property(T.id, '1').property('name', 'Neptune').iterate()
g.addV('graph_type').property(T.id, '4').property('name', 'Property Graph').iterate()
g.addV('query_language').property(T.id, '5').property('name', 'Gremlin').iterate()
g.addV('query_language').property(T.id, '6').property('name', 'Cypher').iterate()
g.addV('graph_type').property(T.id, '7').property('name', 'RDF Graph').iterate()
g.addV('query_language').property(T.id, '8').property('name', 'SPARQL').iterate()
〜省略〜
g.V('1').addE('Graph Type').to(__.V('4')).iterate()
g.V('4').addE('Query Language').to(__.V('5')).iterate()
g.V('4').addE('Query Language').to(__.V('6')).iterate()
g.V('1').addE('Graph Type').to(__.V('7')).iterate()
g.V('7').addE('Query Language').to(__.V('8')).iterate()
〜省略〜
result = g.V().limit(25).bothE()
print(result)
finally:
if connection is not None:
connection.close()
ノード(頂点)の登録
エッジの登録