3EITE¬
W W W I F I L M U D E T Bibliograph Ar mybib:article_66_scaurus_qumran acm98:D_1_6 P A I r og Authors opics and Physical Home ‘L r 1 amming og ic ticle C ‘P T r echniques og ’ r amming — — Gr acm98:D_1 François Bry, Tim Furche narrower ‘F ’ aph da r om a g as in RDF and semi-struc ttr Qumr r W GRDDLing in Xcerpt P S Da r ea
ax Alina Hang, Benedikt Linse og narrower ‘ ‘S T V r ibut an C ‘ ablets t amming narrower C of isual acm98:D_1_7 omputing Classifi t a t acm98:D_4_2_e_i w emi-struc ase Study ar ont e o P acm98:D_4 tt ’ ’ es and namespac ap acm98:D_4_2_e en ‘ ta model yr W ’
i: primarySubject ax T narrower he acm98:D tion t T ablets hasTopConcept ca U T ta:
tion S Digital Home ’
ent: HTML or DocBook ‘ primarySubject narrower Oper y Entries: DBLP y Accessing XML as RDF in a Single Language hemes: SK st mybib:article_66_wax_cicero em
narrower acm98:CCS
o queryware.com/grddl a ting S ’ GRDDL: A De!nition
XML specifi
‘P narrower primarySubject acm98:D_4_2 ap y
M st yr narrower ‘S anagemen ems
acm98:H “GRDDL is a mechanism for Gleaning Resource Descriptions from Dialects of ‘St hasTopConcept St hasTopConcept ec i f ’ or or ondar ’ or X age age acm98:D_4_2_e_ii Languages. [It] introduces markup based on existing standards for declaring related ’ y tur t es ’ that an XML document includes data compatible with the Resource De-
c Legend acm98:H_2_1_a ‘I nf
ed DBs like L b-node er or
acm98:E scription Framework (RDF) and for linking to algorithms (typically repre- Da ma acm98:H_2_1 ‘Da ‘Spac ‘L pt and visX ta St cities og ‘Da tion S ta sented in XSLT), for extracting this data from the document.” ical D ta M ’ e or Event Date Calendar - and Microformats: Semantic Web for Dummies literal Calendar Data in RDF View y age on What? List—Compare—Analyze narrower st odels tur
esig Browser Rendering: Event Data in (X)HTML narrower ems
T related ime n } ] ] "to tachygraphy, systems as described in " ol ’ ’ such as ’ W
‘Da related Core idea: embed standardized mark-up for machine narrower “The Lixto systems acm98:E_1 - ax Optimal narrower article_66_cicero_wax ta Struc T narrower OS O — Get the event data from di!erent Web sites and process it, e.g., to ablets Fashion Week acm98:H_2 processing within HTML intended for human consumption applications in tachygraphy @ ], content within title authors or tur ’
c • “select and list all events taking place in Innsbruck during June 2007” body —GRDDL allows single document with both RDF and XML Business Intel- es er p Well-known fashion designers will present their new autumn collection.
e ed
’ http://.../robert/ http://.../tamara/
narrower subject acm98:H_3 narrower
‘E [ p h1 contributions narrower
ffi ligence and ‘Da
li li —eases publication and change management pt
[ [ Chang • “compare events from di!erent sources, e.g., to "nd events visited by me cien primarySubject "Though conditions for writing on wax tablets are adverse ", ... tabase M a [ [ [ [ scrolls[ calendar calendar mybib:inproc_44_brutus 02/10/2007 from 10:00 until 10:30. [ [
[ "Despite " [ "Space- and Time-Optimal Data Storage on Wax Tablets" [ Semantic Web” t M subject acm98:E_1_d acm98:E_1_c acm98:H_2_2 ing P "A History of Data Storage: From Stone to Parchment" and the colleague, I want to meet” anagemen nt em em href ... -style anagemen ersonal R Location: New York Source View (visXcerpt): Event Data in (X)HTML [ [ acm98:H_3_4_d
‘P • “analyze the event data, e.g., to "nd suitable free slots for a meeting”
‘I title T nf h acm98:H_3_4 y ‘ "Age of the " strong Gr ‘ or [ ^ t of R ], T sical D r ology ec ma aphs and Net ees For ticket reservation contact: Nancy Wu t M events events ‘
Applied Da — Aggregate and re-publish mesh-ups of the event data, e.g., on a Google Map or ’ narrower R primarySubject tion St anagemen r apidly ’ etr ds rdf:Seq mybib:journal_adm
esig http://.../eswc/ tiro narrower ’ iev h1 , cite[ ^ @ "1-94" — — C subject n rdf:type rdf:type rdf:_1 ees & G or al ’ subject schedule/t24 ’ age and [ [ @ onsist hCalendar Microformat: ta w t ], h1 ’ or How? Direct vs. RDF View "Challenges for Tachygraphy on Wax" "Homeric" non-hier possible tr childr narrower ks —uses HTML class attributes location ’ [ article 1 ], ^ (e ‘S "Section 2" "Contributions" ffi — — A rdf:_1 ‘P —vocabulary like in iCal RFC y Direct access using XML query lang. rdf:_2 rdf:_2 cienc st er — — Bibliog start ems and S , f article_66_scaurus_qumran r or — — T acm98:H_3_2 en or
manc —high "exibility of structure y and e mybib:conf_dmc ‘I ticle C
en such as XQuery or XSLT opics and nf strong D HTML: struc irr journal_adm or key sev r { e ev ma ocB
a —events may be nested ], skos:narrower of ff scheme plus some ad-hoc c par SK ar egular ec t tion St ther hard to program due to mix of HTML Elemen alua t Ex w ⊖ M Non-hier tiv anspar ar anagemen der ma F er
In —allows, e.g., sessions chical r ed a http://.../broadway/ http://.../nymag/ eness)’ e OS tion olding
’ 1 ook “Innsbruck” or ‘ t of A time A [ " Age:" and calendar data (microformat) al dv age within a conference
], events/fw07 r events/bb77 anc title day Or C r "Kings" -based on Applica ’ on aph t egular t f or on ttr emen t nesting ( , highly
: struc title or M ension track der elemen en t ar der "..." ], ], 2 Iden CM 1998 classifi tion ibut ts in Da y be ir ilitar ex
t View of only the interesting calendar ela r tur ed chical ’ ], en t r y and Civil t “09:00” y En -M T ta ed v aphs data in RDF tifi ], tions e thr “Beauty and esolution of schema with es tur hemes: s ] enu: start start t . "..." description , ts f er child description lists r end bo end unor ... the Beast” “2007-06-05” r r skos:related ecursiv t abstraction hiding HTML complexity
ela ⊕ elev e thr “Fashion Week” t and ":" ology using or x tries of ough , I n tions as
nesting ... r der inf , other t
], ], use of RDF as view format
XML ⊕ X ela er label an ], ough day time
orma day ac ed tion) bec egr • reuse of calendar standards for RDF t e "..." delimit tiv time childr of elemen "..." schema and h ca ],
e • integration with other RDF data tion f yperlinks wise “22:00” “10:30” F nesting
optionals “2007-10-02” tion “2007-02-18” ea time time day onc
] day c en list if done naively, less e#cient than
omes ⊖ olors ], ], ], c , et tur ocus ers epts es direct approach c ts “20:00” “2007-02-18” “10:00” “2007-10-02” .
GRDDL—the W3C way … XSLT Transform: Simplierpt "ed XSLT Template XSLT templates: GRDDL—the W3C way … SPARQL Query: List and Select Analysis queries in SPARQL: —powerful transformation language excelling at tree to tree —again data selection very easy, triple notation like t 1: PREFIX dc:
ed) Standard approach but two languages
or —GRDDL used to associate XML 3: PREFIX rdf:
materialized RDF graph m (ma T C 9: OPTIONAL (?date cal:startTime ?sTime).
END (var (var (var ) < < < < < < FROM var < < < GOAL — transformations ‘library’ may become available
alendar M 1: SELECT ?title, ?x, ?y Basic P or and e omple 10:FILTER (?location = 'Innsbruck' AND ?sMonth = 6). } 1 100 200 300 400 500 2: WHERE { ?x dc:title ?title. ?x cal:date ?y. rdf-document "file:DATA.acm-skos.xcerpt" xml-document "file:DATA.bibliography.xcerpt" articles-on-wax-tablets ⊖ two languages to learn var ( all x
2 3: ?y cal:startDay ?start. ?y cal:endDay ?end. Architecture: Transform—Materialize—Query and —SPARQL: graph patterns (in WHERE clause), close to triple notation transformation needs to be materialized tual S 4: ?y cal:startTime ?sTime. ?y cal:endTime ?eTime ⊖ sections title < bib all article 2 —optional properties may be included using OPTIONAL keyword 5: FILTER ( independently of query optional article "nd attached XSLT SPARQL < ta in RDF f —query involves location and time from the sample data 6: ((?start = ?end && ?start = "2007-10-02" && — severely limits e#ciency as conditions from the WaxTablets Paper Paper content title {partial,unordered} >var stylesheet Stylesheet Query section 7: ?sTime <"12:00" && ?eTime > "11:00" )
section SectionTitle SPARQL query cannot be propagated to XSLT optional without > P Examples f 8: || (?start != ?end && ?start = "2007-10-02" && info > — — Q x P a
ta in HTML & hC SPARQL's expressiveness fairly limited , skos:primarySubject, var , skos:prefLabel, var >var ArticleTitle 9: ?sTime <"12:00") ⊖ var
{partial,unordered} List and select query in SPARQL: uer > tt yntax f pa inc quer
> 10: || (?start != ?end && ?end = "2007-10-02"
a —simple queries such as list and select queries very easy to express ⊖ long (though fairly) readable stylesheet SectionTitle t da {partial,unordered}
alendar da 11: && ?eTime > "11:00" ) var desc — hard to maintain due to lack of views omplet erns: y —however lack of recursion makes, e.g., combination queries di#cult en C er 12: || (?start < "2007-10-02" && ?end > "2007-10-02")) v Processor Processor ies just like da -b tt — similar for publicly available stylesheets for hCard W tt —syntax very regular but far from graph intuition E > ns plus v XML 13:). } < > y Para XML Document RDF Graph Answer figure -Example erns: F eness er -> < GRDDL—the Xcerpt way … RDF View over XML GRDDL—the Xcerpt way … RDF Querying ->
ar V or P CONSTRUCT {partial,unordered} "nd transformation Xcerpt Xcerpt > , para Architecture: Transform—Materialize—Query DECLARE ns-default " " iables inst http://www.example.org/Calendar# _ [ var Title, var Event, var Date ] Final Analysis: Plus and Minus > optionalit
ariables and Incomplet module Module Query ArticleTitle
ta plus Architecture principles:
eb ns-prefix dc = "http://purl.org/dc/elements/1.1/" FROM "Wax Tablets" ns: visX "nd transformation Xcerpt Xcerpt —same architecture as for W3C var Event {{ --rdf:type-> Event{{ }}, Highly expressive language with query-driven engine {partial,unordered} ns-prefix rdf = "http://.../22-rdf-syntax-ns#" par Module Query way possible, however: --dc:title-> literal{ var Title }, {partial,unordered} WaxTablets ( module CONSTRUCT a t ormulas --date-> var Date {{ ⊖ non-standard language, implementation still incomplete —Xcerpt is capable of on-demand ul [ all li[ var Title " at " var sTime ] ]
v
ariables transformation ma Reuseware for or S FROM hard to program due to mix of HTML and calen y
/> --rdf:type-> Event{{ }}, both on-demand and a-priori transformation possible of pushed into transformation ) icr _ {{ nal view only) (sDay != eDay and sDay = "2007-10-02" /> XML Q Processor optional in in (sDay < "2007-10-02" and eDay > "2007-10-02") ) alendar M Nested Events: Patterns and Anti-Patterns CONSTRUCT Basic RDF View m (in { all erm- and XML END ⊕ highly expressive language with recursion { { rdf:RDF[ all cal:Event[ sections title or computing-classification rdf-document[ "file:DATA.acm-skos.xcerpt" ] bib xml-document[ "file:DATA.bibliography.xcerpt" ] and ( cal:summary[ var Summary ], all article c T Query: Find Common Events (Combine) triple triple triple article html {{ body {{ cal:description[ var Description ], ... ] ] er optional {{ t Limit ! S desc var Event _ ((class="vevent")) {{ content title [ var FROM ms ma uer ome subt section DECLARE ns-default "http://www.example.org/Calendar#" ed Da optional desc (!/.*/((class="vevent")))* html {{ body {{ section L 3 RDF Graph List and select queries in Xcerpt: SectionTitle [ ocal f ... ed f _ ((class="summary")) { var Summary }, desc _ ((class="vevent")) {{ [ var [ var [ var optional without info [ — — — L (internal view) erpt {{ var {{ optional desc (!/.*/((class="vevent")))* optional desc _ ((class="summary")) { CONSTRUCT —uses graph shape instead of triples as SPARQL og y c ta in RDF f X)HTML & hC or var [[ ArticleTitle _ ((class="description")) { var Description }, ul [ all li[ var Title ] ] or var Summary }, From Basic to Nested Events: m of c on join g selec —very intuitive for nested conditions (far less variable) {{ var [ ptionality er desc {{ m of disjunc ... }} }} }}, optional desc _ ((class="description")) { r , FROM ical Gr —(similar to XSLT) using “anti”-pattern tain WaxTablets Paper Paper oup ms ma — — — Multiple S —unique syntax tailored to queries with high degree of ar all t “ C not ( var Description }, Expr ouping and ( r published in ‘ ar “ Basic P —alternative: quali!ed descendant ta in ( Para var desc eturn titles and optionally par onditional c expr omple r di endan ticles on the t html {{ body {{ par ... }} }} }} ArticleTitle desc t r incompleteness, e.g., asd eturn the titles of all t "http://.../robert/calendar" {{ boolean ticles b ”everything reachable via a quali"ed [ visual t t op and ff ! essed thr desc var Event _ ((class="vevent")) {{ END V ex ex , , , elev --rdf:type-> Calendar{{ }}, y be r WHERE t da tial pa —inline conditions in addition to clause er SectionTitle ess selec path” (cf. regular path expressions) documen desc _ ((class="vevent")) {{ ariables alendar da -lev "skos:primarySubject" "skos:prefLabel" Para figure tual tual desc var Event {{ c t en C eness earn one en optional desc (!/.*/((class="vevent")))* —powerful grouping constructs to construct, e.g., ollec ta tion essen ], allo A --rdf:type-> Event{{ }}, L agg an v Nested Events: Quali"ed Descendant equir , {{ _ ((class="summary")) { var Summary }, c syn html {{ body {{ c el sec y Mar t da E tt -> collections and containers (not expressible in SPARQL) c onstruc --dc:title-> literal{ var Title } }} }}, a x P onnec XML t w "skos:prefLabel" ough multiple v essing optional desc (!/.*/((class="vevent")))* t da desc _ ((class="vevent")) {{ erns ts alt erm tion, joins {{ }}, tt s additional in "http://.../tamara/calendar" {{ desc r —recursive operators such as and recursive views ee! _ ((class="description")) { var Description }, ts can be ac optional desc (!/.*/((class="vevent")))* ed not t -style V tax visX ega A ta it yn para }}, I essen --rdf:type-> Calendar{{ }}, ern ariables ... }} }} }} ying tions without fi opic ‘ a nc _ ((class="summary")) { var Summary }, pplied D ta ( cus T allo allow reasoning and views directly in Xcerpt er -st tiv tion based on v I syn tial f tt desc var Event {{ }} }} ) nc ) ) W optional desc (!/.*/((class="vevent")))* omplet na -> tax t ems in es —arbitrary RDF or XML output of queries possible {{ }} eb r w additional child elemen yle syn e n omplet _ ((class="description")) { var Description }, ... }} }} }} END ern tial f tiv o oc , v or v da -ar P ullius Cic W tax (c , or ar Optional c e bindings f title ar ar c esour es ax T , var a or struc c er ar y queries ta iables e cur in ma get one fr e used in lieu of da Optional subt op essed using their URL ata Management t Subt pa ar tt iable schema da er T pt e ithmetic c : er tax (explicit) iable oc pa ompac -lev ablets mediar {{ }} }}, c erns tt ms as es , , var ar , er erm nega tt ArticleTitle , nega tur er : ar iable bindings "Wax Tablets" ns in er onstruc el sec gur V t or v agr o and al assembly alue Joins: ns in ching da bitr cur y elemen f ’ . ” , ormulas tion ) onditions t) WaxTablets es in br ar aphs of ar r erms: tions in enc depth iables: eadth y XML tion: tion: , et ta es ta ta : c ts ts . : ], : : ’ . ” ] ], Int Rules: Inf Int egra egra 3 — — S epar http://www.pms.ifi.lmu.de/ — inst no mixing of c t w o separ Sacha B tion II: Putting it All tion I: S F a T Rules: S tion ead chaining wher r im F er anç epar a t e par of ence Q onstruc ois Br ts in rules uer ur epara er y tion and quer a che , and e nec V ger tion of C C ie y onstruc essar w tion of C ying y s , and C tion I nstitut T onc ogether Univ T oncern er haining ms ma — — S epar and allo — memoiza e separ y c ffi er on e f cien ersit a tain boolean c the ar for an established c “I w I tr pr “ Rules and Chaining w f close the sk n a tion av o t t t ev e published in r “ I or pr vided data b n b ould lik in which ar n eg ersing the closur or I Rules tasks t eas of int alua oc eg r of tion and unf a edur separ y of Munich C of a quer ting RDF and XML r e t tion of chained quer onnec a nf os:r al abstr onc y o pr ting RDF and XML a t eas hav er e c elat y adding sk tiv ec est in r or epar onstruc V ern es ac ent y onfer ed r y in rules , including disjunc e of sk tion in quer olding e a c ma ie e m elation on the ec ear?” b tion fr T er enc y ent y y c all-for ms as os:narr V os:sub w e om quer o iew . W tics y pr - ears?” authors f ormulas -paper hat ar ies s og o jec s w tions r ying ams t and er e ” :