Internet Semantyczny

Podobne dokumenty
Wstęp do Technologii Semantycznych. Idea, język RDF

Wyższa Szkoła Zarządzania i Bankowości w Krakowie

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński

Ogólna charakterystyka kontraktów terminowych

Specyfikacja techniczna banerów Flash

Moduł Pulpit opcji oraz Narzędzia. Opis v 1.0

Wtedy wystarczy wybrać właściwego Taga z listy.

30. Język XML i jego wybrane aplikacje

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Ćwiczenie nr 2 Zbiory rozmyte logika rozmyta Rozmywanie, wnioskowanie, baza reguł, wyostrzanie

Harmonogramowanie projektów Zarządzanie czasem

Logika I. Wykład 2. Działania na zbiorach

Microsoft Management Console

I. LOGICZNE STRUKTURY DRZEWIASTE

DEMERO Automation Systems

INSTRUKCJA Panel administracyjny

KLAUZULE ARBITRAŻOWE

W. Guzicki Zadanie 23 z Informatora Maturalnego poziom rozszerzony 1

Bazy danych. Andrzej Łachwa, UJ, /15

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Warszawska Giełda Towarowa S.A.

Zarządzenie nr 538 Wójta Gminy Zarszyn z dnia 9 czerwca 2014 r.

TYTUŁ ARTYKUŁU (14 PKT)

Systemy mikroprocesorowe - projekt

SCHEMATY STRON. Baner Nawigacja Nawigacja okruszkowa Prawa kolumna zobacz również Boksy Zwykła strona...

PODSTAWY DZIAŁANIA UKŁADÓW CYFROWYCH

INFORMATOR TECHNICZNY WONDERWARE

Umowa o pracę zawarta na czas nieokreślony

rdf:type ex:homepage ex:createdwith /amaya rdf:type ex:htmleditor

KONKURSY MATEMATYCZNE. Treść zadań

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Kilka zasad o których warto trzeba pamiętać

ZASADY REPRODUKCJI SYMBOLI GRAFICZNYCH PRZEDMOWA

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

INSTRUKCJA WebPTB 1.0

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

WYRAŻENIA REGULARNE I JĘZYK AWK

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Konfiguracja programu RMS do współpracy z wagami DIBAL. Programowanie artykułów 3

Procedura instalacji wtyczki WILO-Content LAB

Firma Informatyczna JazzBIT

Zagadnienia transportowe

Warunki Oferty PrOmOcyjnej usługi z ulgą

Transformator Elektroniczny do LED 0W-40W Współpracuje z inteligentnymi ściemniaczami oświetlenia. Instrukcja. Model: TE40W-DIMM-LED-IP64

Rozliczenia z NFZ. Ogólne założenia. Spis treści

DE-WZP JJ.3 Warszawa,

Podstawy Informatyki Gramatyki formalne

PERSON Kraków

2.Prawo zachowania masy

Statystyczna analiza danych w programie STATISTICA. Dariusz Gozdowski. Katedra Doświadczalnictwa i Bioinformatyki Wydział Rolnictwa i Biologii SGGW

SZABLONY KOMUNIKATÓW SPIS TREŚCI

VinCent Office. Moduł Drukarki Fiskalnej

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

ZAPYTANIE OFERTOWE. Nr sprawy 15/2016r.

Regulamin w konkurencjach solowych

Dodano: KALKULATOR BRUTTO-NETTO

EGZAMIN MATURALNY Z MATEMATYKI MAJ 2011 POZIOM ROZSZERZONY. Czas pracy: 180 minut. Liczba punktów do uzyskania: 50 WPISUJE ZDAJĄCY

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S KONTAKTY

p o s t a n a w i a m

Spring MVC Andrzej Klusiewicz 1/18

Jak korzystać z Group Tracks w programie Cubase na przykładzie EWQLSO Platinum (Pro)

Elementy typografii. Technologia Informacyjna Lekcja 22

Generowanie kodów NC w środowisku Autodesk Inventor 2014

Search. (Wyszukiwarka) (Moduł Magento) v.1.0.0

Projekt z dnia 2 listopada 2015 r. z dnia r.

ZP Obsługa bankowa budżetu Miasta Rzeszowa i jednostek organizacyjnych

Wykład 4 Wybrane zagadnienia programowania w C++

art. 488 i n. ustawy z dnia 23 kwietnia 1964 r. Kodeks cywilny (Dz. U. Nr 16, poz. 93 ze zm.),

Geometria Wykreślna Wykład 3

Aby ułatwić współdzielenie oferty noclegowej w różnych obiektach oraz agregatorach ofert i zestandaryzować ten proces

Marcin Skulimowski - RDF

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0, S 2 0,4 0,2 0 0, Ceny x

imapliteapi Dokumentacja Wersja 1.06

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik ochrony fizycznej osób i mienia 515[01]

METODY I TECHNIKI BADAŃ SPOŁECZNYCH WARSZTATY BADANIA SONDAŻOWE WYTYCZNE ETAP I - KONCEPCJA BADAŃ

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

Kurier POCZTEX XL by CTI. Instrukcja

Kalkulator Kalorii by CTI. Instrukcja

Elementy animacji sterowanie manipulatorem

Zarządzenie Nr 1469/2012

Logowanie do systemu Faktura elektroniczna

Archiwum Prac Dyplomowych

Komputer i urządzenia z nim współpracujące

Praca na wielu bazach danych część 2. (Wersja 8.1)

UCHWAŁA Nr XLIII/522/2014 RADY MIEJSKIEJ W BORNEM SULINOWIE z dnia 29 maja 2014 r.

ZAPYTANIE OFERTOWE. MERAWEX Sp. z o.o Gliwice ul. Toruńska 8. ROZWÓJ PRZEDSIĘBIORSTWA MERAWEX Sp. z o.o. POPRZEZ EKSPORT.

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Małopolskie Centrum Przedsiębiorczości Książka znaku

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

REJESTRACJA NA LEKTORATY Z JĘZYKÓW OBCYCH

EGZAMIN MATURALNY Z INFORMATYKI CZERWIEC 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20

Regulamin realizacji projektu edukacyjnego w Gimnazjum w Niechobrzu.

znaczeniu określa się zwykle graficzne kształtowanie tekstu za pomocą dostęp-

Transkrypt:

Internet Semantyczny Składnia RDF i RDFa Wiedza jest grafem Frank van Harmelen, ISWC 2011

Problem z przetwarzaniem informacji Przyczyna Informacja znajdująca się w Internecie jest zrozumiała dla człowieka, ale nie nadaje się do przetwarzania przez maszyny. Jakie rozwiązanie? Zapiszmy informacje w sposób zrozumiały dla maszyn.

Ewolucja Internetu Internet dzisiaj Internet Semantyczny Jorge Cardoso, The Syntactic and the Semantic Web, in Semantic Web Services: Theory, Tools, and Applications, IGI Global, 2007.

Ewolucja Internetu John Hebeler, Matthew Fisher, Ryan Blace, Andrew Perez-Lopez, Semantic Web Programming, Wiley, 2009.

Stos technologii Internetu Semantycznego Zaufanie Dowód Logika OWL, Ontologie Podpis cyfrowy RDF, RDF schema XML, schematy XML przestrzenie nazw URI

Zasoby RDF jest formatem zapisu informacji w Internecie Semantycznym. W języku RDF opisujemy zasoby. Zasobem może być dowolny obiekt znajdujący się w sieci, pojęcie abstrakcyjne, relacja czy obiekt fizyczny. Każdy zasób musi posiadać identyfikator IRI (Internationalized Resource Identifier). W IRI mogą pojawić się znaki z Uniwersalnego Zestawu Znaków (UCS Universal Character Set) określonego przez normę ISO/IEC 10646. IRI jest uogólnieniem URI (tylko znaki ASCII). URL jest ważnym przykładem URI.

Stwierdzenia Zasoby opisujemy za pomocą stwierdzeń (odpowiedniki zdań oznajmujących w języku naturalnym). W skład każdego stwierdzenia wchodzą następujące elementy: podmiot (subject) zasób (np. osoba, miejsce, rzecz) o którym mówi stwierdzenie. orzeczenie (predicate) zasób będący właściwością (np. nazwa, miasto, tytuł, kolor, charakterystyka) podmiotu. obiekt (object) wartość właściwości opisywanej przez orzeczenie. Obiekt może być zasobem lub tzw. literałem czyli ciągiem znaków.

Graficzna reprezentacja stwierdzeń Przykład Twórcą strony http://web.net/ jest Marek Bajon http://web.net http://fg.com/tworca Marek Bajon

Grafy RDF

Grafy RDF

Puste węzły W języku RDF dopuszczalne jest wykorzystywanie zasobów które nie posiadają identyfikatorów URI. Węzeł grafu związany z takim zasobem nazywamy węzłem pustym (ang. blank node). Pojawienie się pustego węzła może oznaczać, że identyfikator URI dla danego zasobu nie istnieje lub jest w danej chwili nieznany. Pusty węzeł może pojawić się na miejscu podmiotu i obiektu. Pusty węzeł ma zwykle przypisany przez walidator lokalny identyfikator.

Grafy RDF pusty węzeł

Grafy RDF

Grafy RDF

Grafy RDF Identyfikator

Grafy RDF Typ literału Grafy RDF pozwalają w wygodny i przejrzysty sposób reprezentować informacje. Przeznaczone są jednak dla ludzi, a nie dla aplikacji.

Serializacja RDF Serializacja RDF to konwersja między modelem abstrakcyjnym jakim są grafy i konkretnym formatem takim jak plik czy inny strumień bajtów. Istnieje kilka formatów serializacji RDF: RDF/XML, Turle, N-Triples, N3

Turtle - zasoby Jest to najprostsza i najbardziej zwięzła serializacja RDF. W porównaniu z innymi serializacjami Turtle jest też najbardziej czytelna dla ludzi. Zasoby Zasoby mogą być zapisane na dwa sposoby: Pełne URI umieszczone są w nawiasach < i >. Przykład Rozszerzenie pliku:.ttl Typ MIME: text/turtle <http://www.semantict.net/data/author>

Turtle - zasoby Aby uniknąć pisania pełnych identyfikatorów URI możemy używać zdefiniowanych wcześniej prefiksów. Otrzymujemy wówczas tzw. qualified name. Nazwa kwalifikowana (qnazwa) składa się z następujących elementów: Przykład prefiks_przestrzeni_nazw:lokalna_nazwa_zasobu Jeżeli prefiks abc związany jest z przestrzenią nazw http://www.semantict.net/data/ wówczas zasób z poprzedniego slajdu możemy zapisać następująco: abc:author

Turtle - zasoby Deklaracja przestrzeni nazw wygląda następująco: Przykład @prefix definiowany_prefiks: URI_przestrzeni_nazw. Deklaracja przestrzeni nazw użytej w poprzednim przykładzie: @prefix abc: http://www.semantict.net/data/.

Turtle - literały Literały (plain literals) W zapisie literałów nie zawierających przejścia do nowej linii wykorzystywany jest cudzysłów: "krotki literal" Jeżeli literał zapisany jest z przejściem do nowej linii wówczas stosujemy potrójny cudzysłów: """dlugi literal """ Do literału może też być dodana informacja o języku postaci: @language * """Warsaw"""@en *http://tools.ietf.org/html/rfc3066

UWAGA: nie można określić jednocześnie i typu danych i języka. Turtle - literały Literały z określonym typem danych (typed literals) Turtle umożliwia zapis typu literału przez dodanie do niego następującego ciągu znaków: ^^<dataype URI> gdzie datatype URI określa typ danych (często są to typy z XML Schema). Przykład "34"^^http://www.w3.org/2001/XMLSchema#int "Warsaw^^http://www.w3.org/rdf-schema#Literal """-12.5e10"""^^xsd:double

Turtle - stwierdzenia Stwierdzenia Podmiot, orzeczenie i obiekt zapisywane są w linii i oddzielone spacją. Stwierdzenie zakończone jest kropką. Przykład @prefix intrordf: <http://rdf.s.net/e#>. @prefix a: <http://xy.ab.net/>. @prefix sem: <http://ab.xy.net/>. sem:p10 intrordf:autor "Marek Nowak". sem:p10 intrordf:tytul "Ontologia". sem:p10 a:seria sem:sweb. sem:sweb intrordf:tytul "Semantic Web".

Turtle - stwierdzenia Przykład Równoważnie z użyciem pełnych identyfikatorów URI: <http://ab.xy.net/p10> <http://rdf.s.net/e#autor> "Marek Nowak". <http://ab.xy.net/p10> <http://rdf.s.net/e#tytul> "Ontologia". <http://ab.xy.net/p10> <http://xy.ab.net/seria> <http://ab.xy.net/sweb>. <http://ab.xy.net/sweb> <http://rdf.s.net/e#tytul> "Semantic Web".

Turtle - stwierdzenia Uproszczenie 1 Użycie średnika oznacza, że następne dwa elementy będą orzeczeniem i obiektem stwierdzenia o takim samym podmiocie jak stwierdzenie wcześniejsze. Przykład sem:p10 intrordf:autor "Marek Nowak". sem:p10 intrordf:tytul "Ontologia". sem:p10 intrordf:autor "Marek Nowak"; intrordf:tytul "Ontologia".

Turtle - stwierdzenia Uproszczenie 2 Użycie przecinka oznacza, że następny element będzie obiektem stwierdzenia o takim samy podmiocie i orzeczeniu jak stwierdzenie wcześniejsze. Przykład sem:p10 intrordf:autor "Marek Nowak". sem:p10 intrordf:autor "Agata Kłos". sem:p10 intrordf:autor "Marek Nowak", "Ontologia".

Turtle - stwierdzenia Uproszczenie 3 Możemy zdefiniować bazową przestrzeń nazw, która będzie wykorzystywana w przypadku zasobów bez określonego prefiksu. @base URI_bazowej_przestrzeni_nazw. Przykład @base <http://a.b.cc/>. @prefix p: <http://x.y.zz/>. :d p:r "Marek Nowak". <http://a.b.cc/d> <http://x.y.zz/r> "Marek Nowak".

Turtle - stwierdzenia Przykład @prefix : <http://a.b.cc/>. @prefix p: <http://x.y.zz/>. :d p:r "Marek Nowak". <http://a.b.cc/d> <http://x.y.zz/r> "Marek Nowak". @base <http://a.b.cc/>. <#ax> <#bx> "Marek Nowak". <http://a.b.cc/#ax> <http://a.b.cc/#bx> "Marek Nowak".

Turtle puste węzły Puste węzły oznaczamy przez _:nazwa. Przykład semt:intrordf intrdf:autor _:aautor. _:aautor intrdf:imie "Marcin". _:aautor intrdf:wiek "34".

Turtle puste węzły Puste węzły można także oznaczyć przez []. Przykład @prefix sem: <http://ab.xy.net/>. [] sem:autor "Marek Nowak". walidator _:bnode1874316544 <http://ab.xy.net/autor> "Marek Nowak".

Turtle puste węzły Puste węzły można także oznaczyć przez []. Przykład @prefix sem: <http://ab.xy.net/>. [sem:autor "Marek Nowak"]. walidator _:bnode1874316544 <http://ab.xy.net/autor> "Marek Nowak".

Turtle puste węzły Puste węzły można także oznaczyć przez []. Przykład Można zapiać inaczej: _:aautor intrdf:imie "Marcin". _:aautor intrdf:wiek "34". [intrdf:imie "Marcin"] intrdf:wiek "34".

Turtle puste węzły Przykład [intrdf:imie "Marcin"] rdfint:autor [intrdf:tytul "Wprowadzenie do RDF"].

RDF źródła Walidatory: Adres: http://www.w3.org/rdf/validator/ Możliwości: tylko RDF/XML, rysowanie grafów Adres: http://www.rdfabout.com/demo/validator/ Możliwości: konwersja między formatami Biblioteki: Adres: http://jena.sourceforge.net/ Nazwa: Jena Semantic Web Framework - Java Adres: http://soprano.sourceforge.net/ Nazwa: Soprano - the Qt/C++ RDF framework Wszystko: http://planetrdf.com/guide/

RDF i HTML Czy stwierdzenia RDF można umieścić w kodzie źródłowym strony HTML?

Maszyna vs człowiek To co widzi maszyna To co widzi człowiek

Co to jest RDFa? Technologia RDFa pozwala na łączenie XHTML i RDF. Do standardowych elementów XHTML mogą być dodane informacje przeznaczone dla maszyn. Dzięki temu zawartość dokumentu XHTML staje się częściowo zrozumiała dla maszyn (machine-readable). Dla maszyn te dodatkowe informacje stwierdzeń RDF. mają postać Stwierdzenia RDF dodawane są do kodu strony za pomocą atrybutów m.in. atrybutów języka XHTML. UWAGA: Atrybuty te można także stosować w języku HTML.

CURIE i SafeCURIE CURIE to kompaktowy identyfikator URI. Identyfikatory CURIE jest rozszerzeniem nazw kwalifikowanych. W przypadku nazwy kwalifikowanej ciąg znaków po dwukropku musi być poprawną nazwą z punktu widzenia języka XML. W przypadku CURI tak być nie musi. Przykład home:#start joseki: google:xforms+or+'xml+forms' SafeCURIE to CURIE w nawiasach [ i ]. [home:#start] [google:xforms+or+'xml+forms']

Atrybuty RDFa W jaki sposób wprowadzamy poszczególne elementy stwierdzeń RDF? XHTML @rel wartość: lista kompaktowych URI, znaczenie: relacja między dwoma zasobami (orzeczenie). @rev - wartość: lista kompaktowych URI, znaczenie: relacja odwrotna między dwoma zasobami (orzeczenie). @content wartość: ciąg znaków (literał). @href wartość: URI (obiekt będący zasobem). @src wartość: URI (obiekt będący zasobem).

Atrybuty RDFa RDFa @about wartość: URI lub SafeCURIE, znaczenie: opisywany zasób (podmiot). @property wartość: lista kompaktowych URI, znaczenie: relacja między zasobem i literałem (orzeczenie). @resource wartość: URI lub SafeCURIE (obiekt). Funkcja podobna do @href, ale bez możliwości klikania.

Atrybuty RDFa Atrybuty i ich rola: podmiot orzeczenie obiekt about* property, rel, rev literał zasób content** resource, src, href * w przypadku użycia rev atrybut określa obiekt. ** obiektem może być także zawartość elementu XHTML. Powyższe atrybuty możemy dodawać do różnych elementów (znaczników). Dodając je należy jednak pamiętać o strukturze stwierdzeń RDF i o roli jaką wartości atrybutów mogą odgrywać (patrz powyższa tabela).

Atrybuty @xmlns pozwala definiować przestrzenie nazw w dokumencie. Przestrzenie nazw mogą być definiowane w elemencie html : <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:cyc="http://www.cyc.com/2003/04/01/cyc/">... </html> albo np. w elemencie div: <div xmlns:foaf="http://xmlns.com/foaf/0.1/">... </div>

Przykład @rel wartość: lista kompaktowych URI, znaczenie: relacja między dwoma zasobami (orzeczenie). <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <head> <title>atrybut rel</title> podmiot <link about="http://www.semwebprogramming.org#matt" rel="foaf:knows" orzeczenie href="http://www.semwebprogramming.org#andrew"/> </head> obiekt </html> Wykorzystane atrybuty: podmiot orzeczenie obiekt about rel href

Przykład Stwierdzenie RDF umieszczone w kodzie strony: <http://www.semwebprogramming.org#matt> <http://xmlns.com/foaf/0.1/knows> <http://www.semwebprogramming.org#andrew>.

Przykład Dodajmy jedno orzeczenie: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <head xmlns:cyc="http://www.cyc.com/2003/04/01/cyc/"> <title>atrybut rel</title> podmiot <link about="http://www.semwebprogramming.org#matt" rel="foaf:knows cyc:likesafriend" orzeczenia href="http://www.semwebprogramming.org#andrew"/> </head> obiekt </html> Wykorzystane atrybuty: podmiot orzeczenie obiekt about rel href

Przykład Stwierdzenia RDF umieszczone w kodzie strony: <http://www.semwebprogramming.org#matt> <http://xmlns.com/foaf/0.1/knows> <http://www.semwebprogramming.org#andrew>. <http://www.semwebprogramming.org#matt> <http://www.cyc.com/2003/04/01/cyc/likesasfriend> <http://www.semwebprogramming.org#andrew>.

Przykład @rev - wartość: lista kompaktowych URI, znaczenie: odwrotna relacja między dwoma zasobami (orzeczenie). <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <head> <title>atrybut rel</title> <link obiekt xmlns:cyc="http://www.cyc.com/2003/04/01/cyc/" about="http://www.semwebprogramming.org#matt" rev="foaf:knows cyc:likesasfriend" orzeczenia href="http://www.semwebprogramming.org#andrew"/> </head> </html> podmiot Wykorzystane atrybuty: podmiot orzeczenie obiekt href rev about

Przykład Stwierdzenia RDF umieszczone w kodzie strony: <http://www.semwebprogramming.org#andrew> <http://www.cyc.com/2003/04/01/cyc/likesasfriend> <http://www.semwebprogramming.org#matt>; <http://xmlns.com/foaf/0.1/knows> <http://www.semwebprogramming.org#matt>. (UWAGA: w przypadku atrybutu @rev kolejność elementów stwierdzenia jest odwrotna niż w przypadku atrybutu @rel zobacz stwierdzenia na slajdzie 46)

Przykład @content wartość: ciąg znaków (literał). <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <head> <title>atrybut content</title> podmiot <link about="http://www.semwebprogramming.org#matt" property="foaf:family_name" orzeczenie content="fisher"/> </head> </html> Wykorzystane atrybuty: obiekt podmiot orzeczenie obiekt about property content

Przykład Stwierdzenie RDF umieszczone w kodzie strony: <http://www.semwebprogramming.org#matt> <http://xmlns.com/foaf/0.1/family_name> "Fisher". To samo stwierdzenie otrzymamy w przypadku: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <head> <title>atrybut content</title> <link about="http://www.semwebprogramming.org#matt" property="foaf:family_name">fisher</link> </head> </html> (obiektem stwierdzenia jest zawartość elementu link, a nie wartość atrybutu content Informatyki Stosowanej, jak w Uniwersytet poprzednim Łódzki przykładzie)

Przykład @src wartość: URI (obiekt będący zasobem). <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <body> obiekt <img src="http://www.semwebprogramming.org/title.png" rev="foaf:depiction" orzeczenie href="http://www.semwebprogramming.org"/> </body> </html> podmiot Wykorzystane atrybuty: podmiot orzeczenie obiekt href rev src

Przykład Stwierdzenie RDF umieszczone w kodzie strony: <http://www.semwebprogramming.org> <http://xmlns.com/foaf/0.1/depiction> <http://www.semwebprogramming.org/title.png>.

Przykład @property - wartość: lista kompaktowych URI, znaczenie: relacja między zasobem i literałem (orzeczenie). <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <body>here s the story of a man named <div about="http://www.semwebprogramming.org#matt" property="foaf:firstname foaf:nick" content="matt"> <div property="foaf:title" content="mr">fisher </div> </div> </body></html> Wykorzystane atrybuty: podmiot orzeczenie obiekt about property content

Przykład Stwierdzenia RDF umieszczone w kodzie strony: @prefix foaf: <http://xmlns.com/foaf/0.1/>. <http://www.semwebprogramming.org#matt> foaf:firstname "Matt"; foaf:nick "Matt"; foaf:title "Mr".

Przykład Modyfikacja <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <body>here s the story of a man named <div about="http://www.semwebprogramming.org#matt" property="foaf:firstname foaf:nick" content="matt"> <div property="foaf:title" content="mr">fisher </div> </div> </body> </html> podmiot orzeczenie obiekt

Przykład Stwierdzenia RDF umieszczone w kodzie strony: @prefix foaf: <http://xmlns.com/foaf/0.1/>. <http://www.semwebprogramming.org#matt> foaf:firstname "Matt"; foaf:nick "Matt"; foaf:title "Fisher".

Przykład @resource wartość: URI lub SafeCURIE (obiekt). Funkcja podobna do @href, ale bez możliwości klikania. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:swp="http://www.semwebprogramming.org#"> <body>here s the story of a man named <div about="http://www.semwebprogramming.org#ryan" rel="foaf:knows" resource="[swp:john]"> <div rel="foaf:knows" resource= "http://www.semwebprogramming.org#matt">matt </div> </div> </body></html> podmiot orzeczenie obiekt

Przykład Tylko to co ważne: Zasób będący obiektem jednego stwierdzenia i podmiotem drugiego. <div about="http://www.semwebprogramming.org#ryan" rel="foaf:knows" resource="[swp:john]"> <div rel="foaf:knows" resource= "http://www.semwebprogramming.org#matt">matt </div> </div> Stwierdzenie 1: podmiot orzeczenie obiekt about rel resource Stwierdzenie 2: podmiot orzeczenie obiekt resource rel reource

Przykład Stwierdzenia RDF umieszczone w kodzie strony: @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix swp: <http://www.semwebprogramming.org#>. swp:ryan foaf:knows swp:john. swp:john foaf:knows swp:matt.

Przykład Zmodyfikujmy poprzedni przykład usuwając jeden atrybut resource: <div about="http://www.semwebprogramming.org#ryan" rel="foaf:knows"> <div rel="foaf:knows" resource= "http://www.semwebprogramming.org#matt">matt </div> </div> podmiot orzeczenie obiekt Stwierdzenie 1: podmiot orzeczenie obiekt about rel Stwierdzenie 2: podmiot orzeczenie obiekt rel reource

Przykład Stwierdzenia RDF umieszczone w kodzie strony: @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix swp: <http://www.semwebprogramming.org#>. swp:ryan foaf:knows [foaf:knows swp:matt]. Równoważnie: @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix swp: <http://www.semwebprogramming.org#>. swp:ryan foaf:knows _:p _:p foaf:knows swp:matt. pusty węzeł

Inne atrybuty @datatype wartością atrybutu może być URI lub kompaktowy URI. Atrybut określa typ literału będącego obiektem stwierdzenia. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <body> Thank you for purchasing Semantic Web Programming on <span about="http://www.semwebprogramming.org#book" property="dc:date" datatype="xsd:date">2009-05-02 </span> </body></html> podmiot orzeczenie obiekt

Inne atrybuty Stwierdzenie RDF umieszczone w kodzie strony: @prefix dc: <http://purl.org/dc/elements/1.1/>. <http://www.semwebprogramming.org#book> dc:date """2009-05- 02"""^^<http://www.w3.org/2001/XMLSchemadate>.

Inne atrybuty @typeof wartością atrybutu może lista kompaktowych URI. Atrybut określa typ zasobu (czyli klasę do jakiej należy zasób). <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <body> <div typeof="foaf:person">matt <div property="foaf:firstname">matt</div> <div property="foaf:familyname" content="fisher"/> </div> </body> </html> podmiot orzeczenie obiekt

Inne atrybuty Stwierdzenie RDF umieszczone w kodzie strony: @prefix foaf: <http://xmlns.com/foaf/0.1/>. [a foaf:person ; foaf:familyname "Fisher"; foaf:firstname "Matt"]. Konsekwencja zastosowania atrybutu typeof.

Inne atrybuty W poprzednim przykładzie podmiot stwierdzeń był zasobem bez URI. Spróbujmy to zmienić. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <body> <div about="http://www.semwebprogramming.org#matt" typeof="foaf:person">matt <div property="foaf:firstname">matt</div> <div property="foaf:familyname" content="fisher"/> </div> </body> podmiot orzeczenie obiekt </html>

Inne atrybuty Stwierdzenia RDF umieszczone w kodzie strony: @prefix foaf: <http://xmlns.com/foaf/0.1/>. <http://www.semwebprogramming.org#matt> a foaf:person ; foaf:familyname "Fisher" ; foaf:firstname "Matt". Orzeczenie "a" wyraża przynależność zasobu będącego podmiotem stwierdzenia do klasy będącej obiektem stwierdzenia. Klasy (a także tzw. właściwości) opisujemy w schematach RDF oraz w tzw. ontologiach.

RDFa RDF Stwierdzenia RDF możemy wydobyć ze strony XHTML wykorzystując aplikację: http://www.w3.org/2007/08/pyrdfa/