Introduction to RDF Data Model

23
Introduction to the RDF Data Model Sources: Ian Davis (Talis), Prof. Praveen Rao (UMKC), http://rdfabout.com/ 1

description

Introduction to RDF Data Model.

Transcript of Introduction to RDF Data Model

Page 1: Introduction to RDF Data Model

1

Introduction to the RDF Data Model

Sources:Ian Davis (Talis),

Prof. Praveen Rao (UMKC),http://rdfabout.com/

Page 2: Introduction to RDF Data Model

2

Introduction• RDF stands for Resource Description Framework• Is a data model (like XML)• W3C spec: http://www.w3.org/RDF/

• 1st spec in 1999, current standard from 2004• Companies developing RDF storage solutions• AllegroGraph, Virtuoso, BigOWLIM, Garlik 4store/5store,

Mulgara, etc.• Companies managing data using RDF model• BBC, Google, Yahoo!, Best Buy, Newsweek, Pfizer, etc.• http://data.nytimes.com/home/about.html

• To allow anyone to say anything about anything

Page 3: Introduction to RDF Data Model

3

The Relational Model

Page 4: Introduction to RDF Data Model

4

RDF Data Model• RDF represents data as (s,p,o) triples• s means subject, p means predicate or property, o

means object• Can represent any assertion• An assertion may or may not be a fact

• Together, triples form a directed, labeled graph

Page 5: Introduction to RDF Data Model

5

Example

Page 6: Introduction to RDF Data Model

6

Example• Relationship between entities/resources

Page 7: Introduction to RDF Data Model

7

Global Naming• URIs (!= URLs) provide the ability to identify things

globally and uniquely• RDF names things/resources with URIs• Can name infinite number of things using URIs• Can use the fragment identifier ‘#’

• Create different URIs for different things• If two users refer to the same URI, then they

are talking about the same thing

Page 8: Introduction to RDF Data Model

8

RDF Graphs• Can have named things, literals (text or

numeric values), named relations/properties, unnamed things…

Page 9: Introduction to RDF Data Model

9

RDF Graphs• Subjects can be URIs or unnamed (a.k.a blank nodes)

• Predicates are URIs• Objects can be URIs, literals, or

unnamed

Page 10: Introduction to RDF Data Model

10

Merging RDF Graphs• Graphs from different sources can be merged• Nodes with the same URI are considered

identical • Blank nodes can be kept separate• Any RDF graph can be merged with any other

RDF graph• Any number of RDF graphs can be merged

Page 11: Introduction to RDF Data Model

11

Example (1/2)

Page 12: Introduction to RDF Data Model

12

Example (2/2)

Page 13: Introduction to RDF Data Model

13

RDF vs. RDBMS• Relational (RDBMS) model• Separate databases with own schemas• Table row: assertion that relation is true for

values in row• SELECT query: filter on assertions for given

conditions• A relation is true (row exists) or false

• RDF model• (Semantic) Web: a single giant graph database• s, p, o identified uniquely with URIs across the

web• A relation is true (triple exists) or is unknown

• RDF more like OO model than RDBMS

Page 14: Introduction to RDF Data Model

14

RDF vs. RDBMS examplefoaf:name (predicate/property)

subject object_:personA “John”_:personB “Jane”_:personC “Fred”

RDF triples expressed as binary relations in RDBMS

Page 15: Introduction to RDF Data Model

15

RDF vs XML• Not another XML format• XML means• Angle-brackets-slashes notation (think HTML)• Data model: tree (DAG) with different nodes

(elements, attributes)• RDF means• Notation: RDF/XML, Turtle, N-triples etc.• Data model: directed graph, uses URIs

Page 16: Introduction to RDF Data Model

16

RDF Formats• All are plain-text serialization formats• RDF/XML: XML notation• Notation3 (N3): superset of TTL, beyond RDF• Turtle (TTL): subset of N3, used only for RDF• N-Triples (NT), N-Quads (NQ): subset of TTL and N3• Simpler/minimal• Easier to parse/generate

Page 17: Introduction to RDF Data Model

17

Turtle• Terse RDF Triple Language (TTL)• Triples are terminated with a full stop• URIs are enclosed in angle brackets (<

and >)• Literals are enclosed by double quotes• <http://example.com/thing>

<http://example.com/relation> “Hello World" .• Use @PREFIX to shorten URIs• @PREFIX ex: <http://example.com/> .• ex:thing ex:relation “Hello World" .

Page 18: Introduction to RDF Data Model

18

Turtle: Same Subject

@PREFIX ex: <http://example.com/> .ex:thing ex:relation "Some Text" ; ex:otherrelation ex:otherthing .

@PREFIX ex: <http://example.com/> . ex:thing ex:relation "Some Text" . ex:thing ex:otherrelation ex:otherthing .

Page 19: Introduction to RDF Data Model

19

Turtle: Same Subject-Predicate@PREFIX ex: <http://example.com/> .

ex:thing ex:relation "Some Text" . ex:thing ex:relation ex:otherthing .

@PREFIX ex: <http://example.com/> . ex:thing ex:relation "Some Text" ,

ex:otherthing .

Page 20: Introduction to RDF Data Model

20

Turtle: Blank Node

• Use _: followed by a label• ‘a’ is the label – valid only within that

particular RDF document• If _a: appears in a different document, it

would refer to a different node

@PREFIX ex: <http://example.com/> . ex:thing ex:relation _:a . _:a ex:property "foo" . _:a ex:property "bar” .

Page 21: Introduction to RDF Data Model

21

Turtle: Literals• Literals can have a language

• Literals can have a datatype

• But not both!

@PREFIX ex: <http://example.com/> . ex:thing ex:relation "Hello"@en . ex:thing ex:relation "Bonjour"@fr .

@PREFIX ex: <http://example.com/> . ex:thing ex:relation "49"^^<http://www.w3.org/2001/XMLSchema#int> .

Page 22: Introduction to RDF Data Model

22

Vendors exampleVendor 1:vendor1:productX dc:title "Cool-O-Matic" .vendor1:productX retail:price "$50.75" .vendor1:productX vendor1:partno "TTK583" .vendor1:productY dc:title "Fluffertron" .vendor1:productY retail:price "$26.50" .vendor1:productY vendor1:partno "AAL132" .

Vendor 2:vendor2:product1 dc:title "Can Closer" .vendor2:product2 dc:title "Dust Unbuster" .

Reviewer 1:vendor1:productX dc:description "This product is good buy!" .

Reviewer 2:vendor2:product2 dc:description "Who needs something to unbust dust? A dust buster would be a better idea, and I wish they posted the price." .vendor2:product2 review:rating review:Excellent .

Page 23: Introduction to RDF Data Model

23

Links

• Government (US, UK), Wikipedia, World Bank, U.S. Census, U.S. SEC, NYTimes, etc.• http://www.w3.org/wiki/DataSetRDFDumps• http://data.nytimes.com/• http://data.gov.uk/

• http://librdf.org/parse• http://www.rdfabout.com/demo/validator/