エンティティ参照と分類


10

メンバーのいるチームがあるとします。チーム用のコンテンツタイプと個々のチームメンバー用のコンテンツタイプがあります。他の関係もあるとしましょう。たとえば、チームは部門に所属でき、プロジェクトは個人またはチームに割り当てることができます。

私が理解しているように、これらのエンティティ間の関係を定義するには2つの方法があります。エンティティ参照、または分類用語を使用する方法です。あるタイプを他のタイプよりもいつ使用する必要がありますか?1つの方法のみを選択するか、それらを混合するのが最善ですか?

分類法タイプを使用してツリーを構築するのが簡単であるため、または、たとえばチーム内でチーム内に階層を構築することを決定した場合、機能はすでにそこにある(単にドラッグするだけなので、分類法が最も柔軟性があるようです)一方、エンティティ参照を使用している場合、これを行う簡単な方法は考えられません(分類法を追加する以外は、冗長になります)。

ここでは分からないことがあるような気がしますが、何なのかわかりません!

任意の助けいただければ幸いです。


わかりました。理解にある程度の進歩がありました。エンティティの参照は、実際には分類法の用語である可能性があります。したがって、「チームB」は実際にはコンテンツタイプ(説明を含む)と、(同じ名前の)分類用語へのエンティティ参照リンクの両方になる可能性があります。次に、ユーザーをコンテンツタイプではなく、分類用語にリンクできます...
James

私がまだ解決していないことの1つは、分類用語であるコンテンツタイプのフィールドと、分類用語にリンクするエンティティ参照の違いは何ですか-後者は追加レベルのように見えるだけです合併症の。
James

彼らはかなり匹敵します。一貫性がないため、私はエンティティ参照を使用したいと思います。
アレックス笑い事

しかし、エンティティ参照を使用する場合でも、分類法を使用するほうがよい場合がありますか?したがって、たとえば、組織階層がある場合、分類法がそのためのより良い方法であるように思えます。
James

回答:


21

ここでは2つの異なる概念について話しています。最初の質問は、コンテンツをさまざまなカテゴリに整理したい場合や、既存のコンテンツタイプ間の関係を構築したい場合に関連しています。もう1つの質問は、分類法を使用するときに、分類法参照フィールドまたはエンティティ参照フィールドを使用する方がよいかどうかです。


最初のコンセプトについて

ユースケースによって異なります。分類は、先に述べたように階層を構築するのに最適ですが、理想的には、実際のコンテンツを含めるために分類を使用しないでください。その理由は簡単です。分類用語にフィールドを追加できますが、分類のすべての階層レベルは同じフィールドを使用します。異なるチームに所属するメンバーを例にとると、問題が発生する可能性があります。名前だけでなく、チームまたはメンバーに関する情報を保存する場合、たとえば、メンバーの名、姓、伝記に関する情報を保存し、このフィールドを分類法に追加する場合は、次のようになります。チーム条件でも利用できます。また、チームのチーム説明フィールドを追加すると、それらはチームメンバーに表示されます。

分類法は、類似のアイテムを階層的に整理する場合に最適です。タグのように、例えば:

  • 野菜
    • にんじん
    • じゃがいも
  • フルーツ
    • 林檎
    • バナナ

エンティティ参照は、コンテンツタイプ間の関係確立するのに最適です。たとえば、ノードタイプ「チーム」とノードタイプ「チームメンバー」があり、それぞれに独自のフィールドがあります。または、それ自体が「ミュージシャン」を参照する「アルバム」を参照しているノードタイプ「曲」。この点で、エンティティ参照は分類法よりも柔軟であり、より複雑な関係が可能になります。ビューを使用すると、これらの関係を利用することもできます。例として、すべてのチームメンバーのビューを作成し、関係のエンティティ参照を使用して、メンバーノードのフィールドと共にチームコンテンツタイプの任意のフィールドを表示できます。

参照されるノードと分類フィールドの混合も合法です。チームを使用した例では、チームとメンバーの両方がノードになり、エンティティー参照で相互に参照できます。同時に、部門は、使用可能なすべての部門を持つ分類法になる可能性があります。


第二のコンセプトについて

DOがD7をリリースしたとき、分類を参照するときに使用する分類参照フィールドが同梱されていました。それ以来、Entity APIモジュールとその結果としてのエンティティ参照モジュールのリリースを見てきました。用語と分類法はエンティティなので、他のエンティティと同じように参照できます。この時点では、2つは非常によく似ており、多くの場合、どちらを使用してもかまいません。ただし、フィールドフォーマッタとウィジェットを提供するいくつかの提供されたモジュールがまだあり、どちらか一方だけで機能します。したがって、分類参照またはエンティティ参照を使用する必要があるかどうかは、そのようなフォーマッタが必要かどうかに大きく依存します。

DOはD8で分類基準参照フィールドをエンティティ参照フィールドに置き換えるため、分類基準モジュールによって提供されるフィールドではなく、エンティティ参照フィールドを使用して分類にリンクすることを好みます。


2
なんて素晴らしい説明でしょう!どうもありがとうございました!今分かります!
James
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.