การอ้างอิงเอนทิตีเทียบกับอนุกรมวิธาน


10

สมมติว่าฉันมีทีมงานที่มีสมาชิก ฉันมีประเภทเนื้อหาสำหรับทีมและประเภทเนื้อหาสำหรับสมาชิกในทีมแต่ละคน สมมติว่ามีความสัมพันธ์อื่น ๆ เช่นทีมสามารถเป็นของแผนกและมีโครงการที่สามารถกำหนดให้กับบุคคลหรือทีม

ตามที่ฉันเข้าใจมีสองวิธีที่ฉันสามารถกำหนดความสัมพันธ์ระหว่างเอนทิตีเหล่านี้ - การอ้างอิงเอนทิตีหรือการใช้คำอนุกรมวิธาน เมื่อใดที่ฉันควรใช้ประเภทหนึ่งทับอีกประเภทหนึ่ง เป็นการดีที่สุดที่จะเลือกวิธีเดียวหรือผสมกัน

สำหรับผมมันดูเหมือนว่า Taxonomy นั้นมีความยืดหยุ่นมากที่สุดเพราะมันง่ายต่อการสร้างต้นไม้โดยใช้ประเภท taxonomy หรืออย่างเช่นถ้าอยู่ในทีมผมก็ตัดสินใจว่าผมอยากจะสร้างลำดับชั้นในทีมที่มีฟังก์ชั่นอยู่แล้ว คำศัพท์อนุกรมวิธานลงในลำดับชั้น) ในขณะที่ถ้าฉันใช้การอ้างอิงเอนทิตีฉันไม่สามารถคิดวิธีง่ายๆในการทำเช่นนั้น (นอกเหนือจากการเพิ่มอนุกรมวิธานซึ่งทำให้ผลลัพธ์ซ้ำซ้อน)

รู้สึกเหมือนมีบางสิ่งที่ฉันไม่เข้าใจที่นี่ แต่ฉันไม่แน่ใจว่ามันคืออะไร!

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม


ตกลงฉันมีความคืบหน้าในการทำความเข้าใจ - การอ้างอิงเอนทิตีอาจเป็นคำที่อนุกรมวิธานจริง ๆ ! ดังนั้น "ทีม B" อาจเป็นทั้งประเภทเนื้อหา (มีคำอธิบาย) และลิงค์อ้างอิงเอนทิตีไปยังคำศัพท์อนุกรมวิธาน (ของชื่อเดียวกัน) จากนั้นผู้ใช้สามารถเชื่อมโยงกับคำศัพท์อนุกรมวิธานแทนที่จะเป็นประเภทเนื้อหา ...
James

ฉันเดาว่าสิ่งหนึ่งที่ฉันยังไม่ได้ทำคืออะไร - ความแตกต่างระหว่างการมีฟิลด์ในประเภทเนื้อหาที่เป็นคำอนุกรมวิธานและการอ้างอิงเอนทิตีที่เชื่อมโยงไปยังคำอนุกรมวิธาน - หลังดูเหมือนว่าระดับเพิ่มเติม ของภาวะแทรกซ้อน
James

พวกมันค่อนข้างเทียบเคียงกัน จากความสอดคล้องฉันต้องการใช้การอ้างอิงเอนทิตี
alex laughnan

แต่ถ้าคุณใช้การอ้างอิงเอนทิตียังมีอินสแตนซ์เมื่อยังดีกว่าที่จะใช้อนุกรมวิธานไม่ได้มี? ตัวอย่างเช่นถ้าเรามีลำดับชั้นขององค์กรมันจะดูเหมือนว่าอนุกรมวิธานเป็นวิธีที่ดีกว่าในการทำเช่นนั้น
James

คำตอบ:


21

คุณกำลังพูดถึงสองแนวคิดที่แตกต่างกันที่นี่ คำถามแรกเกี่ยวข้องกับเมื่อใดก็ตามที่ต้องการจัดระเบียบเนื้อหาเป็นหมวดหมู่ที่แตกต่างกันหรือหากต้องการสร้างความสัมพันธ์ระหว่างประเภทเนื้อหาที่มีอยู่ คำถามอื่นคือถ้าใช้อนุกรมวิธานจะเป็นการดีกว่าถ้าจะใช้ฟิลด์การอ้างอิงอนุกรมวิธานหรือฟิลด์การอ้างอิงเอนทิตี


เกี่ยวกับแนวคิดแรก

มันขึ้นอยู่กับกรณีการใช้งานของคุณ Taxonomies นั้นยอดเยี่ยมสำหรับการสร้างลำดับชั้นตามที่คุณกล่าวถึง แต่ในอุดมคติแล้วคุณไม่ควรใช้ taxonomies เพื่อบรรจุเนื้อหาจริง เหตุผลที่ง่าย - ในขณะที่คุณสามารถเพิ่มเขตข้อมูลไปยังเงื่อนไข taxonomy ระดับลำดับชั้นทั้งหมดใน taxonomy ใช้เขตข้อมูลเดียวกัน ยกตัวอย่างของคุณกับสมาชิกที่อยู่ในทีมต่าง ๆ นี่อาจนำไปสู่ปัญหา หากคุณต้องการจัดเก็บข้อมูลเพิ่มเติมเกี่ยวกับทีมหรือสมาชิกมากกว่าเพียงแค่ชื่อตัวอย่างเช่นหากคุณต้องการจัดเก็บข้อมูลเกี่ยวกับชื่อนามสกุลและชีวประวัติของสมาชิกและเพิ่มฟิลด์นี้ลงในอนุกรมวิธานพวกเขาจะ มีให้บริการตามเงื่อนไขทีมเช่นกัน และถ้าคุณเพิ่มฟิลด์คำอธิบายทีมสำหรับทีมเหล่านั้นจะปรากฏขึ้นสำหรับสมาชิกในทีม

Taxonomies ใช้ดีที่สุดเมื่อจัดระเบียบรายการที่คล้ายกันตามลำดับชั้น กดไลค์ตัวอย่างเช่น:

  • ผัก
    • แครอท
    • มันฝรั่ง
  • ผลไม้
    • แอปเปิ้ล
    • กล้วย

การอ้างอิงเอนทิตีเป็นเลิศสำหรับการสร้างความสัมพันธ์ระหว่างประเภทเนื้อหา ตัวอย่างรวมถึงเมื่อคุณมีชนิดโหนด 'ทีม' และชนิดสมาชิกโหนด 'สมาชิกทีม' แต่ละคนมีเขตข้อมูลของตัวเอง หรือโหนดประเภท 'เพลง' ซึ่งอ้างอิงถึง 'อัลบั้ม' ซึ่งตัวเองอ้างอิงถึง 'นักดนตรี' ในเรื่องนี้การอ้างอิงเอนทิตีมีความยืดหยุ่นมากกว่าอนุกรมวิธานเนื่องจากจะช่วยให้มีความสัมพันธ์ที่ซับซ้อนมากขึ้น เมื่อคุณใช้มุมมองคุณสามารถใช้ความสัมพันธ์เหล่านี้ได้เช่นกัน จากตัวอย่างของคุณคุณสามารถสร้างมุมมองของสมาชิกทีมทั้งหมดและใช้การอ้างอิงเอนทิตีสำหรับความสัมพันธ์และสามารถแสดงฟิลด์ใด ๆ ในประเภทเนื้อหาของทีมพร้อมกับฟิลด์จากโหนดสมาชิก

การอ้างถึงโหนดการผสมและฟิลด์ taxonomy นั้นถูกต้องเช่นกัน ในตัวอย่างของคุณกับทีมทั้งทีมและสมาชิกอาจเป็นโหนดอ้างอิงซึ่งกันและกันด้วยการอ้างอิงเอนทิตี ในเวลาเดียวกันแผนกอาจเป็นอนุกรมวิธานกับแผนกที่มีอยู่ทั้งหมด


เกี่ยวกับแนวคิดที่สอง

เมื่อ DO เปิดตัว D7 มันจะจัดส่งพร้อมกับเขตข้อมูลอ้างอิงอนุกรมวิธานเพื่อใช้เมื่ออ้างอิง taxonomies ตั้งแต่นั้นมาเราได้เห็นการเปิดตัวของโมดูล Entity API และดังนั้นโมดูลอ้างอิงเอนทิตีและเนื่องจากข้อกำหนดและ taxonomies เป็นเอนทิตีหนึ่งจึงสามารถอ้างอิงได้เหมือนเอนทิตีอื่น ๆ ณ จุดนี้ทั้งสองทำงานคล้ายกันมากและในหลายกรณีมันไม่สำคัญว่าคุณจะใช้งานแบบไหน อย่างไรก็ตามยังมีบางส่วนที่สนับสนุนการจัดรูปแบบฟิลด์และวิดเจ็ตซึ่งทำงานได้อย่างใดอย่างหนึ่งหรืออื่น ๆ ดังนั้นจึงขึ้นอยู่กับว่าคุณต้องการฟอร์แมตเตอร์แบบใดถ้าคุณควรใช้การอ้างอิงอนุกรมวิธานหรือการอ้างอิงเอนทิตี

เนื่องจาก DO กำลังแทนที่ฟิลด์การอ้างอิงอนุกรมวิธานด้วยฟิลด์การอ้างอิงเอนทิตีใน D8 ฉันชอบไปกับฟิลด์การอ้างอิงเอนทิตีเพื่อเชื่อมโยงไปยัง taxonomies แทนที่จะเป็นฟิลด์ที่จัดทำโดยโมดูลอนุกรมวิธาน


2
ช่างเป็นคำอธิบายที่วิเศษมาก! ขอบคุณมาก! ตอนนี้ฉันเข้าใจ!
James
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.