Creating Linked Data Juan F. Sequeda Semantic Technology Conference June 2011

Preview:

Citation preview

Creating Linked Data

Juan F. SequedaSemantic Technology Conference

June 2011

Linked Data is a set of best practices to publish and interlink data

on the web

Linked Data Principles

1. Use URIs as names for things

2. Use HTTP URIs so that people can look up (dereference) those names.

3. When someone looks up a URI, provide useful information.

4. Include links to other URIs so that they can discover more things.

1) Use URIs as names for things

1) Use URIs as names for things

• Uniform Resource Identifiers identify real world objects and abstract concepts– Not only web documents and digital content– People, places, locations, my car– Know somebody, from somewhere

1) Use URIs as names for things

http://juansequeda.com/foaf.rdf#me http://www.w3.org/People/Berners-Lee/card#i

http://xmlns.com/foaf/0.1/knows

1) Use URIs as names for things

• http://juansequeda.com/foaf.rdf#me– Identifies the person

• http://juansequeda.com/foaf.rdf– Identifies an RDF document

2) Use HTTP URIs so that people can look up (dereference) those names.

2) Use HTTP URIs so that people can look up (dereference) those names.

• HTTP protocol is the Web’s universal access mechanism

• Linked Data only uses HTTP URIs– URI: unique name– HTTP URI: universal means of access to the URI

• HTTP URIs should be dereferencable

Dereference a URI?

What’s with the redirection?

RDFa

<html>…

<div xmlns:dc=“http://purl.org/dc/elements/1.1/”><h2 property=“dc:title”>The trouble with

Bob</h2><h3 property=“dc:creator”>Alice</h3>….

</div>…</html>

Minting HTTP URIs

• If you own the domain name and run a web server at that location, mint URIs in this namespace

• I own the domain mycompany.com• I run a webserver http://mycompany.com• I now can mint URIs in this namespace:– http://mycompany.com/person/Juan-Sequeda

Create Cool URIs

• If you don’t control a namespace, don’t misuse it– http://www.imdb.com/title

• Avoid implementation details– http://foo.mycompany.com:8080/person.php?id=

123&format=rdf• Use Natural Keys within URI– http://mycompany.com/person/Juan-Sequeda– http://mycompany.com/person/123

Three different URIs• URI for the real world object (non-information resource)

– http://dbpedia.org/resource/London– http://id.mycompany.com/person/Juan-Sequeda– http://mycompany.com/person/Juan-Sequeda– http://www.juansequeda.com/foaf.rdf#me

• URI for the HTML document (information resource) that describes the real world object– http://dbpedia.org/page/London– http://pages.mycompany.com/person/Juan-Sequeda– http://mycompany.com/person/Juan-Sequeda.html

• URI for the RDF document (information resource) that describes the real world object– http://dbpedia.org/data/London– http://data.mycompany.com/Juan-Sequeda– http://mycompany.com/person/Juan-Sequeda.rdf– http://www.juansequeda.com/foaf.rdf

3) Provide useful information

3) Provide useful information

• How do we provide useful information in document form on the web? HTML

• How do we provide useful information in data form on the web RDF

• Different ways of serializing RDF– RDF/XML– RDFa– N3– turtle

RDFsubject – predicate – object

Coldplay is the artist of Viva la VidaColdplay is the artist of Viva la Vida

http://dbpedia.org/resource/Coldplay

http://dbpedia.org/resource/Viva_la_Vida

http://dbpedia.org/ontology/artist

prefix dbpedia-owl: <http://dbpedia.org/ontology/> prefix foaf: <http://xmlns.com/foaf/0.1/>prefix dbprop: <http://dbpedia.org/property/> prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

http://dbpedia.org/resource/Coldplay

http://dbpedia.org/resource/Viva_la_Vida

http://dbpedia.org/resource/London

dbpedia-owl:artist foaf:name

dbprop:origin

geo:longgeo:lat

“Coldplay”

51.507778-0.128056

<http://dbpedia.org/resource/Coldplay> <http://dbpedia.org/ontology/artist> <http://dbpedia.org/resource/Viva_la_Vida> . <http://dbpedia.org/resource/Coldplay> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Band> .

<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<dbpedia-owl:Band xmlns:dbpedia-owl="http://dbpedia.org/ontology/" rdf:about="http://dbpedia.org/resource/Coldplay"><dbpedia-owl:artist

rdf:resource="http://dbpedia.org/resource/Viva_la_Vida"/> </dbpedia-owl:Band></rdf:RDF>

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://dbpedia.org/resource/Coldplay>a <http://dbpedia.org/ontology/Band> ; <http://dbpedia.org/ontology/artist>

<http://dbpedia.org/resource/Viva_la_Vida> .

ntriples

RDF/XML

turtle

HTML

<div>My name is Bob Smith, but people call me Smithy. Here is my home page:<a href="http://www.example.com">www.example.com</a>.I live in Albuquerque, NM and work as an engineer at ACME Corp.My friends:<a href="http://darryl-blog.example.com">Darryl</a>,<a href="http://edna-blog.example.com">Edna</a></div>

RDFa (RDF in HTML)<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person"> My name is <span property="v:name">Bob Smith</span>, but people call me <span property="v:nickname">Smithy</span>. Here is my homepage: <a href="http://www.example.com" rel="v:url">www.example.com</a>. I live in <span rel="v:address"> <span typeof="v:Address"> <span property="v:locality">Albuquerque</span>, <span property="v:region">NM</span> </span> </span> and work as an <span property="v:title">engineer</span> at <span property="v:affiliation">ACME Corp</span>. My friends: <a href="http://darryl-blog.example.com" rel="v:friend">Darryl</a>, <a href="http://edna-blog.example.com" rel="v:friend">Edna</a></div>

What to publish?

• Literal Triples<http://www.bbc.co.uk/music/artists/cc197bad-dc9c-440d-a5b5-d52ba2e14234#artist>

<foaf:name> “Coldplay”

• Outgoing Links<http://www.bbc.co.uk/music/artists/cc197bad-dc9c-440d-a5b5-d52ba2e14234#artist>

<owl:sameAs> <http://dbpedia.org/resource/Coldplay>

• Incoming Link<http://www.bbc.co.uk/music/artists/18690715-59fa-4e4d-bcf3-8025cf1c23e0#artist>

<mo:member_of> <http://www.bbc.co.uk/music/artists/cc197bad-dc9c-440d-a5b5-d52ba2e14234#artist>

What to publish?

• Description of the data set– Semantic Sitemaps– voiD (Vocabulary of Interlinked Datasets)

• Provenance Metadata• Licenses Information

Vocabularies (or Schemas or Ontologies)

• Create your own using– Simple Knowledge Organization Systems (SKOS)• Taxonomy

– RDF Vocabulary Description Language (RDF Schema)• Light weight vocabularies

– Web Ontological Language (OWL)• Highly expressive and capable of inferencing

Vocabularies (or Schemas or Ontologies)

• Reuse vocabularies– Dublin Core: metadata attributes– Friend of a Friend (FOAF): persons and relationships– Semantically Interlinked Online Communities (SIOC):

describing users, posts, blogs, etc– Description of a Project (DOAP)– Music Ontology– Programmes Ontology: TV and radio programs– Good Relations: describing products and services– Review Vocabulary– Basic Geo (WGS84) Vocabulary

4) Include links to other things

4) Include links to other things

• Set external RDF links into other data sources on the Web– Subject of the triple is in the namespace of one

data set– Object of the triple is a URI in the namespace of

another data set• Connect siloed data islands• Enable discovery

4) Include links to other things

• Relationship Links<http://www.bbc.co.uk/music/artists/cc197bad-dc9c-440d-a5b5-d52ba2e14234#artist> <http://xmlns.com/foaf/0.1/based_near>

<http://dbpedia.org/resource/London>

• Identity Link<http://www.bbc.co.uk/music/artists/cc197bad-dc9c-440d-a5b5-d52ba2e14234#artist>

<http://www.w3.org/2002/07/owl#sameAs><http://dbpedia.org/resource/Coldplay>

• Vocabulary Links<http://purl.org/ontology/mo/image>

<http://www.w3.org/2000/01/rdf-schema#subPropertyOf><http://xmlns.com/foaf/0.1/depiction>

Which predicate for linking to choose?

• Depends on your domain• Is it widely used?– owl:sameAs– foaf:knows– foaf:based_near– …

• If you create your own, relate it to a widely used predicate

How to create the links?

• Manually– Works for small and static data sets– I want to find another URI that identifies the same

real object that I have• Sindice and Falcons provide index of URIs by keyword

• (Semi) Automatic– Record Linkage/Identity Resolution/Co-reference– Silk: http://www4.wiwiss.fu-berlin.de/bizer/silk/– LIMES: http://aksw.org/Projects/limes

Recommended