Entitätsreferenz vs. Taxonomie


10

Nehmen wir an, ich habe ein Team mit Mitgliedern. Ich habe einen Inhaltstyp für das Team und einen Inhaltstyp für einzelne Teammitglieder. Angenommen, es gibt auch andere Beziehungen, z. B. können Teams zu Abteilungen gehören, und es gibt Projekte, die Einzelpersonen oder Teams zugewiesen werden können.

Nach meinem Verständnis gibt es zwei Möglichkeiten, die Beziehungen zwischen diesen Entitäten zu definieren - entweder Entitätsreferenzen oder die Verwendung von Taxonomie-Begriffen. Wann sollte ich einen Typ über den anderen verwenden? Ist es am besten, nur eine Methode zu wählen oder sie zu mischen?

Es scheint mir, dass Taxonomie am flexibelsten ist, weil es einfach ist, Bäume mit Taxonomietypen zu erstellen, oder wenn ich dann innerhalb eines Teams beschlossen habe, eine Hierarchie im Team zu erstellen, ist die Funktionalität bereits vorhanden (ziehen Sie einfach die Taxonomiebegriffe in die Hierarchie), während ich mir, wenn ich die Entitätsreferenz verwendet habe, keinen einfachen Weg vorstellen kann, dies zu tun (außer Taxonomie hinzuzufügen, was dann zu Redundanz führt).

Es fühlt sich an, als ob es etwas gibt, das ich hier nicht verstehe, aber ich bin mir nicht sicher, was es ist!

Jede Hilfe wäre dankbar.


Ok, ich habe einige Fortschritte beim Verständnis gemacht - eine Entitätsreferenz kann tatsächlich auf einen Taxonomiebegriff verweisen! "Team B" kann also sowohl ein Inhaltstyp (der die Beschreibung enthält) als auch ein Entitätsreferenzlink zu einem Taxonomiebegriff (mit demselben Namen) sein. Dann könnte ein Benutzer eher mit dem Taxonomie-Begriff als mit dem Inhaltstyp verknüpft werden ...
James

Ich denke, eine Sache, die ich noch nicht ausgearbeitet habe, ist: Was ist der Unterschied zwischen einem Feld in einem Inhaltstyp, der ein Taxonomiebegriff ist, und einer Entitätsreferenz, die mit einem Taxonomiebegriff verknüpft ist? Letzteres scheint nur eine zusätzliche Ebene zu sein der Komplikation.
James

Sie sind ziemlich vergleichbar. Aus Konsistenzgründen verwende ich gerne die Entitätsreferenz.
Alex Laughnan

Wenn Sie jedoch die Entitätsreferenz verwenden, gibt es immer noch Fälle, in denen es immer noch besser ist, die Taxonomie zu verwenden, nicht wahr? Wenn wir zum Beispiel eine Organisationshierarchie haben, scheint mir Taxonomie ein besserer Weg zu sein, dies zu tun.
James

Antworten:


21

Sie sprechen hier von zwei verschiedenen Konzepten. Die erste Frage bezieht sich darauf, wann man Inhalte in verschiedene Kategorien einteilen möchte oder ob man eine Beziehung zwischen vorhandenen Inhaltstypen aufbauen möchte. Die andere Frage ist, ob es bei Verwendung einer Taxonomie besser ist, ein Taxonomie-Referenzfeld oder ein Entitätsreferenzfeld zu verwenden.


Zum ersten Konzept

Dies hängt von Ihrem Anwendungsfall ab. Taxonomien eignen sich hervorragend zum Erstellen von Hierarchien, wie Sie bereits erwähnt haben. Im Idealfall sollten Sie jedoch keine Taxonomien verwenden, um tatsächlichen Inhalt zu enthalten. Der Grund dafür ist einfach: Während Sie Taxonomiebegriffen Felder hinzufügen können, verwenden alle Hierarchieebenen in einer Taxonomie dieselben Felder. Wenn Sie Ihr Beispiel mit Mitgliedern verschiedener Teams nehmen, kann dies zu Problemen führen. Wenn Sie mehr Informationen über ein Team oder Mitglied als nur den Namen speichern möchten, möchten Sie beispielsweise Informationen über den Vornamen, den Nachnamen und die Biografie eines Mitglieds speichern und diese Felder zur Taxonomie hinzufügen auch zu Teambedingungen verfügbar. Wenn Sie ein Teambeschreibungsfeld für die Teams hinzufügen, werden diese für die Teammitglieder angezeigt.

Taxonomien werden am besten verwendet, wenn ähnliche Elemente hierarchisch organisiert werden . Wie Tags zum Beispiel:

  • Gemüse
    • Karotte
    • Kartoffel
  • Obst
    • Apfel
    • Banane

Entitätsreferenzen eignen sich hervorragend zum Herstellen von Beziehungen zwischen Inhaltstypen. Beispiele hierfür sind ein Knotentyp "Team" und ein Knotentyp "Teammitglied" mit jeweils eigenen Feldern. Oder ein Knotentyp "Song", der auf ein "Album" verweist, das selbst auf einen "Musiker" verweist. In dieser Hinsicht sind Entitätsreferenzen flexibler als Taxonomien, da sie komplexere Beziehungen ermöglichen. Wenn Sie Ansichten verwenden, können Sie diese Beziehungen auch verwenden. Anhand Ihres Beispiels können Sie eine Ansicht aller Teammitglieder erstellen und die Entitätsreferenz für eine Beziehung verwenden. Außerdem können Sie ein beliebiges Feld im Teaminhaltstyp zusammen mit Feldern aus dem Mitgliedsknoten anzeigen.

Das Mischen von referenzierten Knoten- und Taxonomiefeldern ist ebenfalls legitim. In Ihrem Beispiel mit den Teams können sowohl Team als auch Mitglied ein Knoten sein, der sich gegenseitig mit einer Entitätsreferenz referenziert. Gleichzeitig könnte die Abteilung eine Taxonomie mit allen verfügbaren Abteilungen sein.


Zum zweiten Konzept

Als DO D7 veröffentlichte, wurde es mit einem Taxonomie-Referenzfeld geliefert, das beim Referenzieren von Taxonomien verwendet werden kann. Seitdem wurde das Entity-API-Modul und folglich das Entity-Referenzmodul veröffentlicht. Da Begriffe und Taxonomien Entitäten sind, kann man sie wie jede andere Entität referenzieren. Zu diesem Zeitpunkt arbeiten die beiden sehr ähnlich, und in vielen Fällen spielt es keine Rolle, welche Sie verwenden. Es gibt jedoch noch einige Module, die Feldformatierer und Widgets bereitstellen, die nur für das eine oder andere funktionieren. Es hängt also meistens davon ab, ob Sie einen solchen Formatierer benötigen, wenn Sie eine Taxonomiereferenz oder eine Entitätsreferenz verwenden sollten.

Da DO das Taxonomie-Referenzfeld in D8 durch das Entitätsreferenzfeld ersetzt, bevorzuge ich die Verwendung des Entitätsreferenzfelds zur Verknüpfung mit Taxonomien anstelle des vom Taxonomiemodul bereitgestellten Felds.


2
Was für eine wundervolle Erklärung! Vielen Dank! Jetzt verstehe ich!
James
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.