אם זו הפעם הראשונה שאתם משתמשים ב-Freebase, הסעיף הזה עוסק במונחים ובמושגים הבסיסיים הנדרשים כדי להבין איך פועלת התוכנית Freebase.
- תרשימים
- נושאים
- סוגים ומאפיינים
- דומיינים ומזהים
- סוגי ערכים מורכבים
- מודעות MID לפי נושא
- מרחבי שמות, מפתחות ומזהי נושאים
- מידע נוסף על נכסים
- סיכום
גרפים
נתוני Freebase מאוחסנים במבנה נתונים שנקרא graph. תרשים מורכב מצמתים המחוברים באמצעות קצוות. ב-Freebase, הצמתים מוגדרים באמצעות /type/object והקצוות מוגדרים באמצעות /type/link. אחסון הנתונים בתור תרשים מאפשר ל-Freebase לעבור במהירות חיבורים שרירותיים בין נושאים ולהוסיף בקלות סכימה חדשה בלי לשנות את מבנה הנתונים.
נושאים
ל-Freebase יש יותר מ-39 מיליון נושאים על ישויות אמיתיות כמו אנשים, מקומות ודברים. מאחר שנתוני Freebase מיוצגים בתרשים, נושאים אלה תואמים לצמתים שבתרשים. עם זאת, לא כל צומת הוא נושא. עיינו בקטע בנושא CVTs כדוגמה לצמתים שאינם נושאים.
דוגמאות לסוגי הנושאים שזמינים ב-Freebase:
- ישויות פיזיות, למשל בוב דילן, מוזיאון הלובר, כוכב שבתאי, עד
- יצירות אומנות/מדיה, לדוגמה, האוויר האפל (סרט), מלון קליפורניה (שיר), עד
- סיווגים, למשל, גז אצילי, מחווה, אל
- קונספטים מופשטים, כמו אהבה,
- בתי ספר למחשבות או לתנועות אומנותיות, למשל חשיפה.
נושאים מסוימים בולטים כי הם כוללים הרבה נתונים (למשל, Wal-Mart), וחלקם בולטים, כי הם מקשרים לנושאים רבים אחרים, אולי בדומיינים שונים של מידע. לדוגמה, לא משויכים מאפיינים רבים ומופשטים כמו אהבה, עוני, אכזריות וכו', אבל הם מופיעים לעיתים קרובות כנושאי ספרים, כנושא שירה, כנושא סרטים וכד'.
סוגים ומאפיינים
ניתן לראות כל נושא נתון לנקודות מבט רבות ושונות, לדוגמה:
- בוב דילן היה כותב שירים, זמר, מבצע, מחבר ספרים ונגן סרטים.
- לאונרדו דה וינצ'י היה צייר, פסל, אנטומיסט, אדריכל, מהנדס, ...
- אהבה היא נושא הספר, נושא הסרט, נושא המשחק, שירה, ...;
- כל עיר היא מיקום שעשוי להיות יעד תיירותי ומעסיק של משרתים ציבוריים.
כדי להציג את האופי הרב של היבטים רבים, אנחנו מציגים את הקונספט של סוגים ב-Freebase. לנושאים ב-Freebase יכולים להיות מוקצים כל מספר סוגים. בנושא בוב דילן הוקצו כמה סוגים: סוג כותב השירים, סוג מלחין המוזיקה, סוג האומן (זמר), סוג מחבר הספר וכו'. כל סוג מכיל קבוצה שונה של נכסים בגרמניה. לדוגמה,
- סוג האמן המוזיקלי מכיל נכס שבו מפורטים כל האלבומים שהופקו על ידי בוב דילן וכן כל כלי הנגינה שהוא היה יודע להשמיע.
- סוג מחבר הספר מכיל מאפיין שמפרט את כל הספרים שבוב דילן כתב או ערך, כמו גם את בית הספר לכתיבה או המחשבות שלו;
- סוג החברה כולל נכסים רבים שבהם מפורטים מייסדי החברה, חברי הדירקטוריון, חברת האם, החטיבות, העובדים, המוצרים, רשומות ההכנסות והרווחים לפי שנים.
לכן אפשר להתייחס לסוג מסוים כאל מאגר רעיוני של נכסים שבדרך כלל משמש לתיאור היבט מסוים של מידע. (ניתן להתייחס לסוג מסוים כמו לטבלת טבלאות, וכל טבלה מסוג "מפתח" מכילה מפתח זר לטבלה "זהות" אחת שמגדירה כל נושא באופן ייחודי).
דומיינים ומזהים
בדיוק כמו שנכסים מקובצים לסוגים, כך הסוגים עצמם מקובצים בדומיינים. אפשר לחשוב על דומיינים כמדורים בעיתון המועדף עליכם: עסקים, סגנון חיים, אומנות ובידור, פוליטיקה, כלכלה וכו'. לכל דומיין יש מזהה (למשל),
/business
הוא המזהה של הדומיין העסקי/music
– הדומיין של המוזיקה/film
– הדומיין של הסרט/medicine
– הדומיין של 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 לגבי אוכלוסייה, אתם צריכים לפחות באופן לא מפורש לספק אוכלוסייה בתאריך מסוים. שני ערכים מעורבים, מספר אנשים והתאריך. המצב הזה יכול להיות שימושי מאוד מבחינת CVT. בלי מודל כזה, כדי ליצור מודל של נתוני אוכלוסייה, היה עליכם ליצור נושא ולתת לו שם כמו "אוכלוסיית ונקובר בשנת 1997", ולשלוח את המידע שם.
CVT עשוי להיחשב כנושא שלא מחייב אתכם להזין שם לתצוגה. ל-CVT, כמו לנושאים רגילים, יש ממשק GUID שאפשר להפנות אליו בנפרד. עם זאת, לקוח Freebase מטפל בהם באופן שונה מנושאים. ברוב המקרים, כל נכס של CVT צריך להיות נכס ברור.
קובצי MID לפי נושא
אמנם ניתן לזהות נושא מסוים באמצעות מזהי מרחב/מפתחות, אבל תמיד אפשר לזהות אותו באמצעות MID – מזהה מכונה המורכב מ-/m/
ואחריו מזהה ייחודי לפי בסיס 32. מודעות MID מוקצות לנושאים בזמן היצירה, ומנוהלות בכל משך החיים של הנושא. לקובצי ה-cookie יש תפקיד קריטי כשמיזוג או פיצול של הנושאים, ומאפשר לאפליקציות חיצוניות לעקוב אחר הנושא הלוגי למרות שהזהות הפיזית של Freebase (ה-GUID של הנושא) עשויה להשתנות. מזהים שנוצרו על ידי מחשב שונים ממזהי Freebase אחרים שקריאים אנושיים (שמוחזרים על ידי המאפיין "id") בכך שהם:
- מובטח להתקיים
- מיוצר במכונה
- נועדה לתמוך בהשוואה אופליין
- לא נועד להעביר משמעות לבני אדם
- קצר (אולי באורך קבוע)
- אידיאלי להחלפה מהירה של מפתחות בין מערכות חיצוניות ורכיבים (חיצוניים, חילופי נתונים)
קובצי MID הם המזהה המומלץ כדי לטפל בנושאים ב-Freebase
מרחבי שמות, מפתחות ומזהי נושאים
ההיררכיה דמוית ספריית הקבצים של מזהי דומיינים, סוגים ונכסים היא רק אפליקציה אחת מושג כללי יותר: מרחבי שמות ומפתחות. מרחב שמות הוא כמו ספריית קבצים, ומפתח הוא כמו שם קובץ. בדיוק כפי שכל שמות הקבצים בספריית קבצים מסוימת חייבים להיות ייחודיים זה לזה, כל המפתחות במרחב שמות מסוים צריכים להיות ייחודיים זה מזה.
כדוגמה ספציפית יותר, /business
הוא מרחב השמות המתאים לדומיין העסקי. בתוכו, סוגים הקשורים לעסק מקבלים מפתחות (למשל, company
). המזהה של כל סוג נוצר על ידי צירוף המפתח שלו למזהה מרחב השמות (למשל, /business/company
).
יש כמה סוגי מרחבי שמות לצד מרחבי שמות שתואמים לדומיינים ולסוגים. מרחב השמות החשוב והנפוץ ביותר הוא /en
. זהו מרחב השמות האנגלי שבו ניתן להכיר את הנושאים הידועים ביותר בתור מזהים באנגלית. לדוגמה, בוב דילן הפורח ידוע כל כך שהנושא שלו ב-Freebase מקבל את המפתח bob_dylan
במרחב השמות /en
, ולכן מזהה הנושא הוא /en/bob_dylan
. המזהה הזה מאפשר לך לגשת לנושא שלו בלקוח האינטרנט באמצעות כתובת ה-URL הפשוטה
מידע נוסף על נכסים
הקונספט הבסיסי האחרון לדיון כולל הבדל משמעותי בין נכסי Freebase לבין האנלוגיה שלהם בטכנולוגיות של מסדי נתונים רלציוניים, כלומר עמודות בטבלה יחסיות. בכל שורה, עמודה בטבלה יחסית יכולה להכיל רק ערך אחד. לדוגמה, נניח טבלה אופיינית של "ספרים" עם עמודה בשם "מחבר". בכל שורה בטבלה "ספר", בעמודה "מחבר" יכול להיות רק מפתח זר אחד בטבלה "מחבר". אם לספר מסוים יש כמה מחברים, העיצוב הפשוט הזה של הסכימה היחסי לא עובד, ולכן נצטרך ליצור טבלה חדשה כדי לבנות מודל למחברים. כלומר, אנחנו צריכים טבלת "ספרים" אחת, טבלת "מחבר" אחת וטבלת "מחבר" אחת כדי לאחסן את יחסי n-n-n בין ספרים ומחברים. כמו כן, הדרך שבה משחזרים נתונים משתנה באופן קיצוני, כשעוברים מעיצוב סכימה אחד לשני.
בניגוד לטכנולוגיות קונבנציונליות של מסדי נתונים, Freebase נחשב לנכסים רבי-ערכים כרצויים כל כך בעת בניית מודל של נתונים מהחיים האמיתיים, ולכן הוא תומך בנכסים בעלי מספר ערכים כברירת מחדל. כלומר, כשנכס /book/written_work/author
נוצר, ההנחה היא שהוא מאפשר מספר מחברים לכל ספר, וניתן להריץ שאילתה על נכס מרובה ערכים ועל נכס בעל ערך יחיד בדיוק באותו אופן. אין צורך לחשוב אם צריך להצטרף לטבלה שלישית שמדגימה את הקשר בין n ל-n.
סיכום
- סוג הוא מאגר רעיוני של נכסים קשורים הדרושים לעיתים קרובות לתיאור היבט מסוים של נושא.
- אפשר להקצות לנושא סוג אחד או יותר (סוג ברירת המחדל הוא
/common/topic
) - כשנכסים מקובצים לסוגים, הסוגים מקובצים בדומיינים.
- דומיינים, סוגים ונכסים מקבלים מזהים בהיררכיה של מרחב השמות/מפתח המפתחות.
- נושאים נפוצים מוכרים מקבלים מזהים במרחב השמות
/en
, שהם מחרוזות באנגלית שניתנות לקריאה על ידי אנשים. - נושאים מזוהים באופן ייחודי ב-Freebase לפי GUID.
- נכסים הם כמה ערכים כברירת מחדל, ונכסים של כמה ערכים ונכסים של ערך יחיד יכולים להישלח שאילתה באותו אופן.