Buscar

Introduction to RDF

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Introduction to the 
RDF Data Model
Sources:
Ian Davis (Talis),
 Prof. Praveen Rao (UMKC),
http://rdfabout.com/
1
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
2
Represent information about resources in the WWW and the relationships b/w them
Designed to represent knowledge in a distributed world
Particularly concerned with meaning
2
The Relational Model
3
Relation = table
Tuple = row
Attribute = column
3
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
4
Example
5
Example
Relationship between entities/resources
6
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
7
URIs you see in RDF documents are merely verbose names for entities, nothing more
7
RDF Graphs
Can have named things, literals (text or numeric values), named relations/properties, unnamed things…
8
As a set of statements (triples) vs. as a graph
8
RDF Graphs
Subjects can be URIs or unnamed 
 (a.k.a blank nodes)
Predicates are URIs
Objects can be URIs, literals, or unnamed
9
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
10
Example (1/2)
11
Example (2/2)
12
12
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
13
RDF vs. RDBMS example
foaf:name(predicate/property)
subject
object
_:personA
“John”
_:personB
“Jane”
_:personC
“Fred”
14
RDF triples expressed as binary relations in RDBMS
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
15
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
16
All (other than RDF/XML) are non-XML and are designed with human-readability in mind
S,p,o,c
16
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" .
17
RDF/XML, notation3, triples, turtle, ntriples, nquads
17
Turtle: Same Subject
18
@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 . 
Turtle: Same Subject-Predicate
19
@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 . 
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
20
@PREFIX ex: <http://example.com/> . 
ex:thing ex:relation _:a . 
_:a ex:property "foo" . 
_:a ex:property "bar” .
Turtle: Literals
Literals can have a language
Literals can have a datatype
But not both!
21
@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> . 
Vendors example
Vendor 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 .
22
RDF allows the vendors and reviewers to agree on what they need to agree on, without forcing anyone to use one particular vocabulary.
Unconstraining while allowing the application to relate information together.
Interoperability: v1’s format is interoperable with v2 even though didn’t have to agree on common meanings
22
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/
23

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais