470 likes | 735 Views
Ресурси, данни и схеми Модел RDF. RDF (Resource Description Framework ). Сценарии1 Библиотека Търсеща система по автор, заглавие, тема и т.н. Списъкът съдържа цялата информация за литературния източник и местоположението му. Сценарий2 Видеотека
E N D
RDF (Resource Description Framework) • Сценарии1 Библиотека • Търсеща система по автор, заглавие, тема и т.н. Списъкът съдържа цялата информация за литературния източник и местоположението му. • Сценарий2 Видеотека • Подобна търсеща система, но по други свойства (режисьор, артисти и т.н.) • Какво е общото и различното? • Тези системи се базират на мета данни, т.е. информация за информацията.Необходимо е да се получи някаква информация (местоположение на книга или име на видеофилм). • Различните програмни системи дефинират собствени системи от мета данни и собствени средства за съхраняване и обработка. Обикновено не предлагат средства за обмен.
RDF (Resource Description Framework) • Web може да се разглежда като една голяма библиотека и е достатъчен URLза да се получи информацията. • Търсенето в Yahoo е на базата на генерирани категории и адреси на сайтове. • Операциите с мета данни имат много общо, дори и при различни мета данни. RDFе начин да се определят общите нишки и да се осигури начина за Web архитектите да ги използват за осигуряване на Web мета данни.
RDF (Resource Description Framework) • RDF модел • Език за описание на ресурси • Използва мета-данни (данни за данните) за описание на Web ресурсите • Осигурява взаимодействие между приложенията, които обменят машинно-разбираема информация чрез Web • Използва XML като синтаксис • Области на приложение • Откриване на ресурси – по-добри търсещи възможности • Каталогизиране – описва съдържание и връзки между съдържанието (web страници) • Интелигентни софтуерни агенти – обмен на знания • Колекции на страници • Права за собственост • Електронен подпис
RDF (Resource Description Framework) • Основен RDF модел • Три обектни типа: • Ресурси (Resource) – нещата, описвани от RDF изрази. Именоват севинаги чрез URI. • HTML документ • Специфичен XML елемент в документния източник. • Колекция от страници • Книга • Свойство (Property) – специфичен аспект, характеристика, атрибут или отношение, използвано за описание на ресурса • Създател • Заглавие • Име
RDF (Resource Description Framework) • Основен RDF модел • Три обектни типа: • Изречения (Statements) – състои от комбинацията Resource, Property, Value. Тези части са:'subject', 'predicate' и'object'наStatement. Стойността (value)може да бъде низ или друг ресурс. Resource (Subject) +Property (Predicate) +Property Value (Object)
RDF (Resource Description Framework) • Пример за изречение (Statement) (1) • John Punin е създател на web страница http://www.cs.rpi.edu/~puninj/XMLJ/ • Subject (Resource) - http://www.cs.rpi.edu/~puninj/XMLJ/ • Predicate (Property) - Creator • Object (Literal) - John Punin
RDF (Resource Description Framework) • Пример за изречение (Statement) (2) • John Punin, чиито e-mail е puninj@cs.rpi.edu е създател на web страница http://www.cs.rpi.edu/~puninj/XMLJ
RDF (Resource Description Framework) • Основен синтаксис • Коренен елемент на RDF и пространство на имена: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> . . . . . . </rdf:RDF>
RDF (Resource Description Framework) • RDF елемент за описание (Description Element) • Атрибути • about – отнася се заURIна съществуващ ресурс • ID – означава създаване на нов ресурс <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Descriptionabout="http://www.cs.rpi.edu/~puninj/XMLJ/"> . . . . . . </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • RDF елементи за свойства (Property Elements) • Имената на свойствата трябва да се асоциират със схема. • Определи имената на свойството с префикс за пространство на имена • Създаване на елемент за свойство: <PropertyName> Value </PropertyName> • Стойност (Value) – Описание на елемент или стринг <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator>John Punin</dc:creator> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Описание на няколко свойства • Описание на: създател (creator), заглавие (title) и дата (date) на ресурса http://www.cs.rpi.edu/~puninj/XMLJ/ <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator>John Punin</dc:creator> <dc:title>Programming XML in Java</dc:title> <dc:date>2001-04-10</dc:date> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Има прост метод за изразяване на тези абстрактни свойства в XML: • Примерно изречение: "The Author of http://www.textuality.com/RDF/Why.html is Tim Bray." Resource <rdf:Description about='http://www.textuality.com/RDF/Why-RDF.html'> <Author>Tim Bray</Author> <Home-Page rdf:resource='http://www.textuality.com' /> </rdf:Description> Property Value
RDF (Resource Description Framework) • Описание на повече от един ресурса • Използвай няколко елемента за описание <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator>John Punin</dc:creator> <dc:title>Programming XML in Java</dc:title> <dc:date>2001-04-10</dc:date> </rdf:Description> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XGMML/"> <dc:creator>John Punin</dc:creator> <dc:title>Extensible Graph Markup and Modeling Language</dc:title> <dc:date>2001-04-04</dc:date> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Вложени ресурси • Стойностите на свойствата са описания на елементи <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc=http://purl.org/dc/elements/1.1/ xmlns:vcard="http://imc.org/vCard/3.0#"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator> <rdf:Description> <vcard:FN>John Punin</vcard:FN> <vcard:EMAIL>puninj@cs.rpi.edu</vcard:EMAIL> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> Описание на елемент – стойност на свойство
RDF (Resource Description Framework) • Обръщане към ресурси чрез указване • Създаване на свойство на елемент : <PropertyName> Value </PropertyName> или<PropertyName rdf:resource="URI" /> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vcard="http://imc.org/vCard/3.0#"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator rdf:resource="http://www.cs.rpi.edu/students/puninj"/> </rdf:Description> <rdf:Description about="http://www.cs.rpi.edu/students/puninj"> <vcard:FN>John Punin</vcard:FN> <vcard:EMAIL>puninj@cs.rpi.edu</vcard:EMAIL> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Използване на XML в свойства на елементите • Установи атрибута“parseType” в “Literal” <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns=http://www.w3.org/1998/Math/MathML xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/TR/tr01/"> <dc:titlerdf:parseType="Literal"> Solving <mrow> <mrow><msup><mi>x</mi><mn>2</mn></msup> <mo>+</mo><mn>1</mn></mrow> <mo>=</mo><mn>0</mn> </mrow> </dc:title> <dc:date>2020-01-30</dc:date> </rdf:Description> <rdf:RDF> XML използван в свойство
RDF (Resource Description Framework) • Използване на съкратен RDF синтаксис • Свойства на елементи преобразувани в атрибути <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator>John Punin</dc:creator> <dc:title>Programming XML in Java</dc:title> <dc:date>2001-04-10</dc:date> </rdf:Description> </rdf:RDF> 3 свойства преобразувани в 3 атрибута <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/" dc:creator="John Punin"dc:title="Programming XML in Java" dc:date="2001-04-10"/> </rdf:RDF>
RDF (Resource Description Framework) • Използване на съкратен RDF синтаксис • Вложеното описание на елемент и неговите свойства се описват като атрибути на елемента “creator” <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc=http://purl.org/dc/elements/1.1/ xmlns:vcard="http://imc.org/vCard/3.0#"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator> <rdf:Description about="http://www.cs.rpi.edu/students/puninj"> <vcard:FN>John Punin</vcard:FN> <vcard:EMAIL>puninj@cs.rpi.edu</vcard:EMAIL> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> Първоначален запис
RDF (Resource Description Framework) • Използване на съкратен RDF синтаксис • Вложеното описание на елемент и неговите свойства се описват като атрибути на елемента “creator” <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc=http://purl.org/dc/elements/1.1/ xmlns:vcard="http://imc.org/vCard/3.0#"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creatorrdf:resource="http://www.cs.rpi.edu/students/puninj" vcard:FN="John Punin" vcard:EMAIL="puninj@cs.rpi.edu"/> </rdf:Description> </rdf:RDF> Съкратен запис чрез атрибути на creator
RDF (Resource Description Framework) • Използване на съкратен RDF синтаксис • Нов факт: http://www.cs.rpi.edu/~puninj/XMLJ/е екземпляр на WebPage • Елемент rdf:typeго добавя • Стойността на rdf:typeможе да се използва директно като име на елемент <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <rdf:type rdf:resource="http://www.schemas.org/www/Webpage"/> <dc:creator>John Punin</dc:creator> <dc:title>Programming XML in Java</dc:title> <dc:date>2001-04-10</dc:date> </rdf:Description> </rdf:RDF> Първоначален запис
RDF (Resource Description Framework) • Използване на съкратен RDF синтаксис • Нов факт: http://www.cs.rpi.edu/~puninj/XMLJ/е екземпляр на WebPage <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc=http://purl.org/dc/elements/1.1/ xmlns:s="http://www.schemas.org/www/"> <s:WebPage about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <dc:creator>John Punin</dc:creator> <dc:title>Programming XML in Java</dc:title> <dc:date>2001-04-10</dc:date> </s:WebPage> </rdf:RDF> Нов запис
RDF (Resource Description Framework) • RDF контейнери • Bag - Неподреден списък от ресурси или литерали • Sequence - Подреден списък от ресурси или литерали • Alternative - Списък от ресурси или литерали, представляващи алтернативи за стойност на свойство
RDF (Resource Description Framework) • Използване на контейнер Bag • Изречение (Statement): Автори на книга 0201000237 са Alfred, John и Jeffrey
RDF (Resource Description Framework) • Използване на контейнер Bag <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="urn:ISBN:0-201-00023-7"> <dc:creator> <rdf:Bag> <rdf:li>Alfred</rdf:li> <rdf:li>John</rdf:li> <rdf:li>Jeffrey</rdf:li> </rdf:Bag> </dc:creator> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Използване на контейнерSequence • Изречение (Statement): Студентите от курс csci-2962 в азбучен ред са: Elizabeth, George и John.
RDF (Resource Description Framework) • Използване на контейнерSequence <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.schemas.org/Course/"> <rdf:Description about="http://www.cs.rpi.edu/courses/csci-2962"> <s:students> <rdf:Seq> <rdf:li rdf:resource="http://www.cs.rpi.edu/students/er"/> <rdf:li rdf:resource="http://www.cs.rpi.edu/students/gl"/> <rdf:li rdf:resource="http://www.cs.rpi.edu/students/js"/> </rdf:Seq> </s:students> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Използване на контейнерAlternative • Изречение (Statement): Форматите на книга 0201000237 сатекст, html и postscript.
RDF (Resource Description Framework) • Използване на контейнерAlternative <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="urn:ISBN:0-201-00023-7"> <dc:format> <rdf:Alt> <rdf:li>text/html</rdf:li> <rdf:li>text/plain</rdf:li> <rdf:li>application/postscript</rdf:li> </rdf:Alt> </dc:format> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Създаване на Изречения (Statements) за контейнери <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.schemas.org/Course/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <s:homeworks> <rdf:Bag ID="pages"> <rdf:li rdf:resource="http://www.cs.rpi.edu/~puninj/XMLJ/hw1.html"> <rdf:li rdf:resource="http://www.cs.rpi.edu/~puninj/XMLJ/hw2.html"> </rdf:Bag> </s:homeworks> </rdf:Description> <rdf:Description about="#pages"> <dc:creator>John Punin</dc:creator> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Създаване на Изречения (Statements) за елементи в контейнери <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s=http://www.schemas.org/Course/ xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="http://www.cs.rpi.edu/~puninj/XMLJ/"> <s:homeworks> <rdf:Bag ID="pages"> <rdf:li rdf:resource="http://www.cs.rpi.edu/~puninj/XMLJ/hw1.html"/> <rdf:li rdf:resource="http://www.cs.rpi.edu/~puninj/XMLJ/hw2.html"/> </rdf:Bag> </s:homeworks> </rdf:Description> <rdf:Description aboutEach="#pages"> <dc:creator>John Punin</dc:creator> </rdf:Description> </rdf:RDF>
RDF (Resource Description Framework) • Изречения за изречения • RDF дефинира следните свойства: • rdf:subject – Описван ресурс • rdf:predicate – Оригинално свойство • rdf:object – Стойността на свойството в изречението • rdf:type - rdf:Statement • Gerard Uffelman каза, че John Punin е създател на web страница http://www.cs.rpi.edu/~puninj/XMLJ/
RDF (Resource Description Framework) • Изречения за изречения
RDF (Resource Description Framework) <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:s="http://www.schemas.org/schema/"> <rdf:Description> <rdf:subject rdf:resource="http://www.cs.rpi.edu/~puninj/XMLJ/"/> <rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/creator"/> <rdf:object>John Punin</rdf:object> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/> <s:attributedTo>Gerard Uffelman</s:attributedTo> </rdf:Description> </rdf:RDF> • Изречения за изречения
RDF (Resource Description Framework) • Отношения, които не са двоични • RDF модела на данни подържа само двоични отношения (между два ресурса) • Решение: използва се междинен ресурс с допълнителни свойства • Изречение: цената на книга 0201000237 е $45.00
RDF (Resource Description Framework) <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.schemas.org/Units/"> <rdf:Description about="urn:ISBN:0-201-00023-7"> <s:price rdf:parseType="Resource"> <rdf:value>45.00</rdf:value> <s:units rdf:resource="http://www.schemas.org/Units/USdollar"/> </s:price> </rdf:Description> </rdf:RDF> • Отношения, които не са двоични Междинен ресурс с две свойства
RDF (Resource Description Framework) • Характеристики наRDF: • Независимост • Тъй като Propertyеresource, то тези свойства могат да бъдат произволно създадени. • Размяна • RDF Statementsможе да се преобразуват в XML и следователно могат да се обменят. • Достъпност • RDF statementsса прости и се състоят се от (Resource, Property, value), така че са лесни за манипулиране.
RDF (Resource Description Framework) • Характеристики наRDF: • Свойствата са ресурси • Свойствата могат да имат собствени свойства и могат да се обработват като ресурси. Това е важно тъй като може да има твърде много свойства за да се обработват едно по едно. Например: дефинирано ли е свойство за описание на вида филм (комедия, трилър,...). Необходими са мета данни за целта. • Стойноститемогат да саресурси • Повечето web страници имат свойство, наречено Home-Page, сочещо към определена страница. Стойностите на свойства, които трябва да включват например (заглавие, име на автор...) трябва да включват ресурси.
RDF (Resource Description Framework) • Характеристики наRDF: • Statementsмогат да бъдатResources • Statementsмогат също така да имат свойства. Необходими са търсения, базирани на чужди мета данни (случаят с Yahoo!). Това означава, че трябва на всяко изречение като например “Предмет на тази страница е кучето” да се даде възможност за въпроси като (“Кой е казал? И кога?”). Един начин да се направи това са мета данните. Т.е. изреченията имат необходимост от свойства.
RDF (Resource Description Framework) Защо не се използва просто XML? • XML позволява създаване на тагове, които могат да съдържат както текст, така и други тагове. XML има вградено различие между типовете елементи, което съответства на различието между “свойства” и “изречения”. XML документите са естествен начин за обмен на мета данни с общо предназначение. • НоXMLе далече от характеристиката “достъпност” поради двата проблема: • Редът на поява на елементите в XML документа е значима и смислова. Това изглежда неестествено за света на мета данните (кое ще се появи най-напред – режисьор или заглавие). Подържането на определен ред за голям обем от данни е трудно и скъпо.
RDF (Resource Description Framework) Защо не се използва просто XML? • XML позволява конструкции като: • При представянето на XML документи в паметта, се получават странни структури, които смесват дървета, графи и низове. Те са трудни за обработка. • Но нещо като XML е необходима част за целите на характеристиката на RDF за размяна. XML е ненадминат като средство за размяна в Web. Но той не осигурява необходимото за рамката на мета данните. <Description>The value of this property contains some text, mixed up with child properties such as its temperature (<Temp>48</Temp>) and longitude (<Longt>101</Longt>). [&Disclaimer;]</Description>