แนวคิดพื้นฐาน

หากคุณเพิ่งเริ่มใช้ Freebase ส่วนนี้จะครอบคลุมคําศัพท์และแนวคิดพื้นฐานที่จําเป็นในการทําความเข้าใจวิธีการทํางานของ Freebase

  1. กราฟ
  2. หัวข้อ
  3. ประเภทและพร็อพเพอร์ตี้
  4. โดเมนและรหัส
  5. ประเภทค่าแบบผสม
  6. MID หัวข้อ
  7. เนมสเปซ คีย์ และรหัสหัวข้อ
  8. ข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้
  9. สรุป

กราฟ

ข้อมูล Freebase ได้รับการจัดเก็บไว้ในโครงสร้างข้อมูลที่เรียกว่ากราฟ กราฟจะประกอบไปด้วยโหนดที่เชื่อมด้วยเส้นขอบ ใน Freebase โหนดจะถูกกําหนดโดยใช้ /type/object และขอบจะกําหนดโดยใช้ /type/link การจัดเก็บข้อมูลเป็นกราฟช่วยให้ Freebase สามารถข้ามการเชื่อมต่อระหว่างหัวข้อได้อย่างรวดเร็ว และเพิ่มสคีมาใหม่ได้อย่างง่ายดายโดยไม่ต้องเปลี่ยนโครงสร้างของข้อมูล

หัวข้อ

Freebase มีหัวข้อกว่า 39 ล้านหัวข้อเกี่ยวกับสิ่งต่างๆ ที่มีอยู่จริง เช่น ผู้คน สถานที่ และสิ่งต่างๆ เนื่องจากข้อมูล Freebase จะแสดงเป็นกราฟ หัวข้อเหล่านี้จะสอดคล้องกับโหนดในกราฟ อย่างไรก็ตาม ไม่ใช่ทุกโหนดที่เป็นหัวข้อ โปรดดูส่วน CVT สําหรับตัวอย่างโหนดที่ไม่ใช่หัวข้อ

ตัวอย่างประเภทหัวข้อที่พบใน Freebase

บางหัวข้อโดดเด่นเนื่องจากมีข้อมูลจํานวนมาก (เช่น Wal-Mart) และบางจุดเห็นได้ชัดเจนเพราะลิงก์กับหัวข้ออื่นๆ จํานวนมาก ซึ่งอาจอยู่ในโดเมนข้อมูลที่แตกต่างกัน ตัวอย่างเช่น หัวข้อที่เป็นนามธรรม เช่น ความรัก ความยากจน การเป็นดารา ฯลฯ มักไม่เกี่ยวข้องกับเรื่องอื่นๆ แต่เนื้อหามักปรากฏเป็นหัวข้อหนังสือ เรื่องบทกวี หัวข้อภาพยนตร์ ฯลฯ ทําให้ดูโดดเด่นมากขึ้น

ประเภทและคุณสมบัติ

คุณจะเห็นหัวข้อต่างๆ ได้จากหลายมุมมอง เช่น

  • Bob Dylan เป็นนักเขียนเพลง นักร้อง นักแสดง ผู้แต่งหนังสือ และนักแสดงภาพยนตร์
  • Leonardo da Vinci เป็นจิตรกร ประติมากร นักกายวิภาคศาสตร์ สถาปนิก วิศวกร...
  • ความรักคือหัวข้อหนังสือ เรื่องภาพยนตร์ เรื่องที่เล่น บทกวี ...
  • เมืองคือตําแหน่ง อาจเป็นสถานที่ท่องเที่ยว และนายจ้างของข้าราชการ

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

  • ประเภทศิลปินเพลงประกอบด้วยพร็อพเพอร์ตี้ที่แสดงอัลบั้มทั้งหมดที่บ็อบ ดีแลนได้ผลิตไว้ รวมถึงเครื่องดนตรีทั้งหมดที่เขาเล่นต่อไป
  • ประเภทผู้แต่งหนังสือมีพร็อพเพอร์ตี้แสดงหนังสือทั้งหมดที่บ็อบ ดีแลนได้เขียนหรือเขียน เช่นเดียวกับโรงเรียนเขียนความคิดหรือการเคลื่อนไหวของเขา
  • ประเภทของบริษัทประกอบด้วยที่พักจํานวนมากสําหรับแสดงรายการผู้ก่อตั้งบริษัท สมาชิกคณะกรรมการ บริษัทแม่ แผนก พนักงาน ผลิตภัณฑ์ รายได้และกําไรเทียบกับปีต่อปี

ดังนั้น แนวคิดประเภทหนึ่งจึงอาจเปรียบเสมือนคอนเทนเนอร์เชิงแนวคิดของพร็อพเพอร์ตี้ต่างๆ ที่มักจําเป็นในการอธิบายมุมมองของข้อมูลที่เฉพาะเจาะจง (คุณอาจมองว่าประเภทหนึ่งๆ คล้ายกับตารางเชิงสัมพันธ์ และตาราง "ประเภท" แต่ละตารางจะมีคีย์ต่างประเทศอยู่ในตาราง "ข้อมูลประจําตัว" เพียง 1 ตารางที่กําหนดแต่ละหัวข้อแตกต่างกัน)

โดเมนและรหัส

ระบบจะจัดกลุ่มประเภทไว้ในโดเมนเช่นเดียวกับพร็อพเพอร์ตี้ ให้คิดว่าโดเมนเป็นส่วนในหนังสือพิมพ์เล่มโปรดของคุณ: ธุรกิจ ไลฟ์สไตล์ ศิลปะและความบันเทิง การเมือง เศรษฐศาสตร์ ฯลฯ แต่ละโดเมนจะได้รับรหัส (ตัวระบุ) เช่น

  • /business เป็นรหัสของโดเมนธุรกิจ
  • /music - โดเมนเพลง
  • /film - โดเมนภาพยนตร์
  • /medicine - โดเมนยา

รหัสของโดเมนจะมีลักษณะคล้ายกับเส้นทางของไฟล์หรือเส้นทางในที่อยู่เว็บ

แต่ละประเภทจะได้รับรหัส และรหัสแต่ละประเภทนั้นจะขึ้นอยู่กับโดเมนที่เป็นเจ้าของแต่ละประเภท ตัวอย่างเช่น ประเภทบริษัทอยู่ในโดเมนธุรกิจและได้รับรหัส /business/company ต่อไปนี้เป็นตัวอย่างอื่นๆ

  • /music/album คือรหัสของประเภทอัลบั้ม (เพลง) ซึ่งอยู่ในโดเมนเพลง
  • /film/actor - ประเภทผู้ดําเนินการในโดเมนภาพยนตร์
  • /medicine/disease - ประเภทของโรคในโดเมนยา

เช่นเดียวกับประเภทที่พร็อพเพอร์ตี้รับช่วงจุดเริ่มต้นของรหัสจากโดเมนของพร็อพเพอร์ตี้ พร็อพเพอร์ตี้จะรับช่วงต่อจากรหัสของประเภทจากชนิดของพร็อพเพอร์ตี้ด้วย ตัวอย่างเช่น พร็อพเพอร์ตี้ประเภทอุตสาหกรรมของบริษัท (ใช้สําหรับระบุว่าบริษัทอยู่ในอุตสาหกรรมใด) จะได้รับรหัส /business/company/industry ต่อไปนี้เป็นตัวอย่างอื่นๆ

  • /automotive/engine/horsepower คือรหัสของคุณสมบัติแรงม้าของประเภทเครื่องยนต์ (ยานยนต์)
  • /astronomy/star/planet_s คือรหัสของพร็อพเพอร์ตี้ดาวเคราะห์ประเภทดาว (ใช้สําหรับแสดงดาวเคราะห์รอบดาว)
  • /language/human_language/writing_system เป็นรหัสของคุณสมบัติระบบการเขียนของประเภทภาษามนุษย์

ดังนั้นแม้ว่าจะไม่มีการจัดเรียงประเภทเป็นลําดับชั้นใน Freebase แต่โดเมน ประเภท และคุณสมบัติจะได้รับรหัสที่มีแนวคิดในลําดับชั้นคล้ายไดเรกทอรีไฟล์

ประเภทค่าแบบผสม

ประเภทค่าผสมคือประเภทภายใน Freebase ที่ใช้เพื่อแทนข้อมูลที่แต่ละรายการประกอบด้วยช่องข้อมูลหลายช่อง ใช้ประเภทค่าผสมหรือ CVT ใน Freebase เพื่อแสดงถึงข้อมูลที่ซับซ้อน อาจสร้างความสับสนได้เล็กน้อยในตอนแรก แต่ CVT คือส่วนสําคัญอย่างยิ่งของสคีมา Freebase และอนุญาตให้สร้างแบบจําลองความสัมพันธ์ที่ซับซ้อนระหว่างหัวข้อต่างๆ ได้อย่างแม่นยํามากขึ้น

ลองนึกถึงตัวอย่างต่อไปนี้: ประชากรของเมืองมีการเปลี่ยนแปลงเมื่อเวลาผ่านไป ซึ่งหมายความว่า เมื่อใดก็ตามที่คุณค้นหา Freebase เกี่ยวกับจํานวนประชากร อย่างน้อยคุณต้องถามประชากร ณ วันที่หนึ่งๆ โดยมีค่า 2 ค่า ได้แก่ จํานวนผู้ใช้ และวันที่ ต่อไปนี้คือสถานการณ์ที่ CVT จะมีประโยชน์อย่างมาก หากไม่มีโมเดลนี้ในการสร้างแบบจําลองข้อมูลประชากร คุณจะต้องสร้างหัวข้อขึ้นมาและตั้งชื่อเป็น "ประชากรของแวนคูเวอร์ในปี 1997" และส่งข้อมูลไปไว้ที่นั่น

CVT อาจหมายถึงหัวข้อที่คุณไม่ต้องการให้ตั้งชื่อตามที่แสดง CVT เช่นเดียวกับหัวข้อปกติมี GUID ที่สามารถอ้างอิงได้อย่างอิสระ แต่ไคลเอ็นต์ Freebase จะปฏิบัติต่อไคลเอ็นต์เหล่านี้แตกต่างจากหัวข้ออย่างมาก ในกรณีส่วนใหญ่ ทุกพร็อพเพอร์ตี้ของ CVT ควรเป็นพร็อพเพอร์ตี้ที่ชัดเจน

หัวข้อ MID

แม้ว่าหัวข้อ/รหัสรหัสคีย์/เนมสเปซอาจระบุไม่ได้ แต่ระบบก็ยังระบุด้วย MID ได้ ซึ่งเป็นตัวระบุเครื่อง ซึ่งมี /m/ ตามด้วยตัวระบุฐาน 32 ที่ไม่ซ้ํากัน ระบบจะกําหนด MID ให้กับหัวข้อต่างๆ ในเวลาที่สร้าง และจะจัดการตลอดอายุของหัวข้อ บทบาทนี้จะมีบทบาทสําคัญเมื่อมีการรวมหรือแบ่งหัวข้อ ซึ่งจะทําให้แอปพลิเคชันภายนอกสามารถติดตามหัวข้อเชิงตรรกะได้แม้ว่าข้อมูลประจําตัว Freebase (GUID ของหัวข้อ) อาจเปลี่ยนแปลงได้ รหัสที่คอมพิวเตอร์สร้างขึ้นแตกต่างจากรหัส Freebase อื่นๆ ที่มนุษย์อ่านได้ (แสดงผลโดยพร็อพเพอร์ตี้ "id") ที่เป็นรหัสดังนี้

  • รับประกันว่ามีอยู่จริง
  • สร้างด้วยเครื่อง
  • ออกแบบมาเพื่อรองรับการเปรียบเทียบแบบออฟไลน์
  • ไม่ได้ออกแบบมาเพื่อถ่ายทอดความหมายที่มีต่อมนุษย์
  • สั้น (มีความยาวคงที่)
  • เหมาะสําหรับการแลกเปลี่ยนคีย์ระหว่างระบบภายนอกและคอมโพเนนต์อย่างรวดเร็ว (ภายนอกและ Exchange)

MID คือตัวระบุที่แนะนําในการจัดการหัวข้อใน Freebase

เนมสเปซ คีย์ และรหัสหัวข้อ

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

จากตัวอย่างที่เจาะจงมากขึ้น /business คือเนมสเปซที่สอดคล้องกับโดเมนธุรกิจ ภายในธุรกิจ ประเภทที่เกี่ยวข้องกับธุรกิจจะได้รับคีย์ (เช่น company) ไม่ซ้ํา รหัสแต่ละประเภทจะถูกสร้างขึ้นโดยการเพิ่มคีย์ของรหัสต่อท้ายรหัสของเนมสเปซ (เช่น /business/company)

มีเนมสเปซหลายประเภทที่อยู่ข้างเนมสเปซที่สอดคล้องกับโดเมนและประเภท เนมสเปซที่สําคัญที่สุดและที่พบมากที่สุดคือเนมสเปซ /en นี่คือเนมสเปซภาษาอังกฤษที่มีการระบุหัวข้อที่รู้จักมากที่สุดให้เป็นรหัสภาษาอังกฤษ ตัวอย่างเช่น Bob Dylan ที่มีผลงานมากมายเป็นที่รู้จักกันดีว่าหัวข้อใน Freebase ได้รับคีย์ bob_dylan ในเนมสเปซ /en และรหัสของหัวข้อคือ /en/bob_dylan รหัสนี้ช่วยให้คุณเข้าถึงหัวข้อของเขาในไคลเอ็นต์เว็บโดยใช้ URL แบบง่าย

ข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้

แนวคิดพื้นฐานสุดท้ายที่จะอภิปรายเกี่ยวข้องกับความแตกต่างที่สําคัญระหว่างคุณสมบัติของ Freebase กับความคล้ายคลึงในเทคโนโลยีฐานข้อมูลเชิงสัมพันธ์ กล่าวคือ คอลัมน์ตารางเชิงสัมพันธ์ สําหรับแต่ละแถว คอลัมน์ตารางเชิงสัมพันธ์จะเก็บค่าได้ค่าเดียวเท่านั้น ตัวอย่างเช่น ลองพิจารณาตารางเชิงสัมพันธ์ "หนังสือ" โดยทั่วไปที่มีคอลัมน์ชื่อ "ผู้แต่ง" สําหรับแต่ละแถวในตาราง "book" คอลัมน์ "author" จะเก็บคีย์นอกได้เพียง 1 คีย์เท่านั้นในตาราง "author" หากหนังสือมีผู้เขียนหลายคน การออกแบบสคีมาแบบง่ายๆ นี้ก็จะไม่ทํางาน และเราอาจต้องสร้างตารางใหม่เพื่อจําลองแบบนักเขียน กล่าวคือ เราต้องมีตาราง "หนังสือ", ตาราง "ผู้แต่ง" 1 ตาราง และตาราง "นักเขียน" 1 ตารางเพื่อจัดเก็บความสัมพันธ์ระหว่าง n กับ n ระหว่างหนังสือกับผู้แต่ง และวิธีดึงข้อมูลก็มีการเปลี่ยนแปลงอย่างสิ้นเชิงเมื่อเปลี่ยนไปใช้สคีมาอีกแบบ

ตรงข้ามกับเทคโนโลยีฐานข้อมูลทั่วไป Freebase ถือว่าพร็อพเพอร์ตี้ที่มีหลายค่าเป็นที่ต้องการอย่างมากในการสร้างรูปแบบข้อมูลในชีวิตจริง ซึ่งรองรับพร็อพเพอร์ตี้แบบหลายค่าโดยค่าเริ่มต้น กล่าวคือ เมื่อมีการสร้างพร็อพเพอร์ตี้ /book/written_work/author ระบบจะถือว่าพร็อพเพอร์ตี้ดังกล่าวอนุญาตให้มีผู้เขียนหลายรายต่อหนังสือ 1 รายการ และคุณค้นหาพร็อพเพอร์ตี้หลายค่าและสําหรับพร็อพเพอร์ตี้เดียวได้ในลักษณะเดียวกัน ไม่ต้องกังวลหากคุณต้องเข้าร่วมกับตารางที่สามซึ่งสร้างแบบจําลองความสัมพันธ์ระหว่าง n กับ n

สรุป

  • ประเภทคือที่เก็บแนวคิดของพร็อพเพอร์ตี้ที่เกี่ยวข้องซึ่งจําเป็นในการอธิบายถึงหัวข้อหนึ่งๆ
  • สามารถกําหนดหัวข้อได้อย่างน้อย 1 ประเภท (ประเภทเริ่มต้นคือ /common/topic)
  • เนื่องจากพร็อพเพอร์ตี้ถูกจัดกลุ่มเป็นประเภท ระบบจะจัดกลุ่มประเภทเป็นโดเมน
  • โดเมน ประเภท และพร็อพเพอร์ตี้จะได้รับรหัสในลําดับชั้นเนมสเปซ/คีย์
  • หัวข้อที่รู้จักกันดีทั่วไปจะได้รับรหัสในเนมสเปซ /en ซึ่งเป็นสตริงภาษาอังกฤษที่มนุษย์อ่านได้
  • ระบบระบุหัวข้อที่ไม่ซ้ํากันภายใน Freebase โดยใช้ GUID
  • โดยค่าเริ่มต้น พร็อพเพอร์ตี้จะมีหลายค่า และคุณสามารถค้นหาคุณสมบัติหลายค่าและพร็อพเพอร์ตี้ค่าเดียวได้ในลักษณะเดียวกัน