רשת סמנטית 6- הרצאה - Feigenboim Amichai

‫הרצאה ‪ -6‬רשת סמנטית‬
‫‪RDF‬‬
‫‪ – Resource Description Framework‬היא שפה מבוססת ‪ XML ‬לתיאור משאבים כאשר המונח‬
‫משאב הוא בהקשר מאוד רחב‪ .‬ניתן לומר שלרוב המשאב זהו קובץ אלקטרוני אשר זמין דרך כתובת‬
‫‪ .URL‬אחד השימושים הנפוצים של ‪ RDF ‬הוא ליצירת ‪ METADATA ‬אודות יחידות מידע הזמינות‬
‫ברשת לדוגמא קבצים‪.‬‬
‫הסיבה שאנו צריכים את ‪ RDF ‬ולא מסתפקים ב‪ XML ‬היא שאנו לא יכולים לכלול בתוך ה‪ XML ‬את‬
‫שיקולי ההיררכיה שלו – למה אלמנט הוא בתוך אחר‪ ,‬למעשה בקובץ ‪ XML ‬אנו נותנים סמנטיקה רק‬
‫למידע שמאוחסן באמצעותו ולא למבנה ההיררכי עצמו‪ ,‬כמו כן אותו ידע יכול להיות מיוצג ע"י‬
‫היררכיות ‪XML‬יות שונות‪.‬‬
‫טרמינולוגיה‪ :‬מקורות מידע ‪ RESOURCE ‬תכונות‪ PROPERTIES -‬וערכים ‪PROPERTY VALUE‬‬
‫השילוב של ‪ 3‬גורמים אלו נקרא טענה‪STATEMENT -‬‬
‫טרמינולוגיה אלטרנטיבית‪ :‬למקור המידע ‪ SUBJECT‬לתכונות ‪PREDICATE ‬ולערכי התכונות ‪OBJECT‬‬
‫דוגמא ומבנה בסיסי של קובץ ‪RDF‬‬
‫‪<?xml version="1.0" ?> ‬‬
‫‪<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" ‬‬
‫‪xmlns:fgnbmcs="http://www.computing‐services.com"> ‬‬
‫‪<rdf:Description rdf:about="http://www.computing‐services.com"> ‬‬
‫‪ <fgnbmcs:author>Feigenboim Amichai</fgnbmcs:author> ‬‬
‫‪ <fgnbmcs:owner>Computing Services</fgnbmcs:owner> ‬‬
‫‪ <fgnbmcs:email>[email protected]</fgnbmcs:email> ‬‬
‫‪</rdf:Description> ‬‬
‫‪</rdf:RDF> ‬‬
‫האלמנט ‪ Description ‬הינו חובה בתוך השורש ‪ RDF‬ותפקידו לזהות את מקור המידע ‪ ,‬זאת על ידי‬
‫שימוש במאפיין ‪ about‬או ‪ID‬‬
‫•‬
‫בכדי לתקף את תחביר ה‪ RDF ‬שכתבנו נכון נעתיק ונדביק אותו באתר‬
‫‪ http://www.w3.org/RDF/Validator‬‬
‫‪ 1‬‬
‫‪ ‬‬
:‫ אלא גם כגגרף מכוון‬XM
ML ‫רק בצורת‬
‫המידע שבקובץץ לעיל ניתן גם להציג לא ר‬
‫את ה‬
‫רכי התכונות ווהאליפסה זהו הנושא‬
‫כאשר החיצים הם התכונות הרייבועים אלו ער‬
‫ר‬
‫ הטענות‬3 ‫את‬
‫ף של שלשות המייצגות ת‬
‫גם בצורת אוסף‬
‫או ם‬
subjject predicate object
o
http
p://www.com
mputing‐servvices.com autho
or Feigenboim A
F
Amichai http
p://www.com
mputing‐servvices.com owne
er Computing S
C
Services http
p://www.com
mputing‐servvices.com mail
fgnbmcs@gm
f
mail.com ‫יכול להיות גם קיישור למשאב‬
‫ אלא ל‬,‫דווקא ערכים בדידדים‬
‫א‬
‫תוכן התכ ונות איננו חייב להיות‬
•
:(‫בתחביר )לדוגמא‬
‫אחר זאת ע"י שימוש ב‬
<fgn
nbmcs:oldsite rdf:resourcce=" http://w
www.compu
uting‐servicess.com/defauult.htm"/> rdf:parseType=""Literal" :‫פיין‬
‫י יש ללהוסיף המאפ‬XML ‫תוכן‬
‫רך התכונה ת‬
‫כאשר רוצצים לכלול בער‬
•
:‫א‬
‫דוגמא‬
<fgn
nbmcs:prevsitettl rdf:parrseType="Liteeral"><h1> ‫ שירותי‬-‫עמיחי‬
‫פיגנבוים ע‬
‫חשוב‬
‫<מיח‬/h1></ffgnbmcs:prevvsitettl> ‫ פננימי בתוך‬Descriptio
on ‫ זאת ע"י הו ספת קטע‬,nested n
‫ערך תכונה‬
‫ה יכול להיות מקונן‬
•
:‫ דדוגמא‬,‫התכונה‬
<fgn
nbmcs:alsolo
ookat> <rdff:Description
n rdf:about=""http://www
w.dataprog.net"> <fgn
nbmcs:onepeer5years>Mu
unicipality El ections softw
ware</fgnbm
mcs:oneper55years> </rd
df:Description> </fggnbmcs:alsolookat>
2
‫•‬
‫בתוך שורש ‪ RDF ‬יכולים להיות כמה קטעי ‪Description‬‬
‫•‬
‫קביעת תוכן תכונה כמשאב בצורה מפורשת נעשה ע"י הוספת המאפיין‪:‬‬
‫"‪ rdf:parseType="Resource‬זאת ללא צורך בהוספת המאפיינים‪ about :‬או ‪ ID‬כלומר ניתן‬
‫לחסוך את התג ‪ ,Description‬ומשמש לסימון לתכונה חסרת תוכן ‪ ‬‬
‫צמתים כאלו ב‪ RDF ‬מכונים‪bnode, anonymouse node, blank node :‬‬
‫דוגמא‪:‬‬
‫‪<fgnbmcs:graphicdesigner rdf:parseType="Resource"/> ‬‬
‫‪ ‬‬
‫•‬
‫ניתן לתת לתכונה ריקה שם )אחרת מופיע ריבוע ריק( ע"י המאפיין "‪rdf:nodeID="name‬‬
‫הערה‪ :‬שם זה חייב להיות ייחודי בתוך קטע ‪ Description‬כלומר אם יש במסמך ‪RDF ‬כמה‬
‫קטעי ‪ Description ‬אז אותו שם יכול לחזור עצמו בכול קטע‪.‬‬
‫דוגמא‪:‬‬
‫‪<fgnbmcs:reka rdf:nodeID="currently empty"/> ‬‬
‫•‬
‫לא חייבים בכול מקום שכותבים ‪ URL ‬בקובץ ‪ RDF‬לפרט את המסלול המלא‪ ,‬ניתן לתת‬
‫מסלול יחסי אם מוסיפים בשורש את המאפיין ‪xml:base‬‬
‫דוגמא אם היינו מוסיפים‪:‬‬
‫‪<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" ‬‬
‫‐‪xmlns:fgnbmcs=http://www.computing‐services.com xml:base="http://www.computing‬‬
‫‪services.com/"> ‬‬
‫היינו יכולים בתכונה ‪ oldsite‬לכתוב במקום את המסלול המלא רק‪:‬‬
‫>‪<fgnbmcs:oldsite rdf:resource="default.htm"/‬‬
‫הערה‪ :‬מסלול יחסי יכול להיות גם ביחס למסמך ואז עליו להתחיל בסימן הסולמית ‪#‬‬
‫•‬
‫שימוש במאפיין ‪ ID ‬של‪ Description‬במקום המאפיין ‪ :about ‬מאפשר מתן שם לקטע כאשר‬
‫הכתובת נבנית האופן אוטומטי ע"י שרשור ערך ה‪ ID ‬עם כתובת המסמך המכיל אותו אין‬
‫להשתמש ב‪ ID ‬למשאבים ממשיים ‪.‬‬
‫•‬
‫ייצוג מידע מובנה ע"י ‪ rdf:value‬‬
‫דוגמא‪:‬‬
‫‪<fgnbmcs:lastUpdate rdf:parseType="Resource"> ‬‬
‫‪<rdf:value>93</rdf:value> ‬‬
‫‪ 3‬‬
‫‪ ‬‬
<fgnbmcs:lastUpdateUnit>day</fgnbmcs:lastUpdateUnit > </fgnbmcs:lastUpdate> ‫ניתן לקשר למשאבים אשר הינם חיצוניים להקשר הנוכחי או שהינם בד"כ קשורים להגדרת‬
•
‫הסכמה של ההיררכיה הנוכחית‬
: ‫דוגמא‬
<rdf:type rdf:resource="http://www.computing-services.net/elemnt/"/>
‫ באחד‬-"‫ ( ע"י שימוש ב"מיכלים‬LIST OF VALUES ) ‫ניתן לתאר קבוצה של ערכים אפשריים לתכונה‬
‫ המשתמש יכול להכניס‬,‫ אוסף בו אין סדר מוגדר‬-‫ חבילה‬Bag ‐
:‫ הבאים‬ CONTAINERS‫ ה‬3‫מ‬
‫ המשתמש יכול להכניס‬,‫ אוסף בו יש חשיבות לסדר‬-‫ סידרה‬Seq -
‫ערכים כפולים‬
‫ אוסף ממנו ניתן לבחור רק ערך יחיד‬-‫ בחירה‬Alt ‐ ‫ערכים כפולים‬
MEMBERS ‫רכיבי האוספים נקראים‬
:‫דוגמא‬
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" xmlns:fgnbmcs="http://www.computing‐services.com"> <rdf:Description rdf:about="http://www.computing‐services.com/"> <fgnbmcs:aliases> <rdf:Seq> <rdf:li> http://www.computing‐services.com </rdf:li> <rdf:li> http://www.computing‐services.net </rdf:li> <rdf:li> http://www.computing‐services.co.il </rdf:li> </rdf:Seq> </fgnbmcs:aliases> </rdf:Description> </rdf:RDF> :‫דוגמא נוספת‬
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" xmlns:fgnbmcs="http://www.computing‐services.com"> <rdf:Description rdf:about="http://www.computing‐services.com/"> <fgnbmcs:photos> <rdf:Bag> <rdf:li rdf:resource="http://www.computing‐services.com/vsign.png" /> <rdf:li rdf:resource="http://www.computing‐services.net/logo.jpg" /> </rdf:Bag> </fgnbmcs: photos> </rdf:Description> 4
</rdf:RDF> :‫דוגמא של בחירה‬
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" xmlns:fgnbmcs="http://www.computing‐services.com"> <rdf:Description rdf:about="http://www.computing‐services.com/"> <fgnbmcs:email> <rdf:Alt> <rdf:li rdf:resource="[email protected]" /> <rdf:li>[email protected] </rdf:li> </rdf:Alt> </fgnbmcs:email> </rdf:Description> </rdf:RDF> ID‫דוגמת מיכל הכוללת שימוש ב‬
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" xmlns:fgnbmcs="http://www.computing‐services.com"> <rdf:Description rdf:about="http://www.computing‐services.com/"> <fgnbmcs:menu> <rdf:Description rdf:about="#menuoptions"> </rdf:Description> </fgnbmcs:menu> </rdf:Description> <rdf:Seq rdf:ID="menuoptions"> <rdf:li>Intro </rdf:li> <rdf:li>Education </rdf:li> <rdf:li rdf:resource="[email protected]"/> </rdf:Seq> </rdf:RDF> ‫( נחשבת יותר מעודכנת‬LI ‫שיטה אחרת לציין אברי מיכל מכול סוג )במקום‬
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" xmlns:fgnbmcs="http://www.computing‐services.com"> <rdf:Description rdf:about="http://www.computing‐services.com/"> <fgnbmcs:menu> <rdf:Seq> <rdf:_1>Intro </rdf:_1> <rdf:_2>Education </rdf:_2> <rdf:_3 rdf:resource="[email protected]"/> </rdf:Seq> </fgnbmcs:menu> 5
</rdf:Description> </rdf:RDF> ,List-‫ אשר מהווה אוסף סופי של משאבים מעין רשימה‬collection ‫ניתן להגדיר גם אוסף‬
:‫דוגמא‬
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" xmlns:s="http://example.org/students/vocab#"> <rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students rdf:parseType="Collection"> <rdf:Description rdf:about="http://example.org/students/Joe"/> <rdf:Description rdf:about="http://example.org/students/Alice"/> <rdf:Description rdf:about="http://example.org/students/James"/> </s:students> </rdf:Description> </rdf:RDF>
:‫ כמעט אותו גרף ניתן להשיג גם בצורה )הארוכה( הבאה‬-‫הערה לגבי אוסף זה‬
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#" xmlns:s="http://example.org/students/vocab#"> <rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students rdf:nodeID="sch1"/> </rdf:Description> <rdf:Description rdf:nodeID="sch1"> <rdf:first rdf:resource="http://example.org/students/Joe"/> <rdf:rest rdf:nodeID="sch2"/> </rdf:Description> <rdf:Description rdf:nodeID="sch2"> <rdf:first rdf:resource="http://example.org/students/Alice"/> <rdf:rest rdf:nodeID="sch3"/> </rdf:Description> <rdf:Description rdf:nodeID="sch3"> <rdf:first rdf:resource="http://example.org/students/James"/> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22‐rdf‐syntax‐ns#nil"/> 6
</rdf:Description> </rdf:RDF> :1 ‫תרגיל כיתה‬
‫וכן לצייר את הגרף נא אמתו כי‬ RDF ‫מצ"ב קטע אודות פרטי מאמר ברשת נא ליצור עבורו קובץ‬
‫הגרף שציירתם דומה לוגית למה שיצא באתר הולידציה‬
The article on giant squids, titled "Architeuthis Dux". At http://burningbird.net/articles/monsters3.htm, it written by Shelley Powers, explores The giants squid's mythological representation as the legendary Kraken, as well As‐ describing current efforts to capture images of a live specimen. In addition, The article also provides descriptions of a giant squid's physical Characteristics. It is part of a four‐part series, described at http://burningbird.net/articles/monsters.htm and entitled `A Tale of Two Monsters'. :2 ‫תרגיל‬
‫ אשר כוללים את כול סוגי המיכלים והאוספים שהכרנו ודאו כי כול איבריהם הם‬RDF ‫ קבצי‬5 ‫צרו‬
.‫ מיהו היוצא דופן‬,‫ השוו בין הגרפים שנוצרו באתר הוולידציה‬,(‫מאותו סוג )או רק משאבים או רק תוכן‬
:‫תרגיל לבית לא להגשה‬
‫ )בהקשרים משפטיים( נא להבין משמעותן בלעז‬Provenance ‫ ו‬Reification ‫נא לחפש במילון הערכים‬
.‫וכן למצוא תרגום ראוי לעברית להם‬
7