Publishing Linked Data
    Getting started

                      Bill Roberts
                 bill@swirrl.com
                 Transmission #6
                     21 July 2010
Other data sources




Your DATA                   Our SYSTEM   The WORLD
Objective


Make it easier for people to find,
 understand and use your data.
Linked Data
1. Use URIs as names for things
2. Use HTTP URIs so that people can look up those
  names
3. When someone looks up a URI, provide useful
  information, using the standards
4. Include links to other URIs so that they can
Tom Scott of the BBC:


 ”...for those considering the
  Linked Data approach we’d say
  that 95% of the work is work you
  should be doing just to build for
  the (non-semantic) web. Get the
  fundamentals right and the leap
  to the Semantic Web is really
Examples to copy

• data.gov.uk
• BBC
• Ordnance Survey
What do I have to do?
• What are the important things to describe?
• Identifiers
• Regular web pages AND data
• Describe the things using RDF
• Links to other data and datasets
• Licensing
• Publish (flat files, CMS, DB-backed web
  app...)
Icing on the cake

• SPARQL end point
• Data dumps
• Semantic site map
• Update feed
What’s the data about?
Identifiers
Linked Data
1. Use URIs as names for things
2. Use HTTP URIs so that people can look up those
  names
3. When someone looks up a URI, provide useful
  information, using the standards
4. Include links to other URIs so that they can
Identifiers
Assign a URI in your domain:


 http://www.bbc.co.uk/nature/species/
 European_Water_Vole#species
 http://data.ordnancesurvey.co.uk/id/50kGazetteer/
 155254
 http://education.data.gov.uk/id/school/135524
Regular web pages
   AND data
OS approach:
Identifier: http://data.ordnancesurvey.co.uk/id/50kGazetteer/155254


HTML version: http://data.ordnancesurvey.co.uk/doc/50kGazetteer/155254


RDF version: http://data.ordnancesurvey.co.uk/doc/50kGazetteer/
155254.rdf


JSON version: http://data.ordnancesurvey.co.uk/doc/50kGazetteer/
155254.json
   ...
BBC approach
Identifier: http://www.bbc.co.uk/nature/species/
European_Water_Vole#species


HTML version: http://www.bbc.co.uk/nature/species/
European_Water_Vole


RDF version: http://www.bbc.co.uk/nature/species/
European_Water_Vole.rdf


   ...
“When someone looks up a URI,
provide useful information, using
         the standards”
Content negotiation
     Tell me about .../id/school/1234 and I want it in RDF


you need to look up .../doc/school/1234.rdf (“303 See Other”)


              OK, give me .../doc/school/1234.rdf

                       RDF document
Describe things with
               RDF
           @prefix owl: <http://www.w3.org/2002/07/owl#> .
Thing      @prefix bbc: <http://www.bbc.co.uk/nature/species/> .
           @prefix wo: <http://purl.org/ontology/wo> .


           bbc:European_Water_Vole
             owl:sameAs <http://dbpedia.org/resource/European_Water_Vole> ;
             wo:order <http://www.bbc.co.uk/nature/order/Rodent#order> .


Attributes and values
Describe things with
        RDF
• Existing common ontologies - collections of
  properties and types
   •   FOAF, Dublin Core, SKOS, Admingeo,
       Geonames...

• Or make up your own
Linked Data
1. Use URIs as names for things
2. Use HTTP URIs so that people can look up those
  names
3. When someone looks up a URI, provide useful
  information, using the standards
4. Include links to other URIs so that they can
Linked Data
<http://www.bbc.co.uk/programmes/p008ffmy#programme>
      po:subject <http://www.bbc.co.uk/nature/species/European_Water_Vole#species> .

<http://news.bbc.co.uk/1/hi/scotland/highlands_and_islands/8659760.stm>
      foaf:primaryTopic <http://www.bbc.co.uk/nature/species/European_Water_Vole#species> .



 ex:school ex:administrativeWard <http://statistics.data.gov.uk/id/local-authority-ward/00QAMH>
Licence: tell people
     what it is
Publish

• flat files
• web app (growing list of libraries, RDF
  database engines...)
• third party services
Querying the data
Summary:
It’s simpler than it looks
Thanks

              Bill Roberts
         bill@swirrl.com
         Transmission #6
             21 July 2010

Transmission6 - Publishing Linked Data

  • 1.
    Publishing Linked Data Getting started Bill Roberts bill@swirrl.com Transmission #6 21 July 2010
  • 2.
    Other data sources YourDATA Our SYSTEM The WORLD
  • 3.
    Objective Make it easierfor people to find, understand and use your data.
  • 4.
    Linked Data 1. UseURIs as names for things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a URI, provide useful information, using the standards 4. Include links to other URIs so that they can
  • 5.
    Tom Scott ofthe BBC: ”...for those considering the Linked Data approach we’d say that 95% of the work is work you should be doing just to build for the (non-semantic) web. Get the fundamentals right and the leap to the Semantic Web is really
  • 6.
    Examples to copy •data.gov.uk • BBC • Ordnance Survey
  • 7.
    What do Ihave to do? • What are the important things to describe? • Identifiers • Regular web pages AND data • Describe the things using RDF • Links to other data and datasets • Licensing • Publish (flat files, CMS, DB-backed web app...)
  • 8.
    Icing on thecake • SPARQL end point • Data dumps • Semantic site map • Update feed
  • 9.
  • 15.
  • 16.
    Linked Data 1. UseURIs as names for things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a URI, provide useful information, using the standards 4. Include links to other URIs so that they can
  • 17.
    Identifiers Assign a URIin your domain: http://www.bbc.co.uk/nature/species/ European_Water_Vole#species http://data.ordnancesurvey.co.uk/id/50kGazetteer/ 155254 http://education.data.gov.uk/id/school/135524
  • 18.
  • 21.
    OS approach: Identifier: http://data.ordnancesurvey.co.uk/id/50kGazetteer/155254 HTMLversion: http://data.ordnancesurvey.co.uk/doc/50kGazetteer/155254 RDF version: http://data.ordnancesurvey.co.uk/doc/50kGazetteer/ 155254.rdf JSON version: http://data.ordnancesurvey.co.uk/doc/50kGazetteer/ 155254.json ...
  • 22.
    BBC approach Identifier: http://www.bbc.co.uk/nature/species/ European_Water_Vole#species HTMLversion: http://www.bbc.co.uk/nature/species/ European_Water_Vole RDF version: http://www.bbc.co.uk/nature/species/ European_Water_Vole.rdf ...
  • 23.
    “When someone looksup a URI, provide useful information, using the standards”
  • 24.
    Content negotiation Tell me about .../id/school/1234 and I want it in RDF you need to look up .../doc/school/1234.rdf (“303 See Other”) OK, give me .../doc/school/1234.rdf RDF document
  • 25.
    Describe things with RDF @prefix owl: <http://www.w3.org/2002/07/owl#> . Thing @prefix bbc: <http://www.bbc.co.uk/nature/species/> . @prefix wo: <http://purl.org/ontology/wo> . bbc:European_Water_Vole owl:sameAs <http://dbpedia.org/resource/European_Water_Vole> ; wo:order <http://www.bbc.co.uk/nature/order/Rodent#order> . Attributes and values
  • 26.
    Describe things with RDF • Existing common ontologies - collections of properties and types • FOAF, Dublin Core, SKOS, Admingeo, Geonames... • Or make up your own
  • 27.
    Linked Data 1. UseURIs as names for things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a URI, provide useful information, using the standards 4. Include links to other URIs so that they can
  • 28.
    Linked Data <http://www.bbc.co.uk/programmes/p008ffmy#programme> po:subject <http://www.bbc.co.uk/nature/species/European_Water_Vole#species> . <http://news.bbc.co.uk/1/hi/scotland/highlands_and_islands/8659760.stm> foaf:primaryTopic <http://www.bbc.co.uk/nature/species/European_Water_Vole#species> . ex:school ex:administrativeWard <http://statistics.data.gov.uk/id/local-authority-ward/00QAMH>
  • 29.
  • 30.
    Publish • flat files •web app (growing list of libraries, RDF database engines...) • third party services
  • 31.
  • 33.
  • 34.
    Thanks Bill Roberts bill@swirrl.com Transmission #6 21 July 2010