2017-01-25 2 views
1

Ich bin neu in Neo4j und ich brauche Hilfe.Erstellen einer Einschränkung für mehrere Eigenschaften in neo4j

Ich versuche pro zwei Bedeutungen auf einmal Einschränkung in mehreren Eigenschaften von Knoten zu machen:

  1. Ich brauche als Einschränkung viele Eigenschaften angeben, ohne mit dem Befehl immer wieder alle über die Eigenschaften eingeben
  2. Ich muss viele Eigenschaften als ONE-UNITY-Einschränkung wie in SQL definieren, wenn 3 Attribute ein Primärschlüssel und nicht trennbar ist.

Wie kann ich es erreichen?

Antwort

2

Sie stellen tatsächlich 2 Fragen.

  1. Die APOC Verfahren apoc.schema.assert ist hilfreich für bequem sicherzustellen, dass die DB die erforderliche Menge von Indizes und Einschränkungen hat. (Beachten Sie jedoch, dass dieses Verfahren wird fallen alle vorhandenen Indizes und Einschränkungen nicht in dem Aufruf angegeben.)

    Zum Beispiel, wie in der Dokumentation gezeigt, dieser Aufruf:

    CALL apoc.schema.assert(
        {Track:['title','length']}, 
        {Artist:['name'],Track:['id'],Genre:['name']}); 
    

    ein Ergebnis zurück so (auch, wenn ein Index oder eine Einschränkung war fallen gelassen worden, eine Zeile mit dem action Wert von „fIEL“ und würde zurückgegeben wurde):

    ╒════════════╤═══════╤══════╤═══════╕ 
        │label  │key │unique│action │ 
        ╞════════════╪═══════╪══════╪═══════╡ 
        │Track  │title │false │CREATED│ 
        ├────────────┼───────┼──────┼───────┤ 
        │Track  │length │false │CREATED│ 
        ├────────────┼───────┼──────┼───────┤ 
        │Artist  │name │true │CREATED│ 
        ├────────────┼───────┼──────┼───────┤ 
        │Genre  │name │true │CREATED│ 
        ├────────────┼───────┼──────┼───────┤ 
        │Track  │id  │true │CREATED│ 
        └────────────┴───────┴──────┴───────┘ 
    
  2. da es (noch) nicht ist eine Möglichkeit, Erstellen Sie einen Index oder eine Einschränkung für mehrere Eigenschaften Eine beliebte Problemumgehung für eine Knotenbeschriftung ist die Verwendung einer zusätzlichen Eigenschaft, deren Wert ein Array der Werte ist, die Sie verwenden möchten. Sie müssen sicherstellen, dass die Werte alle vom selben Typ sind, und wenn nötig, einige konvertieren. Leider müssen dazu einige Daten redundant gespeichert werden, was den Code ein wenig komplexer macht.

+1

können Sie bitte irgendein Beispiel geben? – Antwnina

+0

kannst du bitte meine Frage abstimmen, damit ich mehr Punkte und guten Ruf sammle ??? danke – Antwnina

Verwandte Themen