RDF a RDF Query Jakub Nerad jakubnerad@gmail.com 1. prosince 2009 Nerad () RDF a RDF Query 1. prosince 2009 1 / 16
Součastnost Součastnost množství informací zpracování pomocí statistické analýzy problém s vyfiltrování určité informace hledací fráze se přizpůsobují stroji - Václav Havel narozen vs. kdy se narodil václav havel. Nerad () RDF a RDF Query 1. prosince 2009 2 / 16
Co je RDF? Co je RDF? standard W3C souvisí s Semantic Web datový model pro reprezentaci struktury (webových) metadat tříprvková konstrukce subjekt, predikát, objekt predikát sledovaná vlastnost subjektu objekt hodnota vlastnosti objektem může být i literál (primitivní datová hodnota) základními objekty jsou zdroje, identifikovaný pomocí URI (URL, rodné číslo,...) reprezentace orientovanými grafy (uzly představují objekt a subjekt a hrany predikáty) Nerad () RDF a RDF Query 1. prosince 2009 3 / 16
RDF Graf RDF Graf Máme tvrzení: Petr má email petr@firma.cz subjekt - Petr predikát - email objekt - petr@firma.cz Grafová reprezentace: XML reprezentace Nerad () RDF a RDF Query 1. prosince 2009 4 / 16
RDF Graf RDF Graf Nerad () RDF a RDF Query 1. prosince 2009 5 / 16
RDF Schema RDF Schema RDF Schema (RDFS) slouží k popisu konceptů použitých v RDF Datech a obsahuje typové omezení na objekty a hodnoty ve trojicích. Dává slovům význam Populární schémata FOAF vcard RSS GEO Nerad () RDF a RDF Query 1. prosince 2009 6 / 16
RDF Query RDF Query dotazovací jazyk slouží k vyhledávání a manipulaci s daty v RDF úložišti vychází z SQL RDF Query pracuje nad množinou entit a vrací množinu entit standradním dotazovacím jazykem je SPARQL (leden 2008) Nerad () RDF a RDF Query 1. prosince 2009 7 / 16
SPARQL SPARQL Graf PREFIX - používá se k selekci jmenného prostoru (namespace), SELECT - používá se k definování zobrazovacího formátu, WHERE - používá se pro formulování aktuálního dotazu. @ p r e f i x f o a f : <h t t p : / / xmlns. com/ f o a f /0.1/ >. : a f o a f : name I v o Kos. : a f o a f : mbox <m a i l t o : ivo@kos. cz>. SPARQL PREFIX f o a f : <h t t p : / / xmlns. com/ f o a f /0.1/ > SELECT?name? e m a i l WHERE {? x f o a f : name?name.? x f o a f : mbox?mbox } Nerad () RDF a RDF Query 1. prosince 2009 8 / 16
SPARQL SPARQL Výsledek name Ivo Kos email ivo@kos.cz Nerad () RDF a RDF Query 1. prosince 2009 9 / 16
CONSTRUCT SPARQL CONSTRUCT tento dotáz nevrací seznam n-tice, ale RDF graf @ p r e f i x org : <h t t p : / / example. com/ ns#>. : a org : employeename A l i c e. : a org : employeeid 12345. : b org : employeename Bob. : b org : employeeid 67890. PREFIX f o a f : <h t t p : / / xmlns. com/ f o a f /0.1/ > PREFIX org : <h t t p : / / example. com/ ns#> CONSTRUCT {? x f o a f : name?name } WHERE {? x org : employeename?name } @ p r e f i x f o a f : <h t t p : / / xmlns. com/ f o a f /0.1/ >. : x f o a f : name A l i c e. : y f o a f : name Bob. Nerad () RDF a RDF Query 1. prosince 2009 10 / 16
FILTER SPARQL FILTER dotaz vyskytující se uvnitř WHERE, vyloučí data, které nesplňují podmínku @ p r e f i x dc : <h t t p : / / p u r l. org / dc / e l e m e n t s /1.1/ >. @ p r e f i x : <h t t p : / / example. org / book/>. @ p r e f i x ns : <h t t p : / / example. org / ns#>. : book1 dc : t i t l e SPARQL T u t o r i a l. : book2 dc : t i t l e Semanticky web. PREFIX dc : <h t t p : / / p u r l. org / dc / e l e m e n t s /1.1/ > SELECT? t i t l e WHERE {? x dc : t i t l e? t i t l e FILTER r e g e x (? t i t l e, ˆSPARQL ) } title SPARQL Tutorial Nerad () RDF a RDF Query 1. prosince 2009 11 / 16
FILTER SPARQL FILTER dotaz vyskytující se uvnitř WHERE, vyloučí data, které nesplňují podmínku @ p r e f i x dc : <h t t p : / / p u r l. org / dc / e l e m e n t s /1.1/ >. @ p r e f i x : <h t t p : / / example. org / book/>. @ p r e f i x ns : <h t t p : / / example. org / ns#>. : book1 dc : t i t l e SPARQL T u t o r i a l. : book2 dc : t i t l e Semanticky web. PREFIX dc : <h t t p : / / p u r l. org / dc / e l e m e n t s /1.1/ > SELECT? t i t l e WHERE {? x dc : t i t l e? t i t l e FILTER r e g e x (? t i t l e, ˆSPARQL ) } title SPARQL Tutorial Nerad () RDF a RDF Query 1. prosince 2009 12 / 16
SPARQL - další příkazy Další příkazy ORDER BY LIMIT OFFSET ASK Nerad () RDF a RDF Query 1. prosince 2009 13 / 16
RDF API RDF API Java Jena (http://jena.sourceforget.net) Sesame 2 (http://www.openrdf.org) PHP RAP (http://www.seasr.org/.../.../doc/index.html).net Carp & Spiral (http://www.seamticplanet.com) Python pyrple (http://infomesh.net/pyrple/) Nerad () RDF a RDF Query 1. prosince 2009 14 / 16
RDF vyhledávače a editory RDF vyhledávače a editory Protégé (http://protege.stanford.edu) DBpedia (http://dbpedia.org) Freebase (www.freebase.org) Ukázka (dbpedia.org/snorql) SELECT? s k o l a WHERE {? s k o l a s k o s : s u b j e c t <h t t p : / / dbpedia. org / r e s o u r c e / Category : U n i v e r s i t i e s i n t h e C z e c h R e p u b l i c > FILTER r e g e x (? s k o l a, prague, i ) } Nerad () RDF a RDF Query 1. prosince 2009 15 / 16
Zdroje Zdroje http://www.w3.org/tr/rdf-primer/ http://www.w3.org/tr/rdf-sparql-query/ http://www.hanyas.net/seweb/tutorial.php http://www.chip.cz/cs/clanky/semanticky-web-google-se-ucikombinovat.html http://zdrojak.root.cz/clanky/uvod-do-semantickeho-webu/ Nerad () RDF a RDF Query 1. prosince 2009 16 / 16