私はneo4jの命名規則について不思議です。neo4j命名規則とは何ですか?
例では、大文字と小文字の関係名が使用されています。
left-[r:KNOWS]->right
これは規約ですか? neo4jは関係名に大文字と小文字を区別しますか?インデックス名とプロパティ名には他の命名規則がありますか?
私はneo4jの命名規則について不思議です。neo4j命名規則とは何ですか?
例では、大文字と小文字の関係名が使用されています。
left-[r:KNOWS]->right
これは規約ですか? neo4jは関係名に大文字と小文字を区別しますか?インデックス名とプロパティ名には他の命名規則がありますか?
これが規約です。個人的には、小文字の関係タイプを使用します。はい、大文字と小文字が区別されます。アンダースコア付き。
通常、人々はインデックス名にもアンダースコアを使用しますが、通常は小文字で、大文字と小文字が区別されます。
また、覚えておいてください:作成中に方向を指定しないと、デフォルトは< --rightとなります。私には直感的ではありませんが、今は常に方向を指定しています。プロパティの場合
、私はほとんどの人がJSON形式の規則を使用すると思う:http://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml#Key_Names_in_JSON_Maps
私はまた、プロパティのアンダースコアを見てきましたので、私はそれがどちらかの道を行くと思います。ただ一貫してください!
)(LOWER使用して大文字または小文字にすべてを持参する方が簡単でしたとUPPER()文字列関数
の1-さんは、私はプロパティ名=「名前のノードを持っているとしましょう「小文字で、それを見つけるためにあなたが正確な文字列againt一致する必要が
Query:
CYPHER 2.0
START n=node(*)
WHERE n.name= "name"
RETURN id(n)
id(n)
5
Query took 3 ms and returned 1 rows.
は、そうでない場合、あなたはそれを見つけることができません。
Query:
CYPHER 2.0
START n=node(*)
WHERE n.name= "Name"
RETURN id(n)
Query took 4 ms and returned no rows.
しかし、我々はLOWER文字列関数を()を使用して、それを一致させることができます。
START n=node(*)
WHERE LOWER(n.name)= "name"
RETURN id(n)
id(n)
8
Query took 5 ms and returned 1 rows.
:照合するために、 "名前":任意の文字列の場合の例で入力されたノードのプロパティで
CYPHER 2.0
START n=node(*)
WHERE n.name= LOWER("Name")
RETURN id(n)
id(n)
5
Query took 4 ms and returned 1 rows.
2 -
はい、リレーションシップ名の規則はALL_UPPERCASEにすることです。 Neo4jのすべての名前は大文字と小文字を区別します(ラベル、関係、プロパティなど)
これは規約であり、要件ではありません。 プロジェクトで最も重要な部分は一貫性です。 コーディングスタイルを使用して、全体に固執してください!
のNeo4jの命名規則:
サイファー例:また
CREATE (:Person {name:"Anne"})-[:MANAGES {start_date:20121112}]->(:WorkGroup {name:"Dev"});
:
CREATE (:Person {name:"Anne"})-[:MANAGES {startDate:20121112}]->(:WorkGroup {name:"Dev"});
参考文献:
あなたがスペースをしたい場合、次のことができます。あなたはバックティックで関係タイプを囲む必要があります。構文では、スペース名を持つオブジェクト名に対してMySQLでよく使われます。 – ADTC