プロパティのメタプロパティ
プロパティのメタプロパティを設定する方法。
手順
メタプロパティ
-
メタプロパティ
start_date
およびstart_date
のスキーマを作成して、プロパティcountry
を持つauthor
頂点ラベルを作成します。
メタプロパティschema.propertyKey("name").Text().single().create() schema.propertyKey('start_date').Date().create() schema.propertyKey('end_date').Date().create() schema.propertyKey('country').Text().multiple().properties('start_date','end_date').create() schema.vertexLabel("author").properties("name", 'country').create()
start_date
およびend_date
がpropertyKeyとして最初に作成されます。次に、properties()
メソッドを使用して、メタプロパティがプロパティcountryに割り当てられます。==>{item_mult=[cheddar cheese, cheese], name=[item1]} ==>{item_mult=[Greek yogurt, key lime yogurt, yogurt], name=[item2]}
-
頂点を作成します。
Julia Childのこの頂点にはプロパティcountryの値が2つあり、その一つひとつに2つのメタプロパティの値があります。julia=graph.addVertex(label,'author', 'name', 'Julia Child') props=julia.property(list,'country','France') props.property('start_date', '1950-01-01') props.property('end_date', '1960-12-31') props2 = julia.property(list, 'country', 'USA') props2.property('start_date', '1961-01-01') props2.property('end_date', '1984-06-23')
代替的な頂点作成文は次のとおりです。
いずれのメソッドも受け入れられます。g.addV('author'). property('name', 'Emeril Lagasse'). property('country', 'France', 'start_date', '1973-10-01', 'end_date','1973-09-09'). property('country', 'USA, 'start_date', '1973-10-01', 'end_date', '2017-03-10')
-
挿入されたプロパティを調べます。
まず、作者が住んだことのある国のリストを見つけます。
g.V().properties() ==>vp[name->Julia Child] ==>vp[country->France] ==>vp[country->USA] ==>vp[name->Emeril] ==>vp[country->France] ==>vp[country->USA]
次に、リスト内の任意のcountryのメタプロパティをすべて表示します。g.V().properties().properties() ==>p[start_date->1950-01-01] ==>p[end_date->1960-12-31] ==>p[start_date->1961-01-01] ==>p[end_date->1984-06-23] ==>p[start_date->1970-04-05] ==>p[end_date->1973-09-09] ==>p[start_date->1973-02-02] ==>p[end_date->2017-03-01]
hasValue()
メソッドを追加して、指定された国の特定のメタプロパティ値を見つけます。g.V().properties('country').hasValue('France').properties() ==>p[start_date->1950-01-01] ==>p[end_date->1960-12-31] ==>p[start_date->1970-04-05] ==>p[end_date->1973-09-09]
メタプロパティの値だけを検索します。g.V().properties('country').hasValue('France').properties().value() ==>1950-01-01 ==>1960-12-31 ==>1970-04-05 ==>1973-09-09
作者が各国に住み始めた日付を見つけます。
このクエリーでは、authorを使用して作者の氏名を格納した後で、各居住国countryのcountryプロパティを探索します。国ごとの開始日が追加的な探索によって検出され、started_living_inとして指定されます。最後に、値をマップする指定子を使用して、各フル・パス探索の3つの値がすべて選択され、結果が出力されます。このクエリーをDSE Studioに入力すると、次のような結果が生成されます。g.V().as('author'). properties('country').as('country'). has('start_date').as('start_living_in'). select('author','country','start_living_in'). by('name'). by(value). by('start_date')
{ "author": "Julia Child", "country": "France", "start_living_in": "1950-01-01" }, { "author": "Julia Child", "country": "USA", "start_living_in": "1961-01-01" }, { "author": "Emeril", "country": "France", "start_living_in": "1970-04-05" }, { "author": "Emeril", "country": "USA", "start_living_in": "1973-02-02" }