mit Knoten von einer anderen Natur anzuzeigen, wie Sie in official doc lesen können, für Etiketten eine Art Klasse oder besser: ein Typ eines Knotens.
Ein Label ist ein benanntes Diagrammkonstrukt, das verwendet wird, um Knoten in Sets zu gruppieren; Alle Knoten, die mit demselben Label versehen sind, gehören zu demselben Set. Viele Datenbankabfragen können mit diesen Gruppen statt mit dem gesamten Graphen arbeiten, wodurch Abfragen einfacher geschrieben und effizienter ausgeführt werden können. Ein Knoten kann mit einer beliebigen Anzahl von Etiketten beschriftet sein, einschließlich keiner, wodurch Etiketten optional zur Grafik hinzugefügt werden können.
Bezeichnungen werden verwendet, wenn Sie Bedingungen definieren und Indizes für Eigenschaften hinzufügen (siehe Schema).
Ein Beispiel wäre ein Etikett mit dem Namen Benutzer, dass Sie alle Ihre Knoten mit Benutzern bezeichnen. Mit dieser Funktion können Sie Neo4j an bitten, Operationen nur auf Ihren Benutzerknoten durchzuführen, z. B. alle Benutzer mit einem bestimmten Namen zu finden.
Sie können jedoch Etiketten für viel mehr verwenden. Zum Beispiel, da die Labels während der Laufzeit hinzugefügt und entfernt werden können, können sie verwendet werden, um temporäre Zustände für Ihre Knoten zu markieren. Sie können ein Offline-Label für Telefone erstellen, die offline sind, ein Happy Label für glückliche Haustiere und so weiter.
Es ist wichtig zu sagen, dass ein Knoten mehrere Labels haben kann. Zum Beispiel könnte die node
, die Benedict Cumberbatch darstellt, wie folgt bezeichnet werden: Person
, Man
, Actor
und British
.
Sie können Knoten anhand von Beschriftungen abfragen.Es bedeutet, dass die Benedict Cumberbatch der node
zu jedem dieser Sätze gehört, und es wird in jedem Result der folgenden Abfragen zurückgegeben werden:
MATCH (p:Person) return p
MATCH (p:Man) return p
MATCH (p:Actor) return p
MATCH (p:British) return p
Labels sind nicht obligatorisch, aber mit ihnen ist eine gute Praxis, um Ihre Daten zu kategorisieren und sie nach Typen bekommen.
AFAIK in Version 3.0.x Etiketten sind reserviert für [Knoten] (http://neo4j.com/docs/developer-manual/current/#graphdb-neo4j-nodes) während [Eigenschaften] (http: // neo4j .com/docs/developer-manual/current/# graphdb-neo4j-properties) sind beide für Knoten und Relationen. Es ist merkwürdig, da ich jemals eine Art von Labels auch für rels verwendet habe (z. B. '[: Type_of_rel]') – floatingpurr
Beziehungen haben einen einzigen Typ, wohingegen Knoten mehrere Labels haben können, wie Sie in Ihrer Antwort bemerkt haben. Ja, es ist ein bisschen ein Sprachmissbrauch zu sagen, dass Beziehungen ein Label haben, aber es ist meiner Meinung nach das gleiche Konzept. –
Ich weiß nicht, ob es nur eine Frage des Lexikons ist, ob es einen konkreten Unterschied zu Typen und Labels gibt ... – floatingpurr