אם אתם חדשים ב-Freebase, בחלק הזה מוסברים המושגים והמונחים הבסיסיים שנדרשים כדי להבין איך Freebase פועל.
- תרשימים
- נושאים
- סוגים ומאפיינים
- דומיינים ומזהים
- סוגי ערכים מורכבים
- מזהי נושאים
- מרחבי שמות, מפתחות ומספרי נושאים
- מידע נוסף על נכסים
- סיכום
גרפים
הנתונים של Freebase מאוחסנים במבנה נתונים שנקרא גרף. גרף מורכב מצמתים שמחוברים באמצעות קצוות. ב-Freebase, הצמתים מוגדרים באמצעות /type/object והקשתות מוגדרות באמצעות /type/link. אחסון הנתונים כגרף מאפשר ל-Freebase לעבור במהירות בין קשרים שרירותיים בין נושאים ולהוסיף בקלות סכימה חדשה בלי לשנות את מבנה הנתונים.
נושאים
ב-Freebase יש יותר מ-39 מיליון נושאים על ישויות בעולם האמיתי, כמו אנשים, מקומות ודברים. מכיוון שנתוני Freebase מיוצגים בתרשים, הנושאים האלה תואמים לצמתים בתרשים. עם זאת, לא כל צומת הוא נושא. בקטע בנושא CVT מופיעה דוגמה לצמתים שהם לא נושאים.
דוגמאות לסוגי הנושאים שנמצאים ב-Freebase:
- ישויות פיזיות, למשל: Bob Dylan, the Louvre Museum, Saturn planet, to
- יצירות אומנות או מדיה, למשל, The Dark Knight (film), Hotel California (song), to
- סיווגים, למשל גז אציל, ממיתרניים, אל
- מושגים מופשטים, למשל אהבה,
- זרמים מחשבתיים או תנועות אומנותיות, למשל: אימפרסיוניזם.
יש נושאים שחשובים במיוחד כי יש לגביהם הרבה נתונים (למשל, Wal-Mart), וחלקם בולטים כי הם מקשרים לנושאים רבים אחרים, שיכול להיות שהם נמצאים בתחומי מידע שונים. לדוגמה, לנושאים מופשטים כמו אהבה, עוני, אבירות וכו' אין הרבה מאפיינים שמשויכים אליהם, אבל הם מופיעים לעיתים קרובות כנושאים של ספרים, שירה, סרטים וכו', ולכן הם בולטים יותר.
סוגים ומאפיינים
אפשר לראות כל נושא מנקודות מבט שונות. לדוגמה:
- בוב דילן היה כותב שירים, זמר, מבצע, מחבר ספרים ושחקן קולנוע.
- לאונרדו דה וינצ'י היה צייר, פסל, אנטומיסט, אדריכל, מהנדס, ...;
- אהבה היא נושא של ספר, נושא של סרט, נושא של מחזה, נושא של שירה...;
- כל עיר היא מיקום, יכולה להיות יעד תיירותי ומעסיקה עובדי מדינה.
כדי לתעד את האופי הרב-גוני של נושאים רבים, אנחנו מציגים את המושג types ב-Freebase. לנושאים ב-Freebase אפשר להקצות כל מספר של סוגים. לנושא 'בוב דילן' מוקצים כמה סוגים: הסוג 'כותב שירים', הסוג 'מלחין', הסוג 'אומן מוזיקה (זמר)', הסוג 'מחבר ספרים' וכו'. לכל סוג יש קבוצה שונה של מאפיינים שרלוונטיים לסוג הזה. לדוגמה,
- סוג האומן המוזיקלי מכיל מאפיין שמפרט את כל האלבומים שנוצרו על ידי בוב דילן, וגם את כל כלי הנגינה שהוא ידוע בנגינה בהם.
- סוג המחבר של הספר מכיל מאפיין שמפרט את כל הספרים שכתב או ערך בוב דילן, וגם את סגנון הכתיבה או הזרם הספרותי שלו.
- סוג החברה מכיל מאפיינים רבים לרישום המידע על החברה, כמו המייסדים, חברי הדירקטוריון, חברת האם, החטיבות, העובדים, המוצרים, רשומות ההכנסות והרווחים משנה לשנה וכו'.
לכן, אפשר לחשוב על סוג כעל מאגר מושגי של מאפיינים שנדרשים בדרך כלל לתיאור היבט מסוים של מידע. (אפשר לחשוב על סוג כעל טבלה יחסית, ולכל טבלת 'סוג' יש מפתח זר לטבלת 'זהות' אחת שמגדירה באופן ייחודי כל נושא).
דומיינים ומזהים
בדיוק כמו שנכסים מקובצים לסוגים, גם הסוגים עצמם מקובצים לדומיינים. אפשר לחשוב על דומיינים כעל המדורים בעיתון האהוב עליכם: עסקים, סגנון חיים, אמנות ובידור, פוליטיקה, כלכלה וכו'. לכל דומיין מוקצה מזהה, למשל:
-
/business
הוא המזהה של הדומיין העסקי -
/music
– דומיין המוזיקה -
/film
– דומיין הסרטים -
/medicine
– דומיין Medicine
מזהה של דומיין נראה כמו נתיב של קובץ או נתיב בכתובת אינטרנט.
לכל סוג מוקצה גם מזהה, והמזהה מבוסס על הדומיין שאליו הוא שייך. לדוגמה, סוג החברה שייך לדומיין העסקי, והמזהה שלו הוא /business/company
. הנה עוד כמה דוגמאות:
-
/music/album
הוא המזהה של הסוג (Music) Album, ששייך לדומיין Music -
/film/actor
– סוג המשתמש בדומיין Film -
/medicine/disease
– סוג המחלה בתחום הרפואה
בדומה לסוג שירש את תחילת המזהה שלו מהדומיין שלו, גם נכס יורש את תחילת המזהה שלו מהסוג שאליו הוא משתייך. לדוגמה, למאפיין Industry (תחום) מסוג Company (חברה) (שמשמש לציון התחום שאליו שייכת חברה) מוקצה המזהה /business/company/industry
. הנה עוד כמה דוגמאות:
-
/automotive/engine/horsepower
הוא המזהה של מאפיין כוח הסוס של סוג המנוע (רכב) -
/astronomy/star/planet_s
הוא המזהה של מאפיין Planets מסוג Star (משמש לרישום כוכבי לכת שמקיפים כוכב) -
/language/human_language/writing_system
הוא המזהה של מאפיין מערכת הכתב מסוג שפת אנוש
לכן, למרות שסוגים לא מסודרים בהיררכיות ב-Freebase, לדומיינים, לסוגים ולמאפיינים מוקצים מזהים שמסודרים באופן מושגי בהיררכיה כמו בספריית קבצים.
סוגי ערכים מורכבים
סוג ערך מורכב הוא סוג בתוך Freebase שמשמש לייצוג נתונים שבהם כל רשומה מורכבת מכמה שדות. סוגי ערכים מורכבים (CVT) משמשים ב-Freebase לייצוג נתונים מורכבים. יכול להיות שזה קצת מבלבל בהתחלה, אבל CVT הם חלק חשוב מאוד בסכימת Freebase, והם מאפשרים למערכת ליצור מודלים מדויקים יותר של קשרים מורכבים בין נושאים.
דוגמה: אוכלוסיית העיר היא נתון שמשתנה עם הזמן. כלומר, בכל פעם שאתם שולחים שאילתה ל-Freebase לגבי אוכלוסייה, אתם מבקשים באופן מרומז לפחות את גודל האוכלוסייה בתאריך מסוים. יש שני ערכים: מספר האנשים והתאריך. הנה דוגמה למצב שבו כלי CVT יכול להיות שימושי במיוחד. בלי נושא כזה, כדי ליצור מודל של נתוני אוכלוסייה, תצטרכו ליצור נושא ולקרוא לו למשל "אוכלוסיית ונקובר בשנת 1997", ולשלוח את המידע לשם.
אפשר לחשוב על נושא CVT כנושא שלא צריך להזין לו שם לתצוגה. לנושאים מותאמים אישית יש GUID, כמו לנושאים רגילים, שאפשר להתייחס אליו באופן עצמאי. עם זאת, לקוח Freebase מתייחס אליהם בצורה שונה מאוד מאשר לנושאים. ברוב המקרים, כל מאפיין של CVT צריך להיות מאפיין להסרת דו-משמעות.
מזהי נושאים
יכול להיות שאפשר או אי אפשר לזהות נושא לפי מזהי מרחב שמות או מזהי מפתח, אבל תמיד אפשר לזהות אותו באמצעות MID – מזהה מכונה, שכולל /m/
ואחריו מזהה ייחודי בבסיס 32. מזהי MID מוקצים לנושאים בזמן היצירה שלהם, והם מנוהלים לאורך מחזור החיים של הנושא. הם ממלאים תפקיד חשוב כשנושאים משולבים או מפוצלים, ומאפשרים לאפליקציות חיצוניות לעקוב אחרי הנושא הלוגי גם אם הזהות הפיזית של Freebase (ה-GUID של הנושא) משתנה. מזהים שנוצרו על ידי מכונה שונים ממזהים אחרים של Freebase שניתנים לקריאה על ידי בני אדם (מוחזרים על ידי המאפיין id) בכך שהם:
- המקום דווח כקיים
- נוצר על ידי מכונה
- מיועד לתמיכה בהשוואה אופליין
- לא מיועד להעברת משמעות לבני אדם
- קצר (יכול להיות באורך קבוע)
- אידיאלי להחלפה מהירה של מפתחות בין מערכות ורכיבים חיצוניים (חיצוני, החלפה)
מומלץ להשתמש במזהים של מכונות כדי להתייחס לנושאים ב-Freebase
מרחבי שמות, מפתחות ומזהי נושאים
ההיררכיה של מזהי הדומיין, הסוג והנכס, שדומה לספרייה של קבצים, היא רק יישום אחד של מושג כללי יותר: מרחבי שמות ומפתחות. מרחב שמות הוא כמו ספריית קבצים, ומפתח הוא כמו שם קובץ. בדיוק כמו שכל שמות הקבצים בספריית קבצים מסוימת צריכים להיות ייחודיים, גם כל המפתחות במרחב שמות מסוים צריכים להיות ייחודיים.
דוגמה ספציפית יותר: /business
הוא מרחב השמות שמתאים לדומיין העסקי. בתוך המערך, לסוגים שקשורים לעסק מוקצים מפתחות (לדוגמה, company
) שהם ייחודיים. המזהה של כל סוג נוצר על ידי הוספת המפתח שלו למזהה של מרחב השמות (למשל, /business/company
).
יש כמה סוגים של מרחבי שמות, בנוסף למרחבי שמות שתואמים לדומיינים ולסוגים. מרחב השמות /en
הוא החשוב ביותר והנפוץ ביותר. זהו מרחב השמות באנגלית שבו אפשר לתת מפתחות ייחודיים לרוב הנושאים המוכרים, כדי ליצור מזהים באנגלית שקריאים לבני אדם. לדוגמה, בוב דילן הוא אמן מוכר מאוד, ולכן הנושא שלו ב-Freebase קיבל את המפתח bob_dylan
במרחב השמות /en
, והמזהה של הנושא הוא /en/bob_dylan
. המזהה הזה מאפשר לכם לגשת לנושא שלו בלקוח האינטרנט באמצעות כתובת ה-URL הפשוטה
מידע נוסף על נכסים
המושג הבסיסי האחרון שצריך לדון בו קשור להבדל משמעותי בין מאפייני Freebase לבין האנלוגיה שלהם בטכנולוגיות של מסדי נתונים רלציוניים, כלומר עמודות בטבלה רלציונית. בכל שורה, עמודה של טבלה יחסית יכולה להכיל רק ערך אחד. לדוגמה, נניח שיש טבלה רלציונית טיפוסית של 'ספר' עם עמודה בשם 'מחבר'. בכל שורה בטבלה book, בעמודה author יכול להיות רק מפתח זר אחד לטבלה author. אם לספר יש כמה מחברים, עיצוב סכמת היחסים הפשוטה הזו לא יעבוד, ונצטרך ליצור טבלה חדשה כדי לתאר את המחברים. כלומר, נצטרך טבלה אחת של 'ספרים', טבלה אחת של 'מחברים' וטבלה אחת של 'מחברות' כדי לאחסן את היחסים של n-to-n בין ספרים למחברים. גם הדרך שבה מאחזרים נתונים משתנה באופן משמעותי כשעוברים מסכימת עיצוב אחת לאחרת.
בניגוד לטכנולוגיות מסורתיות של מסדי נתונים, ב-Freebase נחשבות תכונות מרובות ערכים לרצויות כל כך במודלים של נתונים מהחיים האמיתיים, עד שהמערכת תומכת בהן כברירת מחדל. כלומר, כשנכס /book/written_work/author
נוצר, ההנחה הייתה שהוא יאפשר כמה מחברים לכל ספר, ואפשר לשלוח שאילתה לגבי נכס עם כמה ערכים ולגבי נכס עם ערך יחיד בדיוק באותו אופן. אין צורך לחשוב אם צריך להצטרף לשולחן שלישי שמדמה את היחס של n ל-n.
סיכום
- סוג הוא מאגר מושגי של מאפיינים קשורים שנדרשים בדרך כלל כדי לתאר היבט מסוים של נושא.
- אפשר להקצות לנושא סוג אחד או יותר (סוג ברירת המחדל הוא
/common/topic
) - הנכסים מקובצים לפי סוגים, והסוגים מקובצים לפי דומיינים.
- לדומיינים, לסוגים ולמאפיינים מוקצים מזהים בהיררכיה של מרחב שמות/מפתח.
- לנושאים נפוצים וידועים מוקצים מזהים במרחב השמות
/en
, שהם מחרוזות באנגלית שאנשים יכולים לקרוא. - נושאים מזוהים באופן ייחודי ב-Freebase באמצעות מזהי GUID.
- מאפיינים הם רב-ערכיים כברירת מחדל, ואפשר לשלוח שאילתות לגבי מאפיינים רב-ערכיים ומאפיינים חד-ערכיים באותו אופן.