The story of RDF in Drupal 7 and
what it means for the Web at large

       Stéphane “scor” Corlosquet
               Lin ...
Stéphane “scor” Corlosquet
•Mass General Hospital
•4 years with Drupal
•Security team
•Drupal 7 RDF module maintainer
Lin Clark
•DERI Galway
•2 years with Drupal
•Documentation team
•Drupal 7 RDF contributor and evangelist
 extraordinaire
Semantic Web benefits
Semantic Web benefits
 Programsand sites can
 exchange information
Semantic Web benefits
                          my-site.net   your-site.org

 Programsand sites can
 exchange information
Semantic Web benefits
                          my-site.net   company.com   your-site.org

 Programsand sites can
 exchang...
Semantic Web benefits
                          my-site.net   company.com   your-site.org

 Programsand sites can
 exchang...
Semantic Web benefits
                          my-site.net   company.com   your-site.org

 Programsand sites can
 exchang...
Semantic Web benefits
                          my-site.net   company.com   your-site.org

 Programsand sites can
 exchang...
Semantic Web benefits
                          my-site.net   company.com   your-site.org

 Programsand sites can
 exchang...
Semantic Web benefits
                          my-site.net   company.com   your-site.org

 Programsand sites can
 exchang...
Semantic Web benefits
                              my-site.net   company.com   your-site.org

 Programsand sites can
 exc...
Semantic Web benefits
                              my-site.net   company.com   your-site.org

 Programsand sites can
 exc...
Semantic Web benefits
                              my-site.net   company.com   your-site.org

 Programsand sites can
 exc...
Semantic Web benefits
                              my-site.net   company.com   your-site.org

 Programsand sites can
 exc...
Key (confusing) terms
Key (confusing) terms

Machine Understandable
Key (confusing) terms

Machine Understandable



               RDF
Key (confusing) terms

Machine Understandable
                         Linked
                         Data
              ...
Key (confusing) terms

   Machine Understandable
                            Linked
                            Data
SPARQ...
Key (confusing) terms

   Machine Understandable
                               Linked
                               Data...
Key (confusing) terms

   Machine Understandable
                               Linked
                               Data...
Machine Understandable
Machine Understandable
Machine Understandable
Machine Understandable
Machine Understandable
Machine Understandable
Machine Understandable
Machine Understandable




            The Semantic Web helps
            machines understand what
            the informa...
Machine Understandable




            The Semantic Web helps
            machines understand what
            the informa...
Machine Understandable




               The Semantic Web helps
   Lin Clark
  is a name    machines understand what
    ...
Machine Understandable




   Lin Clark
  is a name
Machine Understandable




               and the relationships
   Lin Clark
  is a name    between different pieces of
  ...
Machine Understandable




            and the relationships
            between different pieces of
            informati...
Machine Understandable




  linclark.jpg
  is a picture   and the relationships
  of a person
     named
                ...
RDF

      R esource
      Description
      F ramework
RDF
      Everything is a resource
RDF
       Everything is a resource
      A resource is a named thing
RDF
       Everything is a resource
      A resource is a named thing




                  this
RDF
      Everything is a resource




                 this
RDF
            Everything is a resource
      A resource is a uniquely named thing




                      this
RDF
            Everything is a resource
      A resource is a uniquely named thing
RDF
            Everything is a resource
      A resource is a uniquely named thing




            http://lin-clark.com/p...
RDF
            Everything is a resource
      A resource is a uniquely named thing



                                   ...
RDF
            Everything is a resource
      A resource is a uniquely named thing




            http://lin-clark.com/p...
RDF
            Everything is a resource
      A resource is a uniquely named thing
RDF
            Everything is a resource
      A resource is a uniquely named thing




                     lin:this
RDF
                        Everything is a resource
                  A resource is a uniquely named thing



Namespace
x...
RDF
                        Everything is a resource
                  A resource is a uniquely named thing



Namespace
x...
RDF
      A resource can be a
           document




            dblp:this
RDF
      A resource can be a
           document




                        foaf:Document


            dblp:this
RDF
      A resource can be a
           company




            deri:this
RDF
      A resource can be a
           company




                        foaf:Organization


            deri:this
RDF
      A resource can even be a
               person




               lin:me
RDF
      A resource can even be a
               person




                         foaf:Person


               lin:me
RDF
      You can describe properties
           of that person...




      lin:me
RDF
      You can describe properties
           of that person...


                 foaf:name   Lin Clark




      lin:...
RDF
      You can describe properties
           of that person...


                 foaf:name   Lin Clark
              ...
RDF
      You can describe properties
           of that person...


                 foaf:name       Lin Clark
          ...
RDF
      and describe how that person
       is related to other resources
RDF
      and describe how that person
       is related to other resources




                                  deri:this
RDF
      and describe how that person
       is related to other resources


                             swrc:employs


...
RDF
      and describe how that person
       is related to other resources


                             swrc:employs


...
RDF
      and describe how that person
       is related to other resources


      foaf:made              swrc:employs


...
RDF
             and describe how that person
              is related to other resources


              foaf:made       ...
Federated Dataset
 the resources can be distributed across the
        Web in a federated datagraph
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
 And when all resources are described this way,
    the Web becomes one giant database...
Giant Global Graph
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
                   using SQL?
SPARQL
  Find and retrieve information from the graph
SPARQL
  Find and retrieve information from the graph
                  using SPARQL
The Semantic Web
The Semantic Web

   Machine Understandable
The Semantic Web

   Machine Understandable


                  RDF
The Semantic Web

   Machine Understandable   Linked
                             Data
                  RDF
The Semantic Web

   Machine Understandable       Linked
                                 Data
                  RDF
     ...
The Semantic Web

   Machine Understandable       Linked
                                 Data
                    RDF
   ...
The Semantic Web

   Machine Understandable       Linked
                                 Data
 SPARQL             RDF
   ...
Why Drupal?
Why Drupal?

Similarities
Why Drupal?

Similarities
•Both have structured data
Why Drupal?

Similarities
•Both have structured data
•Data is structured in a similar way—
instances of types with propert...
Why Drupal?
Why Drupal?

Differences
Why Drupal?

Differences
•Drupal’s structure stays hidden in the
database, RDF structure is exposed on the
page
Why Drupal?

Differences
•Drupal’s structure stays hidden in the
database, RDF structure is exposed on the
page
•Drupal’s ...
History of Semantics in Drupal
•rdf.php (2000, Dries)
•FOAF, vCard (2004, walkah)
•Relationship (2005, dman)
•Semantic Sea...
History of Semantics in Drupal
•RDF (2007, Arto)
•OpenCalais (febbraro, 2008)
•RDF CCK (2008, scor)
•and more...
RDF in Drupal 7 - the story so far


                        "video from the future"
                        DrupalCon Bos...
RDF in Drupal 7 - the story so far


                           May 2009
                           DERI, Galway
RDF in Drupal 7 - the story so far

                          Danbri (Mr. FOAF)
                          DrupalCon Paris
...
RDF in Drupal 7 - the story so far
RDF in Drupal 7 - the story so far
•61 issues in total
•11 months of coding
•401 lines of code
•372 lines of documentation...
RDF vs RDFa
•Semantic vs. syntax
•Meaning vs. languages
•Data vs. JSON, XML
•RDFa = RDF in attributes
Microformats        vs.    RDFa
unofficial and ad hoc standardized

HTML4, XHTML 1.0     XHTML 1.1, HTML 5

flat namespace ...
RDF and RDFa?
•W3C standards
•BBC, New York Times, Reuters, Facebook
•Google, Yahoo!
•Don’t Repeat Yourself (DRY)
RDFa and e-Commerce: BestBuy
•GoodRelations
•30 % percent increase in traffic
•Yahoo observes a 15% increase in the
  Clic...
Demo:

Enriched search results
with Drupal 7’s RDFa
Demo:
The Web at large
•Drupal = pioneer CMS
•Platform of choice for many use cases
•Influence the trends
•More RDF data on the W...
A closer look at RDF in Drupal 7
RDF spices
•All entity types:
          node       comment

           user         file

           term      vocabulary
RDF spices
•Attributes:
                        date (created,
          title
                          updated)

       ...
Drupal 7 entities “cool URIs”
•All entities have their own unique URI
  •node/3
  •comment/6#comment-6
  •user/2
  •taxono...
Drupal 7 RDFa goodness
 •FOAF, SIOC, SKOS, DC “out of the box”
  •All users have a WebID
     user/3#me     => foaf:Person...
Drupal 7 default mappings
                                            dc:title                    name

            vocabu...
RDFa demo: how machines see Drupal
 pages

 •Ubiquity RDFa
 •Sindice - The Semantic Web index


          http://ubiquity-...
Blog post as a graph
What’s coming up
What’s coming up
RDF Mapping User Interface for site
administrators to customize mappings
What’s coming up
RDF Mapping User Interface for site
administrators to customize mappings
What’s coming up
What’s coming up
SPARQL Endpoint: anyone can query your site data
with SPARQL queries
What’s coming up
SPARQL Endpoint: anyone can query your site data
with SPARQL queries




     Figure 3.6: A list of SPARQ...
What’s coming up
What’s coming up
RDF Proxy: A way of connecting nodes to RDF sources
across the Web and automatically updating your site’s...
What’s coming up
RDF Proxy: A way of connecting nodes to RDF sources
across the Web and automatically updating your site’s...
RDF in Drupal 7 for developers
    http://api.drupal.org/api/group/rdf/7
RDF namespaces declaration




                 http://drupal.org/node/721082
RDF mappings definition
RDF mappings definition
RDF namespaces declaration
Drupal 7 RDFa internals
 •Mappings cached with entity info (fast)
  •RDFa markup added via the theme
    layer. Impacts pe...
Credits
 Mark Birbeck         Christopher Ruppel        Johannes Keizer
 Alex Bronstein       Kanok Ausawawaranun       Ho...
Thanks!

http://semantic-drupal.com/
What did you think?


Step 1: Locate this session on the DCSF site
  http://sf2010.drupal.org/conference/schedule



    S...
RDF presentation at DrupalCon San Francisco 2010
Upcoming SlideShare
Loading in …5
×

RDF presentation at DrupalCon San Francisco 2010

4,407 views

Published on

RDF presentation at DrupalCon San Francisco 2010 presented by Stéphane Corlosquet and Lin Clark

Published in: Technology
0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,407
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
164
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide



  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • Search engines can display more relevant information in results. Data mashers can combine data from different datasets to find new and astounding things
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.
  • The Semantic Web helps machines understand what the information on a Web page is... and the relationships between different pieces of information.






























































  • The first sign of RDF can be seen right from the beginning of the Drupal project, unfortunately RDF was not mature at that time and didn’t see much adoption, and was later replaced by RSS 2.0. Developers have worked on various modules in contrib over the years. Unfortunately there hasn’t been much continuity in these modules, developers have moved on, and the lack of general collaboration between the developers didn’t really help RDF to take off in Drupal... The RDF module is the exception, it was designed as an API to be reused by other module, the closest thing to what Drupal needed.
  • The first sign of RDF can be seen right from the beginning of the Drupal project, unfortunately RDF was not mature at that time and didn’t see much adoption, and was later replaced by RSS 2.0. Developers have worked on various modules in contrib over the years. Unfortunately there hasn’t been much continuity in these modules, developers have moved on, and the lack of general collaboration between the developers didn’t really help RDF to take off in Drupal... The RDF module is the exception, it was designed as an API to be reused by other module, the closest thing to what Drupal needed.
  • Dries announced at DrupalCon Boston he wanted to have RDFa in Drupal 7 core.
  • Several Drupal developers met in Galway to work on the first implementation of what would later become the rdf.module in Drupal 7.
  • Dan Brickely, creator of the FOAF project, gave a keynote at DrupalCon Paris in September 2009
  • First main RDF patch was committed on Oct 19th, 2009.
  • Some stats























  • /**
    * Implements hook_rdf_namespaces().
    */
    function myrdfamodule_rdf_namespaces() {
    return array(
    'gr' => 'http://purl.org/goodrelations/v1#',
    'product' => 'http://search.yahoo.com/searchmonkey/product/',
    );
    }

  • $rdf_mappings = array(
    array(
    'type' => 'node',
    'bundle' => 'item',
    'mapping' => array(
    'rdftype' => array('product:Product'),
    'title' => array(
    'predicates' => array('rdfs:label'),
    ),
    'body' => array(
    'predicates' => array('rdfs:comment'),
    ),
    'field_picture' => array(
    'predicates' => array('rdfs:seeAlso', 'media:image'),
    'type' => 'rel',
    ),
    'field_currency' => array(
    'predicates' => array('product:currency'),
    ),
    'field_price' => array(
    'predicates' => array('product:listPrice'),
    ),
    'field_rating' => array(
    'predicates' => array('review:rating'),
    ),
    'field_total_ratings' => array(
    'predicates' => array('review:totalRatings'),
    ),
    ),
    ),
    );
    rdf_mapping_save($rdf_mapping);

  • rdf_mapping_save($rdf_mapping);

  • $rdf_mappings = array(
    array(
    'type' => 'node',
    'bundle' => 'item',
    'mapping' => array(
    'rdftype' => array('product:Product'),
    'title' => array(
    'predicates' => array('rdfs:label'),
    ),
    'body' => array(
    'predicates' => array('rdfs:comment'),
    ),
    'field_picture' => array(
    'predicates' => array('rdfs:seeAlso', 'media:image'),
    'type' => 'rel',
    ),
    'field_currency' => array(
    'predicates' => array('product:currency'),
    ),
    'field_price' => array(
    'predicates' => array('product:listPrice'),
    ),
    'field_rating' => array(
    'predicates' => array('review:rating'),
    ),
    'field_total_ratings' => array(
    'predicates' => array('review:totalRatings'),
    ),
    ),
    ),
    );
    rdf_mapping_save($rdf_mapping);





  • RDF presentation at DrupalCon San Francisco 2010

    1. 1. The story of RDF in Drupal 7 and what it means for the Web at large Stéphane “scor” Corlosquet Lin Clark
    2. 2. Stéphane “scor” Corlosquet •Mass General Hospital •4 years with Drupal •Security team •Drupal 7 RDF module maintainer
    3. 3. Lin Clark •DERI Galway •2 years with Drupal •Documentation team •Drupal 7 RDF contributor and evangelist extraordinaire
    4. 4. Semantic Web benefits
    5. 5. Semantic Web benefits  Programsand sites can exchange information
    6. 6. Semantic Web benefits my-site.net your-site.org  Programsand sites can exchange information
    7. 7. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information
    8. 8. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information
    9. 9. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information
    10. 10. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information
    11. 11. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information  Search engines can display more relevant information in results
    12. 12. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information  Search engines can display more relevant information in results
    13. 13. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information  Search engines can display more relevant information in results  Data mashers can combine data from different datasets to find new and astounding things
    14. 14. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information  Search engines can display more relevant information in results  Data mashers can combine data from different datasets to find new and astounding things
    15. 15. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information  Search engines can display more relevant information in results  Data mashers can combine data from + different datasets to find new and astounding things
    16. 16. Semantic Web benefits my-site.net company.com your-site.org  Programsand sites can exchange information  Search engines can display more relevant information in results  Data mashers can combine data from + different datasets to find new and astounding things
    17. 17. Key (confusing) terms
    18. 18. Key (confusing) terms Machine Understandable
    19. 19. Key (confusing) terms Machine Understandable RDF
    20. 20. Key (confusing) terms Machine Understandable Linked Data RDF
    21. 21. Key (confusing) terms Machine Understandable Linked Data SPARQL RDF
    22. 22. Key (confusing) terms Machine Understandable Linked Data SPARQL RDF Federated Dataset
    23. 23. Key (confusing) terms Machine Understandable Linked Data SPARQL RDF Giant Global Federated Dataset Graph
    24. 24. Machine Understandable
    25. 25. Machine Understandable
    26. 26. Machine Understandable
    27. 27. Machine Understandable
    28. 28. Machine Understandable
    29. 29. Machine Understandable
    30. 30. Machine Understandable
    31. 31. Machine Understandable The Semantic Web helps machines understand what the information on a Web page is...
    32. 32. Machine Understandable The Semantic Web helps machines understand what the information on a Web page is...
    33. 33. Machine Understandable The Semantic Web helps Lin Clark is a name machines understand what the information on a Web page is...
    34. 34. Machine Understandable Lin Clark is a name
    35. 35. Machine Understandable and the relationships Lin Clark is a name between different pieces of information.
    36. 36. Machine Understandable and the relationships between different pieces of information.
    37. 37. Machine Understandable linclark.jpg is a picture and the relationships of a person named between different pieces of Lin Clark information.
    38. 38. RDF R esource Description F ramework
    39. 39. RDF Everything is a resource
    40. 40. RDF Everything is a resource A resource is a named thing
    41. 41. RDF Everything is a resource A resource is a named thing this
    42. 42. RDF Everything is a resource this
    43. 43. RDF Everything is a resource A resource is a uniquely named thing this
    44. 44. RDF Everything is a resource A resource is a uniquely named thing
    45. 45. RDF Everything is a resource A resource is a uniquely named thing http://lin-clark.com/page.html#this
    46. 46. RDF Everything is a resource A resource is a uniquely named thing URI http://lin-clark.com/page.html#this
    47. 47. RDF Everything is a resource A resource is a uniquely named thing http://lin-clark.com/page.html#this
    48. 48. RDF Everything is a resource A resource is a uniquely named thing
    49. 49. RDF Everything is a resource A resource is a uniquely named thing lin:this
    50. 50. RDF Everything is a resource A resource is a uniquely named thing Namespace xmlns:lin=”http://lin-clark.com/page.html# lin:this
    51. 51. RDF Everything is a resource A resource is a uniquely named thing Namespace xmlns:lin=”http://lin-clark.com/page.html# CURIE lin:this
    52. 52. RDF A resource can be a document dblp:this
    53. 53. RDF A resource can be a document foaf:Document dblp:this
    54. 54. RDF A resource can be a company deri:this
    55. 55. RDF A resource can be a company foaf:Organization deri:this
    56. 56. RDF A resource can even be a person lin:me
    57. 57. RDF A resource can even be a person foaf:Person lin:me
    58. 58. RDF You can describe properties of that person... lin:me
    59. 59. RDF You can describe properties of that person... foaf:name Lin Clark lin:me
    60. 60. RDF You can describe properties of that person... foaf:name Lin Clark foaf:mbox lin.clark@deri.org lin:me
    61. 61. RDF You can describe properties of that person... foaf:name Lin Clark foaf:mbox lin.clark@deri.org foaf:birthday 07-01 lin:me
    62. 62. RDF and describe how that person is related to other resources
    63. 63. RDF and describe how that person is related to other resources deri:this
    64. 64. RDF and describe how that person is related to other resources swrc:employs deri:this
    65. 65. RDF and describe how that person is related to other resources swrc:employs lin:me deri:this
    66. 66. RDF and describe how that person is related to other resources foaf:made swrc:employs lin:me deri:this
    67. 67. RDF and describe how that person is related to other resources foaf:made swrc:employs lin:me dblp:this deri:this
    68. 68. Federated Dataset the resources can be distributed across the Web in a federated datagraph
    69. 69. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    70. 70. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    71. 71. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    72. 72. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    73. 73. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    74. 74. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    75. 75. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    76. 76. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    77. 77. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    78. 78. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    79. 79. Giant Global Graph And when all resources are described this way, the Web becomes one giant database...
    80. 80. Giant Global Graph
    81. 81. SPARQL Find and retrieve information from the graph
    82. 82. SPARQL Find and retrieve information from the graph
    83. 83. SPARQL Find and retrieve information from the graph
    84. 84. SPARQL Find and retrieve information from the graph
    85. 85. SPARQL Find and retrieve information from the graph
    86. 86. SPARQL Find and retrieve information from the graph
    87. 87. SPARQL Find and retrieve information from the graph
    88. 88. SPARQL Find and retrieve information from the graph using SQL?
    89. 89. SPARQL Find and retrieve information from the graph
    90. 90. SPARQL Find and retrieve information from the graph using SPARQL
    91. 91. The Semantic Web
    92. 92. The Semantic Web Machine Understandable
    93. 93. The Semantic Web Machine Understandable RDF
    94. 94. The Semantic Web Machine Understandable Linked Data RDF
    95. 95. The Semantic Web Machine Understandable Linked Data RDF Federated Dataset
    96. 96. The Semantic Web Machine Understandable Linked Data RDF Giant Federated Dataset Global Graph
    97. 97. The Semantic Web Machine Understandable Linked Data SPARQL RDF Giant Federated Dataset Global Graph
    98. 98. Why Drupal?
    99. 99. Why Drupal? Similarities
    100. 100. Why Drupal? Similarities •Both have structured data
    101. 101. Why Drupal? Similarities •Both have structured data •Data is structured in a similar way— instances of types with properties and relationships
    102. 102. Why Drupal?
    103. 103. Why Drupal? Differences
    104. 104. Why Drupal? Differences •Drupal’s structure stays hidden in the database, RDF structure is exposed on the page
    105. 105. Why Drupal? Differences •Drupal’s structure stays hidden in the database, RDF structure is exposed on the page •Drupal’s field names are unique to the site, RDF terms are universally dereferencable and explicitly defined
    106. 106. History of Semantics in Drupal •rdf.php (2000, Dries) •FOAF, vCard (2004, walkah) •Relationship (2005, dman) •Semantic Search (2006, hendler)
    107. 107. History of Semantics in Drupal •RDF (2007, Arto) •OpenCalais (febbraro, 2008) •RDF CCK (2008, scor) •and more...
    108. 108. RDF in Drupal 7 - the story so far "video from the future" DrupalCon Boston 2008
    109. 109. RDF in Drupal 7 - the story so far May 2009 DERI, Galway
    110. 110. RDF in Drupal 7 - the story so far Danbri (Mr. FOAF) DrupalCon Paris 2009
    111. 111. RDF in Drupal 7 - the story so far
    112. 112. RDF in Drupal 7 - the story so far •61 issues in total •11 months of coding •401 lines of code •372 lines of documentation •537 lines of tests
    113. 113. RDF vs RDFa •Semantic vs. syntax •Meaning vs. languages •Data vs. JSON, XML •RDFa = RDF in attributes
    114. 114. Microformats vs. RDFa unofficial and ad hoc standardized HTML4, XHTML 1.0 XHTML 1.1, HTML 5 flat namespace XML namespaces defined by one interoperable organization definitions
    115. 115. RDF and RDFa? •W3C standards •BBC, New York Times, Reuters, Facebook •Google, Yahoo! •Don’t Repeat Yourself (DRY)
    116. 116. RDFa and e-Commerce: BestBuy •GoodRelations •30 % percent increase in traffic •Yahoo observes a 15% increase in the Click-through-Rate http://rdfa.info/2009/12/11/best-buy-and-rdfa/
    117. 117. Demo: Enriched search results with Drupal 7’s RDFa
    118. 118. Demo:
    119. 119. The Web at large •Drupal = pioneer CMS •Platform of choice for many use cases •Influence the trends •More RDF data on the Web
    120. 120. A closer look at RDF in Drupal 7
    121. 121. RDF spices •All entity types: node comment user file term vocabulary
    122. 122. RDF spices •Attributes: date (created, title updated) all fields comment count reply of (comment) creator
    123. 123. Drupal 7 entities “cool URIs” •All entities have their own unique URI •node/3 •comment/6#comment-6 •user/2 •taxonomy/term/5 http://www.w3.org/TR/cooluris/
    124. 124. Drupal 7 RDFa goodness •FOAF, SIOC, SKOS, DC “out of the box” •All users have a WebID user/3#me => foaf:Person FOAF+SSL authentication (contrib) http://www.w3.org/TR/cooluris/
    125. 125. Drupal 7 default mappings dc:title name vocabulary rdfs:comment term description skos:Concept Scheme skos:inScheme skos:prefLabel, name rdfs:label term skos:definition description skos:Concept skos:broader dc:subject dc:title title node dc:created, dc:date creation date user sioc:has_creator sioc:Item, sioc:User foaf:Document dc:modified modification date Account content:encoded body sioc:num_replies number replies foaf:page foaf:name sioc:has_creator sioc:reply_of dc:title title homepage user name comment dc:created, dc:date creation date sioc:Post, sioct:Comment dc:modified modification date content:encoded sioc:reply_of body
    126. 126. RDFa demo: how machines see Drupal pages •Ubiquity RDFa •Sindice - The Semantic Web index http://ubiquity-rdfa.googlecode.com/svn/trunk/ubiquity-loader.js http://sindice.com/
    127. 127. Blog post as a graph
    128. 128. What’s coming up
    129. 129. What’s coming up RDF Mapping User Interface for site administrators to customize mappings
    130. 130. What’s coming up RDF Mapping User Interface for site administrators to customize mappings
    131. 131. What’s coming up
    132. 132. What’s coming up SPARQL Endpoint: anyone can query your site data with SPARQL queries
    133. 133. What’s coming up SPARQL Endpoint: anyone can query your site data with SPARQL queries Figure 3.6: A list of SPARQL results (left) and an RDF S
    134. 134. What’s coming up
    135. 135. What’s coming up RDF Proxy: A way of connecting nodes to RDF sources across the Web and automatically updating your site’s information when it is changed at the source
    136. 136. What’s coming up RDF Proxy: A way of connecting nodes to RDF sources across the Web and automatically updating your site’s information when it is changed at the source my-site.net company.com your-site.org
    137. 137. RDF in Drupal 7 for developers http://api.drupal.org/api/group/rdf/7
    138. 138. RDF namespaces declaration http://drupal.org/node/721082
    139. 139. RDF mappings definition
    140. 140. RDF mappings definition
    141. 141. RDF namespaces declaration
    142. 142. Drupal 7 RDFa internals •Mappings cached with entity info (fast) •RDFa markup added via the theme layer. Impacts performance on pages with many comments: turn on page cache.
    143. 143. Credits Mark Birbeck Christopher Ruppel Johannes Keizer Alex Bronstein Kanok Ausawawaranun Hobury John Breslin John Breslin Benjamin Doherty Benjamin Doherty Scriptall Giorgos Kontopoulos Stefan Freudenberg cocoate Thomas Speer Rolf Guescini Frank Febbraro Łukasz Kowalski Daniel F. Kudwien Florian Lorétan Dirk Ruediger Raul Pedro Fernandes Frédéric Marand Lin Clark Santos Benjamin Melançon Prometheus Alexander Langer John Morahan William Hayes Robert Douglass Dries Buytaert Christopher Albrecht Rob Loach Angie Byron Roundabout Publications Andrew Kennedy catch Aris Vidalis Knud Moeller chx Gerard Roos Udo Gerhards Peter Wolanin Ludovico Fischer Barry Jaspan yched
    144. 144. Thanks! http://semantic-drupal.com/
    145. 145. What did you think? Step 1: Locate this session on the DCSF site http://sf2010.drupal.org/conference/schedule Step 2: Click the “Take Survey” link

    ×