หากคุณเพิ่งเริ่มใช้ Freebase ส่วนนี้จะครอบคลุมคําศัพท์และแนวคิดพื้นฐานที่จําเป็นในการทําความเข้าใจวิธีการทํางานของ Freebase
- กราฟ
- หัวข้อ
- ประเภทและพร็อพเพอร์ตี้
- โดเมนและรหัส
- ประเภทค่าแบบผสม
- MID หัวข้อ
- เนมสเปซ คีย์ และรหัสหัวข้อ
- ข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้
- สรุป
กราฟ
ข้อมูล Freebase ได้รับการจัดเก็บไว้ในโครงสร้างข้อมูลที่เรียกว่ากราฟ กราฟจะประกอบไปด้วยโหนดที่เชื่อมด้วยเส้นขอบ ใน Freebase โหนดจะถูกกําหนดโดยใช้ /type/object และขอบจะกําหนดโดยใช้ /type/link การจัดเก็บข้อมูลเป็นกราฟช่วยให้ Freebase สามารถข้ามการเชื่อมต่อระหว่างหัวข้อได้อย่างรวดเร็ว และเพิ่มสคีมาใหม่ได้อย่างง่ายดายโดยไม่ต้องเปลี่ยนโครงสร้างของข้อมูล
หัวข้อ
Freebase มีหัวข้อกว่า 39 ล้านหัวข้อเกี่ยวกับสิ่งต่างๆ ที่มีอยู่จริง เช่น ผู้คน สถานที่ และสิ่งต่างๆ เนื่องจากข้อมูล Freebase จะแสดงเป็นกราฟ หัวข้อเหล่านี้จะสอดคล้องกับโหนดในกราฟ อย่างไรก็ตาม ไม่ใช่ทุกโหนดที่เป็นหัวข้อ โปรดดูส่วน CVT สําหรับตัวอย่างโหนดที่ไม่ใช่หัวข้อ
ตัวอย่างประเภทหัวข้อที่พบใน Freebase
- กิจการที่มีหน้าร้านจริง เช่น บ็อบ ดีแลน พิพิธภัณฑ์ลูฟวร์ ดาวเสาร์ เพื่อ
- การสร้างงานศิลปะ/สื่อ เช่น The Dark Knight (ภาพยนตร์), Hotel California (เพลง) เพื่อ
- การจําแนกประเภท เช่น ก๊าซขุนนาง วันที่เริ่มต้น ถึง
- แนวคิดนามธรรม เช่น love ถึง
- โรงเรียนที่มีความคิดหรือการเคลื่อนไหวทางศิลปะ เช่น การแสดงผล
บางหัวข้อโดดเด่นเนื่องจากมีข้อมูลจํานวนมาก (เช่น Wal-Mart) และบางจุดเห็นได้ชัดเจนเพราะลิงก์กับหัวข้ออื่นๆ จํานวนมาก ซึ่งอาจอยู่ในโดเมนข้อมูลที่แตกต่างกัน ตัวอย่างเช่น หัวข้อที่เป็นนามธรรม เช่น ความรัก ความยากจน การเป็นดารา ฯลฯ มักไม่เกี่ยวข้องกับเรื่องอื่นๆ แต่เนื้อหามักปรากฏเป็นหัวข้อหนังสือ เรื่องบทกวี หัวข้อภาพยนตร์ ฯลฯ ทําให้ดูโดดเด่นมากขึ้น
ประเภทและคุณสมบัติ
คุณจะเห็นหัวข้อต่างๆ ได้จากหลายมุมมอง เช่น
- Bob Dylan เป็นนักเขียนเพลง นักร้อง นักแสดง ผู้แต่งหนังสือ และนักแสดงภาพยนตร์
- Leonardo da Vinci เป็นจิตรกร ประติมากร นักกายวิภาคศาสตร์ สถาปนิก วิศวกร...
- ความรักคือหัวข้อหนังสือ เรื่องภาพยนตร์ เรื่องที่เล่น บทกวี ...
- เมืองคือตําแหน่ง อาจเป็นสถานที่ท่องเที่ยว และนายจ้างของข้าราชการ
เพื่อให้เข้าใจหัวข้ออันหลากหลายที่มีแง่มุมต่างๆ เหล่านี้ เราจึงขอแนะนําแนวคิดเกี่ยวกับประเภทใน Freebase หัวข้อใน Freebase สามารถกําหนดประเภทให้กับหัวข้อกี่หัวข้อก็ได้ หัวข้อเกี่ยวกับบ็อบ ดีแลนมีการมอบหมายหลายประเภท ได้แก่ ประเภทผู้แต่งเพลง ประเภทผู้แต่งเพลง ประเภทศิลปิน (นักร้อง) ประเภทผู้แต่งหนังสือ และแต่ละประเภทจะมีชุดพร็อพเพอร์ตี้ที่แตกต่างกันหลายประเภท ตัวอย่างเช่น
- ประเภทศิลปินเพลงประกอบด้วยพร็อพเพอร์ตี้ที่แสดงอัลบั้มทั้งหมดที่บ็อบ ดีแลนได้ผลิตไว้ รวมถึงเครื่องดนตรีทั้งหมดที่เขาเล่นต่อไป
- ประเภทผู้แต่งหนังสือมีพร็อพเพอร์ตี้แสดงหนังสือทั้งหมดที่บ็อบ ดีแลนได้เขียนหรือเขียน เช่นเดียวกับโรงเรียนเขียนความคิดหรือการเคลื่อนไหวของเขา
- ประเภทของบริษัทประกอบด้วยที่พักจํานวนมากสําหรับแสดงรายการผู้ก่อตั้งบริษัท สมาชิกคณะกรรมการ บริษัทแม่ แผนก พนักงาน ผลิตภัณฑ์ รายได้และกําไรเทียบกับปีต่อปี
ดังนั้น แนวคิดประเภทหนึ่งจึงอาจเปรียบเสมือนคอนเทนเนอร์เชิงแนวคิดของพร็อพเพอร์ตี้ต่างๆ ที่มักจําเป็นในการอธิบายมุมมองของข้อมูลที่เฉพาะเจาะจง (คุณอาจมองว่าประเภทหนึ่งๆ คล้ายกับตารางเชิงสัมพันธ์ และตาราง "ประเภท" แต่ละตารางจะมีคีย์ต่างประเทศอยู่ในตาราง "ข้อมูลประจําตัว" เพียง 1 ตารางที่กําหนดแต่ละหัวข้อแตกต่างกัน)
โดเมนและรหัส
ระบบจะจัดกลุ่มประเภทไว้ในโดเมนเช่นเดียวกับพร็อพเพอร์ตี้ ให้คิดว่าโดเมนเป็นส่วนในหนังสือพิมพ์เล่มโปรดของคุณ: ธุรกิจ ไลฟ์สไตล์ ศิลปะและความบันเทิง การเมือง เศรษฐศาสตร์ ฯลฯ แต่ละโดเมนจะได้รับรหัส (ตัวระบุ) เช่น
รหัสของโดเมนจะมีลักษณะคล้ายกับเส้นทางของไฟล์หรือเส้นทางในที่อยู่เว็บ
แต่ละประเภทจะได้รับรหัส และรหัสแต่ละประเภทนั้นจะขึ้นอยู่กับโดเมนที่เป็นเจ้าของแต่ละประเภท ตัวอย่างเช่น ประเภทบริษัทอยู่ในโดเมนธุรกิจและได้รับรหัส /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
- โดยค่าเริ่มต้น พร็อพเพอร์ตี้จะมีหลายค่า และคุณสามารถค้นหาคุณสมบัติหลายค่าและพร็อพเพอร์ตี้ค่าเดียวได้ในลักษณะเดียวกัน