content management with rdf
DESCRIPTION
A talk given at the "Publishing 2.0" event organized by XML-UK in April 2007. The talk provides a brief overview of RDF, some of the benefits that Ingenta has found with using RDF, and outlines some of the steps involved in modelling and manipulating content as RDF.TRANSCRIPT
Content Management with RDF
Leigh Dodds, Chief Technology Officer, Ingenta
25th April 2007
Why?How?
A Digression: The RDF Model
<http://www.example.org/article/1>
Alan Turing worked at Bletchley Park
</person/turing> workedAt </place/bletchley>
</person/turing> hasName “Alan Turing”
</person/turing> workedAt </place/bletchley>
</place/bletchey> hasName “Bletchley Park”
< /p er s o n / tu r in g > "Alan T u r in g "h as N am e
< /p ers o n /tu rin g > " A lan Tu rin g "h as N ame
< /p lace/b letch ley >" B letch ley P ark " h as N ame
w o rk ed A t
< /p ers o n /tu rin g > " A lan Tu rin g "h as N am e
< /p lace/b letch ley >" B letch ley P ark " h as N am e
w o rk ed A t
< /s d s d s d s >
< /p d fd s fs d >
< /erey ty y rty >
< /p lab led fd ftch ly >
< /p lace/b letch ley >
" ab c"
" s d s d aa"
" fg ee " fg ee " fg ee
" s d d s b c"
" 1 0 "
" 1 0 "
< /p lab led fd ftch ly > < /p lab led fd ftch ly >
" s d d d d c"
" s 2 3 "
" 3 .2 "
Why Use RDF?• Encourages modelling of resources
• Simple extensibility
• Ease of Storage
• Data Merging
• Networked data
• Re-wiring publications
Where Would You Use RDF?
F u ll T e xtCo n te n t M etad ata
S ear c h Br o w s e
T em p la tin g
..and Where Wouldn’t You Use RDF?
It’s Not For Content!
How?
Assigning Identifiers
http://metastore.ingenta.com/article/456
Vocabularies
Dublin Core• Basic set of generic
properties
• Title• Creator• Publisher• Created, Updated, Modified• Format• Identifier• Subject
• ..etc
PRISM• Publishing Requirements for
Industry Standard Metadata • Builds on XML, RDF, Dublin
Core
• DOI, eISSN• startingPage, endingPage• isPartOf, hasParts• related• references• hasTranslation,• hasCorrection
FOAF• “Friend of a Friend”• Community driven
specification• Some useful stable terms
for describing people and organizations
• Person• Organization• Document• homepage, weblog• topic, primaryTopic
SKOS• Simple Knowledge
Organization System• Thesauri, subject
classifications• Drive navigation and
indexing
• Terms• broaderTerm,
narrowerTerm• relatedTerms• preferred label, alternate
label
Generating RDF• XML to RDF
– XSLT– XQuery
• Database to RDF– D2R
• XHTML to RDF– GRDDL
Manipulating RDF
< /p ers o n /tu rin g > " A la n T u rin g "h a s N a m e
< /p la ce/b letch ley>" B letch ley Pa rk" h a s N a m e
w orkedAt
< /s d s d s d s >
< /p d fd s fs d >
< /ereytyyrty>
< /p lace/b letch ley >
< /p lace/b letch ley >
" a b c"
" d ef"
" fg ee " fg ee " fg ee
" s d d s b c"
" 1 0 "
< /p ers o n /tu rin g > " A la n T u rin g "h a s N a m e
< /p la ce/b letch ley>" B letch ley Pa rk" h a s N a m e
w orkedAt
< /s d s d s d s >
< /p d fd s fs d >
< /ereytyyrty>
< /p lace/b letch ley >
< /p lace/b letch ley >
" a b c"
" d ef"
" fg ee " fg ee " fg ee
" s d d s b c"
" 1 0 "
SPARQL• W3C Query Language for RDF
SELECT ?resource, ?name
WHERE {
?resource hasName ?name
}
?resource ?name</person/turing> “Alan Turing”
</place/bletchely> “Bletchley Park”
Problem Areas
Duck Typing for Data
Questions?
Picture Attributions“The Confusion of Tongues”, Gustav Doré
– http://en.wikipedia.org/wiki/Image:Confusion_of_Tongues.png
“So many ducks…Ducking Hell”, Gaetan Lee– http://flickr.com/photos/gaetanlee/298160427/