Calvin Hendryx Parker, Enabling the Semantic Web with RDF

32
Six Feet Up, Inc. http://www.sixfeetup.com Silicon Valley • Midwest 06.19.2007 Enabling the Semantic Web with RDF - Calvin Hendryx-Parker Enabling the Semantic Web with RDF Web Content 2007 Chicago Calvin Hendryx-Parker Six Feet Up, Inc. 1

Transcript of Calvin Hendryx Parker, Enabling the Semantic Web with RDF

Page 1: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 2: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 3: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 4: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 5: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 6: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 7: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 8: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 9: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 10: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 11: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 12: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 13: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 14: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 15: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 16: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 17: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 18: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 19: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 20: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 21: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest

06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker

21

Page 22: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 23: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 24: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 25: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest

06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker

25

Page 26: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 27: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 28: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest

06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker

28

Page 29: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest

06.19.2007Enabling the Semantic Web with RDF - Calvin Hendryx-Parker

29

Page 30: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 31: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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

Page 32: Calvin Hendryx Parker, Enabling the Semantic Web with RDF

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