330 likes | 470 Views
An Introduction to RDF:. The R esource D escription F ramework Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: <ian.graham@utoronto.ca> Talk: http://www.utoronto.ca/ian/talks/. Overview. The problems and issues Resources and Metadata Modularizability
E N D
An Introduction to RDF: The Resource Description Framework Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: <ian.graham@utoronto.ca> Talk: http://www.utoronto.ca/ian/talks/
Overview • The problems and issues • Resources and Metadata • Modularizability • Example: The Dublin Core Set • Expression: RDF and XML • Examples This talk is based on material presented at WWW8 by Carl Lagoze, Eric Miller and Stu Weibel
The Problems: • Too much Web information • around 1,000,000,000 (1109) resources • Many different types of resources • text, images, graphics, • audio, video, multimedia, • databases, Web applications, … • resource metadata (pointers to media servers)
The Problems (cont.): • Information not indexable • No common “scheme” for doing so • Short-lived, dynamic resources • Differing relationships between authors, publishers, info intermediaries, users • Each community uses their own approach
The Problems (cont.): • Information not shareable • Difficult to share information • Difficult to share information about information • no common cataloging schemes
Talk outline: • The problems and issues • Resources and Metadata • Modularizability • Example: The Dublin Core Set • Expression: RDF and XML • Examples
Main Issues: • Metadata • Information about information • Structured data about data • Many types/forms of metadata, dependent on role:
Types of Metadata: Web Resource discovery (Intellectual) property rights management Document management administration Archival information / status Security & User authentication Content ratings (PICS) Process description & control Product & Services Descriptions Database / data schemas
Second Issue: • Language for expressing metadata. • Must be: • universal (so all can understand) • flexible (to incorporate different types) • extensible (flexible to custom types) • simple (to encourage adoption) • modular (so that schemes can be mixed, extended)
Third Issue: • Shared Metadata Architectures: • To share names, and meanings (shared semantics) • Example: Dublin Core Metadata
Example : Dublin Core • Not a weapons system from Star Trek • Simple semantics for describing resources -- I.e., metadata • simple, intuitive, • cross-disciplinary, flexible
Title Author/creator Subject/keywords Description Publisher Other Contributor Date Resource type Format Resource Identifier Source Language Relation Coverage Rights management DC Element Set
Extensibility • Substructure to define more detail Creator Contact Info Given name Phone Surname Fax Affiliation Email
Use of Extensibility: • DC: a high-level framework • Describe features common to “all” resources • Extensible to domain-specific schemes • Refine semantics of keywords • Add special vocabularies for data (e.g., LC), or for encodings (e.g., 7/11/99 or 11/7/99)
Other Metadata Models • Dublin core • vCard (business-card data) • vCalendar (calendar/scheduling data) • LCNA (Library of Congress Name Authority File)
Describing Resources • Many things to describe • Need flexible scheme that supports • Different metadata schemes … • at the same time • Express in some useful syntax • (e.g., XML)
Talk Outline • The problems and issues • Resources and Metadata • Modularizability • Example: The Dublin Core Set • Expression: RDF and XML • Examples
RDF • Resource Description Framework • Machine understandable format • Framework for many classes of resource descriptions • catalog, accessibility, Intellectual property rights
RDF Components • Model for the framework (graphical): • Resources • Properties • Values • Statements • Containers • Syntax for interchange (XML dialect)
Simple RDF Example Resource Property Value http://foo.org/g dc:Title “RDF talk” dc:Creator “Ian Graham”
Expression as XML http://foo.org/g <RDF xmlns=“http://www.w3.org/TR/ … ” xmlns:dc=“http://purl.org/dc/…” > <Description about=“http://foo.org/g”> <dc:Title> RDF Talk </dc:Title> <dc:Creator>Ian Graham</dc:Creator> </Description> </RDF> dc:Title dc:Creator “RDF talk” “Ian Graham”
Less Simple RDF Example http://foo.org/g dc:Title “RDF talk” dc:Creator “me” bib:Aff http://utoronto.ca bib:Email bib:Name “ian@goo.org” “Ian Graham”
Written in XML as: <RDF xmlns=“http://www.w3.org/TR/..” xmlns:dc=“http://purl.org/dc/…” xmlns:bib=http://www.bibby…” > <Description about=“http://foo.org/g” > <dc:Title> RDF Talk </dc:Title> <dc:Creator> <Description> <bib:Name>Ian Graham </bib:Name> <bib:Email:> ian@goo.org </bib:Email> <bib:Aff resource=“http://utoronto.ca” /> </Description> </dc:Creator> </Description> </RDF> http://foo.org/g dc:Title “RDF talk” dc:Creator “me” http://utoronto.ca bib:Aff bib:Email bib:Name “ian@goo.org” “Ian Graham”
Other Important Concepts • Bags -- groups of things • Sequences -- ordered group of things • Alternates -- Alternate things/values • First value is the default • Must be at least one
Bag: index categories<ca:Categories><Bag> <li>Category 1</li> <li>Cat. 2</li> <li>Bleel </li> </Bag></ca:Categories> Seq: Sequence<ca:Categories><Seq><li>Category 1</li> <li>Cat. 2</li> <li>Bleel </li></Seq></ca:Categories> Bags, Sequences
Talk Outline • The problems and issues • Resources and Metadata • Modularizability • Example: The Dublin Core Set • Expression: RDF and XML • Examples
Netscape Open Directory • http://www.dmoz.org • Directory of Web-accessible resources • Human-maintained (people add resources • Uses RDF to: • Describe category structure • Describe resources in each category
<RDF xmlns:r="http://www.w3.org/TR/RDF/" xmlns:d="http://purl.org/dc/elements/1.0/" xmlns="http://directory.mozilla.org/rdf"> <Topic r:id="Top"> <tag catid="1"/> <d:Title>Top</d:Title> <narrow r:resource="Top/Arts"/> .... </Topic> <Topic r:id="Top/Arts"> <tag catid="2"/> <d:Title>Arts</d:Title> <narrow r:resource="Top/Arts/Books"/> ... <narrow r:resource="Top/Arts/Artists"/> <symbolic r:resource="Typography:Top/Computers/Fonts"/> </Topic> .... </RDF> Category Structure
<RDF xmlns:r="http://www.w3.org/TR/RDF/" xmlns:d="http://purl.org/dc/elements/1.0/" xmlns="http://directory.mozilla.org/rdf"> ... <Topic r:id="Top/Arts"> <tag catid="2"/> <d:Title>Arts</d:Title> <link r:resource="http://www3...ca/…./file.html"/> </Topic> <ExternalPage about="http://www…ca/file .html"> <d:Title>John phillips Blown glass</d:Title> <d:Description>A small display of glass by John Phillips</d:Description> </ExternalPage> <Topic r:id="Top/Computers"> <tag catid="4"/> <d:Title>Computers</d:Title> <link r:resource="http://www.cs.tcd.ie/FME/"/> <link r:resource=”http://foo.asdfsa….."/> </Topic> </RDF> Resources
2. Netscape Navigator 5 • Uses RDF to describedata used in browser • (mailbox contents, directory contents) • As a way of adding dynamic data access
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#" xmlns:sm="http://www.mozilla.org/smart-mail/schema#"> <rdf:Description about="http://www.mozilla.org/smart-mail/….”> <sm:message id="4025293"> <sm:recipient>wat@netscape.com</sm:recipient> <sm:sender>helga@netcenter.net</sm:sender> <sm:received-by>wing.mcom.com</sm:received-by> <sm:subject>Recipe for Yam Soup!</sm:subject> <sm:body> http://www.mozilla.org/smart-mail/get-body.cgi?... </sm:body> </sm:message> <sm:message id="4025294"> <sm:recipient> wat@netscape.com </sm:recipient> <sm:sender>w2@pbox.ohio-state.edu</sm:sender> <sm:received-by>x-wing.mcom.com</sm:received-by> <sm:subject>We won our ultimate game</sm:subject> <sm:body> http://www.mozilla.org/smart-mail/get-body.cgi?... </sm:body> </sm:message> </rdf:Description> </rdf:RDF> Mailbox Entries
Some References: • RDF • http://www.w3.org/RDF/ (Overview) • http://www.w3.org/Press/1999/RDF-REC (RDF model and syntax spec.) • http://www.w3.org/TR/PR-rdf-schema/ (RDF schema specification) • Dublin Core • http://purl.org/dc/ • ftp://ftp.ietf.org/rfc/rfc2413.txt
An Introduction to RDF The Resource Description Framework Ian GRAHAM Centre for Academic Technology Tel: 978-4548 Email: <ian.graham@utoronto.ca> Talk: http://www.utoronto.ca/ian/talks/