Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
Enabling the Semantic Web with RDF
Web Content 2007Chicago
Calvin Hendryx-ParkerSix Feet Up, Inc.
1
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Doing RDF for nearly 4 years
• Stumbled upon it via Mozilla
• Later used to power sites like the Rosetta Project
• Still doing work using RDF and Mozilla
Background
2
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Understandable by software agents
• Find
• Share
• Integrate
• Core enabling technologies are RDF and OWL
Semantic Web
3
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Resource Description Framework
• Language designed to support the Semantic Web
• Neutral Format
• Directed Graph of Resources
Introduction to RDF
4
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Three is the magic number
• Triple made up of a 3-tuple
• Subject, Predicate, Object
• Each triple is a unique fact where the resource is identified by a URI
RDF Basics
5
Silicon Valley • MidwestSix Feet Up, Inc. • http://www.sixfeetup.com
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
Triples in a Graph
lingual:isOfLanguoidType
lingual:Language
dc:Title
Dimli
lingual:hasLanguageCode
lingual:isMotherOf
http://rosettaproject.org/archive/ZZZ
http://www.language-archives.org/OLAC/1.0/LanguageCodes.xsd#x-sil-ZZZ
http://rosettaproject.org/archive/Indo-European/Indo-Iranian/Iranian/Western/Northwestern/Zaza-Gorani
6
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• URL is a specific instance of a URI scheme based on a known protocol e.g. http or ftp
• URI is only an identifier and doesn't need to resolve a location on the web
• URI examplesUsing a web address
http://www.sixfeetup.com/hostingUsing a UUID version 5 of the same URL
urn:uuid:9cedb10a-84c4-5ddb-96c5-c3215fa57c21Arbitrary URI
urn:sixfeetup:hosting
URI usage in RDF
7
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• RDF/XML
• N3
• N-Triples
• Turtle
Serialization Formats
8
Silicon Valley • MidwestSix Feet Up, Inc. • http://www.sixfeetup.com
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
RDF/XML<?xml version="1.0" encoding="utf-8"?><rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:lingual='http://rosettaproject.org/ns/lingual/1.0/' xmlns:dc='http://purl.org/dc/elements/1.1/'> <lingual:Languoid rdf:about="http://rosettaproject.org/archive/gic"> <lingual:hasPrimaryName>Gail</lingual:hasPrimaryName> <dc:title>Gail</dc:title> <lingual:hasLanguageCode> <lingual:LanguageCode rdf:about="http://www.language-archives.org/OLAC/1.0/LanguageCodes.xsd#x-sil-gic"> <lingual:hasAuthority> <lingual:Authority rdf:about="http://ethnologue.com/15/"> <lingual:AuthorityIdentifier>Ethnologue15_Languages</lingual:AuthorityIdentifier> </lingual:Authority> </lingual:hasAuthority> <lingual:hasCodeValue>gic</lingual:hasCodeValue> <dc:title>Gail</dc:title> </lingual:LanguageCode> </lingual:hasLanguageCode> </lingual:Languoid></rdf:RDF>
9
Silicon Valley • MidwestSix Feet Up, Inc. • http://www.sixfeetup.com
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
Notation3
<http://rosettaproject.org/archive/ZZZ> lingual:isOfLanguiodType lingual:Language .<http://rosettaproject.org/archive/ZZZ> dc:title "Dimli" .
10
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Provides Vocabulary
• Extended Object Class Vocabularies
• www.schemaweb.info
RDF Schemas and Web Ontology Language (OWL)
11
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Beer -- http://www.purl.org/net/ontology/beer.owl
An ontology that models types of beer and brewers/brands.
• Quaffing -- http://purl.org/net/schemas/quaffing/
An extension of the FOAF ontology to describe who you have drank with or who you owe a beer
Examples of Ontology
12
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Additional ontology can be applied via namespaces
• Single resource visible in multiple contexts
• Allows for containment based on RDF Schema type
• Reification
How RDF Handles Difficult to Describe Data
13
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
Reification Example
Latin
French Spanish Italian
Mot
her
Moth
er Mother
Article BTitle:
Why Spanish is a daughter of Latin
Book CTitle:
Why French and Italian are
related to LatinJustifi
es
Justifies
Justifies
14
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• FOAF -- http://rdfweb.org/foaf/
• RSS 1.0 -- http://web.resource.org/rss/1.0/
• Creative Commons -- http://creativecommons.org
• DMOZ -- http://rdf.dmoz.org/
RDF Applications
15
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Provides more flexible queries
• Describes data that can't easily be described using a RDBMS
• Easily extendable via namespaces
• Can be used to integrate multiple internal systems
• Feed other services such as OAI-PMH
Example Internal RDF Usage
16
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Data "mash-up"
• Piggy Bank
• Timelines
• Maps
• Calendar
• Graph View
Example External RDF Usage
17
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Easily allow data from 3rd party systems to mix in with the data via namespaces
• Syndication
• Provide standardized sets of metadata about resources
• Dublin Core
• Creative Commons
Example External RDF Usage
18
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Rich interface to metadata
• Can be specialized to a specific domain
• Interoperability with other RDF based systems
• Expose RDF query as a service
Use within a Content Management System
19
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• An archive of all documented human languages
• Specialized Linguistic Resources and Documents
• Content and Structure is of a Contested Nature
• Geographic Boundaries Change
Rosetta Project CMS
20
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
21
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Flat storage of languages in ZODB
• Apply many alternate structures via RDF
Many Structures, One Set of Data
A
B
C
D
F
E
Root
22
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Flat storage of languages in ZODB
• Apply many alternate structures via RDF
Many Structures, One Set of Data
A B
C D
F
ERoot
23
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Flat storage of languages in ZODB
• Apply many alternate structures via RDF
Many Structures, One Set of Data
A
B
C
D
F
ERoot
24
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
25
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• RDFlib
• Multiple back-ends
• ZODB
• MySQL
• Sleepycat
• SQLite
Available tools
26
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• Includes SPARQL query implementation
• Includes an Event Graph for doing operations like indexing text
• GraphPath
• XPath style queries against RDF graphs
• Mozilla XUL
• Many others available in other languages such as Ruby, Java, PHP and Perl
Available tools
27
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
28
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
29
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
Example SPARQL Query• Selecting all languages that have documents of a
specific type
SELECT ?langWHERE { ?doc <http://rosettaproject.org/lingbib#rosettaType> datatype . ?doc <http://rosettaproject.org/lingbib#refersToLanguoid> ?lang}
30
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
• RDFa
• Generalized attributes in XHTML
• Currently in working draft
Other RDF Extensions
<div xmlns:dc="http://purl.org/dc/elements/1.1/" about="http://www.example.com/books/wikinomics"> <span property="dc:title">Wikinomics</span> <span property="dc:author">Don Tapscott</span> <span property="dc:date">2006-10-01</span></div>
31
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker
Questions?
Contact [email protected]
32
Top Related