1
Semantic Web benefits                        2
Semantic Web benefits Programsand sites can exchange information                          2
Semantic Web benefits Programsand sites can   my-site.net   your-site.org exchange information                           ...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information             ...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information             ...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information             ...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information             ...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information Search engi...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information Search engi...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information Search engi...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information Search engi...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information Search engi...
Semantic Web benefits Programsand sites can   my-site.net   company.com   your-site.org exchange information Search engi...
Key (confusing) terms                        3
Key (confusing) terms   Machine Understandable                            3
Key (confusing) terms   Machine Understandable                RDF                            3
Key (confusing) terms   Machine Understandable                            Linked                             Data         ...
Key (confusing) terms   Machine Understandable                            Linked                             DataSPARQL   ...
Key (confusing) terms   Machine Understandable                                Linked                                 DataS...
Key (confusing) terms   Machine Understandable                                Linked                                 DataS...
Machine Understandable                         4
Machine Understandable                         4
Machine Understandable                         4
Machine Understandable                         4
Machine Understandable                         4
Machine Understandable                         4
Machine Understandable                         4
Machine Understandable            The Semantic Web helps            machines understand what            the information on...
Machine Understandable            The Semantic Web helps            machines understand what            the information on...
Machine Understandable             The Semantic Web helps Lin Clarkis a name    machines understand what             the i...
Machine Understandable Lin Clarkis a name                         4
Machine Understandable             and the relationships Lin Clarkis a name    between different pieces of             inf...
Machine Understandable            and the relationships            between different pieces of            information.    ...
Machine Understandablelinclark.jpgis a picture   and the relationshipsof a person   named               between different ...
RDF      R esource      Description      F ramework                    5
RDF      Everything is a resource                                 6
RDF       Everything is a resource      A resource is a named thing                                    6
RDF       Everything is a resource      A resource is a named thing                  this                                 ...
RDF      Everything is a resource                 this                                 6
RDF      Everything is a resource                                 6
RDF      Everything is a resource      http://lin-clark.com/page.html#this                                            6
RDF      Everything is a resource                                            URI      http://lin-clark.com/page.html#this ...
RDF      Everything is a resource      http://lin-clark.com/page.html#this                                            6
RDF      Everything is a resource                                 6
RDF      Everything is a resource                lin:this                                 6
RDF                                Everything is a resourceNamespacexmlns:lin=”http://lin-clark.com/page.html#            ...
RDF                                Everything is a resourceNamespacexmlns:lin=”http://lin-clark.com/page.html#            ...
RDF      A resource can be a           document            dblp:this                            7
RDF      A resource can be a           document                        foaf:Document            dblp:this                 ...
RDF      A resource can be a           company            deri:this                            8
RDF      A resource can be a           company                        foaf:Organization            deri:this              ...
RDF      A resource can even be a               person               lin:me                                 9
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          ...
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              foaf:made            ...
SVO      12
SVO      12
SVO Subject           12
SVO Subject   Verb                  12
SVO Subject   Verb   Object                           12
SVO      13
SVO      SVO            13
SVO       SVO  My             13
SVO        SVO  My   name is                 13
SVO        SVO  My   name is   Lin Clark                             13
SVO                      SVO      My            name is   Lin Clark<http://lin-clark.com/#me>                             ...
SVO                      SVO      My            name is          Lin Clark<http://lin-clark.com/#me>        <http://xmlns....
SVO                      SVO      My            name is          Lin Clark<http://lin-clark.com/#me>        <http://xmlns....
SVO                       SVO      My             name is         Lin Clark<http://lin-clark.com/#me>        <http://xmlns...
SVO                        SVO      My               name is           Lin Clark<http://lin-clark.com/#me>        <http://...
SVO                      SVO    My               name is           Lin Clark      <http://xmlns.com/foaf/0.1/name>        ...
SVO                      SVO    My               name is           Lin Clark  lin:me      <http://xmlns.com/foaf/0.1/name>...
SVO                      SVO    My              name is             Lin Clark  lin:me      <http://xmlns.com/foaf/0.1/name...
SVO                      SVO    My              name is             Lin Clark  lin:me                                     ...
SVO                      SVO    My              name is             Lin Clark  lin:me           foaf:name                 ...
SVO                      SVO    My              name is             Lin Clark  lin:me           foaf:nameprefix=”lin: http...
SVO                      SVO    My              name is             Lin Clark  lin:me           foaf:name            “Lin ...
SVO               SVO   My        name is      Lin Clark lin:me     foaf:name    “Lin Clark”    I         know        Stép...
SVO               SVO   My        name is      Lin Clark lin:me     foaf:name    “Lin Clark”    I         know        Stép...
SVO               SVO   My        name is      Lin Clark lin:me     foaf:name    “Lin Clark”    I         know        Stép...
SVO               SVO   My        name is      Lin Clark lin:me     foaf:name    “Lin Clark”    I         know        Stép...
SVO               SVO   My        name is      Lin Clark lin:me     foaf:name    “Lin Clark” } Literal    I         know  ...
SVO               SVO   My        name is      Lin Clark lin:me     foaf:name    “Lin Clark” } Literal    I         know  ...
Federated Dataset           foaf:made            swrc:employs                       lin:me   dblp:this                    ...
Federated Dataset           Because we are using http URIs,these resources don’t need to be in the same database          ...
Federated Dataset the resources can be distributed across the Web                in a federated way                       ...
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                     18
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                  using SQL?                                           ...
SPARQL Find and retrieve information from the graph                                                19
SPARQL Find and retrieve information from the graph                 using SPARQL                                          ...
The Semantic Web                   20
The Semantic Web   Machine Understandable                            20
The Semantic Web   Machine Understandable                RDF                            20
The Semantic Web   Machine Understandable                            Linked                             Data              ...
The Semantic Web   Machine Understandable                            Linked                             DataSPARQL        ...
The Semantic Web   Machine Understandable                                Linked                                 DataSPARQL...
The Semantic Web   Machine Understandable                                Linked                                 DataSPARQL...
Why Drupal?              21
Why Drupal?Similarities               21
Why Drupal?Similarities• Both have structured data                              21
Why Drupal?Similarities• Both have structured data• Data is structured in a similar way—  instances of types with properti...
Why Drupal?              22
Why Drupal?Differences              22
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 f...
RDF in Drupal 7 core      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-...
RDF in Drupal 7 core      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-...
RDF in Drupal 7 core   Universities in RDF   Submitted by Lin on Sat, 2009-05-02 10:28                                    ...
RDF in Drupal 7 core   Universities in RDF   Submitted by Lin on Sat, 2009-05-02 10:28   <div class="submitted">     Submi...
RDF in Drupal 7 core   Universities in RDF   Submitted by Lin on Sat, 2009-05-02 10:28                                    ...
RDF in Drupal 7 core   Universities in RDF   Submitted by Lin on Sat, 2009-05-02 10:28   <div class="submitted">     Submi...
RDF in Drupal 7 core   Universities in RDF   Submitted by Lin on Sat, 2009-05-02 10:28                                    ...
RDF in Drupal 7 core   Universities in RDF   Submitted by Lin on Sat, 2009-05-02 10:28   <div class="submitted">     Submi...
?    25
25
25
Microformats               26
MicroformatsBring structured data to HTML                                26
MicroformatsBring structured data to HTML                                26
MicroformatsBring structured data to HTMLLimitations                                26
MicroformatsBring structured data to HTMLLimitations• Not extensible — if your use case doesn’t match the  existing format...
MicroformatsBring structured data to HTMLLimitations• Not extensible — if your use case doesn’t match the  existing format...
RDFa and Microdata                     27
RDFa and MicrodataRDFa                     27
RDFa and MicrodataRDFa• about                     27
RDFa and MicrodataRDFa• about• property, rel                     27
RDFa and MicrodataRDFa• about• property, rel• typeof                     27
RDFa and MicrodataRDFa              Microdata• about• property, rel• typeof                              27
RDFa and MicrodataRDFa              Microdata• about           • itemid• property, rel• typeof                            ...
RDFa and MicrodataRDFa              Microdata• about           • itemid• property, rel   • itemprop• typeof               ...
RDFa and MicrodataRDFa              Microdata• about           • itemid• property, rel   • itemprop• typeof          • ite...
RDFa and MicrodataRDFa              Microdata• about           • itemid• property, rel   • itemprop• typeof          • ite...
A closer look at the RDF that Drupal 7 includes out of the box                                         28
RDF for free in Drupal 7•All entity types:        node               comment        user                  file        term...
RDF for free in Drupal 7•Attributes:           title                  date (created, updated)        all fields*          ...
Drupal 7 entities “cool URIs”•All entities have their own URI  •node/3  •comment/6#comment-6  •user/2  •taxonomy/term/5   ...
Drupal 7 RDFa goodness •FOAF, SIOC, SKOS, DC “out of the box”  •All users have a WebID URI     user/3#me     => foaf:Perso...
Drupal 7 default mappings                                             dc:title                    name             vocabul...
RDFa demo: how machines see Drupal pages •Ubiquity RDFa •Sig.ma - Semantic Information Mashup            http://ubiquity-r...
35
History of Semantics in Drupal•rdf.php (2000, Dries)•FOAF, vCard (2004, walkah)•Relationship (2005, dman)•Semantic Search ...
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                                     38
RDF in Drupal 7 - the story so far                           May 2009                           DERI, Galway              ...
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...
RDFa growth•fastest growing data format on the Web•3.6% of the pages in the Web•510% growth in the last year              ...
RDFa and e-Commerce: BestBuy•GoodRelations•30 % percent increase in traffic•Yahoo observes a 15% increase in the  Click-th...
Why RDF and RDFa?•W3C standards•BBC, New York Times, Reuters, Facebook•Google, Yahoo!                                     ...
RDF in contrib                 44
RDF in contrib RDF Mapping User Interface for site administrators to customize mappings                                   ...
RDF in contrib                 45
RDF in contrib SPARQL Endpoint: anyone can query your site data with SPARQL queries                                       ...
RDF in contrib SPARQL Endpoint: anyone can query your site data with SPARQL queries      Figure 3.6: A list of SPARQL resu...
RDF in contribWhat’s coming up                   46
RDF in contribWhat’s coming upSPARQL Views: A way of connecting to external RDFsources and displaying the results within t...
RDF in contribWhat’s coming upSPARQL Views: A way of connecting to external RDFsources and displaying the results within t...
RDF in Drupal 7 for developers    http://api.drupal.org/api/group/rdf/7                                            47
RDF namespaces declaration                             48
3 ways to set RDF mappings1. Entity type level defaults:   hook_rdf_mappings()       bundle => RDF_DEFAULT_BUNDLE,2. Conte...
Entity type level RDF mappings                                 50
Entity type level RDF mappings                                             dc:title                    name             vo...
Content type / bundle level RDF mappings                                           52
Content type / bundle level RDF mappings                                           53
Custom mappings with rdf_mapping_save()                                          54
Custom mappings with rdf_mapping_save()                                          55
Drupal 7 RDFa internals •Mappings cached with entity info (fast)  •RDFa markup added via the theme    layer. Impacts perfo...
Credits Mark Birbeck         Christopher Ruppel        Johannes Keizer Alex Bronstein       Kanok Ausawawaranun       Hobu...
Sponsored by               58
http://cph2010.drupal.org/node/14733                                       59
Upcoming SlideShare
Loading in …5
×

Understanding the Semantic Web and Drupal - DrupalCon Chicago

849 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
849
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Understanding the Semantic Web and Drupal - DrupalCon Chicago

  1. 1. 1
  2. 2. Semantic Web benefits 2
  3. 3. Semantic Web benefits Programsand sites can exchange information 2
  4. 4. Semantic Web benefits Programsand sites can my-site.net your-site.org exchange information 2
  5. 5. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org exchange information 2
  6. 6. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org exchange information 2
  7. 7. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org exchange information 2
  8. 8. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org exchange information 2
  9. 9. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org exchange information Search engines can display more relevant information in results 2
  10. 10. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org exchange information Search engines can display more relevant information in results 2
  11. 11. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org 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 2
  12. 12. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org 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 2
  13. 13. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org 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 2
  14. 14. Semantic Web benefits Programsand sites can my-site.net company.com your-site.org 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 2
  15. 15. Key (confusing) terms 3
  16. 16. Key (confusing) terms Machine Understandable 3
  17. 17. Key (confusing) terms Machine Understandable RDF 3
  18. 18. Key (confusing) terms Machine Understandable Linked Data RDF 3
  19. 19. Key (confusing) terms Machine Understandable Linked DataSPARQL RDF 3
  20. 20. Key (confusing) terms Machine Understandable Linked DataSPARQL RDF Federated Dataset 3
  21. 21. Key (confusing) terms Machine Understandable Linked DataSPARQL RDF Giant Federated Dataset Global Graph 3
  22. 22. Machine Understandable 4
  23. 23. Machine Understandable 4
  24. 24. Machine Understandable 4
  25. 25. Machine Understandable 4
  26. 26. Machine Understandable 4
  27. 27. Machine Understandable 4
  28. 28. Machine Understandable 4
  29. 29. Machine Understandable The Semantic Web helps machines understand what the information on a Web page is... 4
  30. 30. Machine Understandable The Semantic Web helps machines understand what the information on a Web page is... 4
  31. 31. Machine Understandable The Semantic Web helps Lin Clarkis a name machines understand what the information on a Web page is... 4
  32. 32. Machine Understandable Lin Clarkis a name 4
  33. 33. Machine Understandable and the relationships Lin Clarkis a name between different pieces of information. 4
  34. 34. Machine Understandable and the relationships between different pieces of information. 4
  35. 35. Machine Understandablelinclark.jpgis a picture and the relationshipsof a person named between different pieces of Lin Clark information. 4
  36. 36. RDF R esource Description F ramework 5
  37. 37. RDF Everything is a resource 6
  38. 38. RDF Everything is a resource A resource is a named thing 6
  39. 39. RDF Everything is a resource A resource is a named thing this 6
  40. 40. RDF Everything is a resource this 6
  41. 41. RDF Everything is a resource 6
  42. 42. RDF Everything is a resource http://lin-clark.com/page.html#this 6
  43. 43. RDF Everything is a resource URI http://lin-clark.com/page.html#this 6
  44. 44. RDF Everything is a resource http://lin-clark.com/page.html#this 6
  45. 45. RDF Everything is a resource 6
  46. 46. RDF Everything is a resource lin:this 6
  47. 47. RDF Everything is a resourceNamespacexmlns:lin=”http://lin-clark.com/page.html# lin:this 6
  48. 48. RDF Everything is a resourceNamespacexmlns:lin=”http://lin-clark.com/page.html# CURIE lin:this 6
  49. 49. RDF A resource can be a document dblp:this 7
  50. 50. RDF A resource can be a document foaf:Document dblp:this 7
  51. 51. RDF A resource can be a company deri:this 8
  52. 52. RDF A resource can be a company foaf:Organization deri:this 8
  53. 53. RDF A resource can even be a person lin:me 9
  54. 54. RDF A resource can even be a person foaf:Person lin:me 9
  55. 55. RDF You can describe properties of that person... lin:me 10
  56. 56. RDF You can describe properties of that person... foaf:name Lin Clark lin:me 10
  57. 57. RDF You can describe properties of that person... foaf:name Lin Clark foaf:mbox lin.clark@deri.org lin:me 10
  58. 58. RDF You can describe properties of that person... foaf:name Lin Clark foaf:mbox lin.clark@deri.org foaf:birthday 07-01 lin:me 10
  59. 59. RDF and describe how that person is related to other resources foaf:made swrc:employs lin:me dblp:this deri:this 11
  60. 60. SVO 12
  61. 61. SVO 12
  62. 62. SVO Subject 12
  63. 63. SVO Subject Verb 12
  64. 64. SVO Subject Verb Object 12
  65. 65. SVO 13
  66. 66. SVO SVO 13
  67. 67. SVO SVO My 13
  68. 68. SVO SVO My name is 13
  69. 69. SVO SVO My name is Lin Clark 13
  70. 70. SVO SVO My name is Lin Clark<http://lin-clark.com/#me> 13
  71. 71. SVO SVO My name is Lin Clark<http://lin-clark.com/#me> <http://xmlns.com/foaf/0.1/name> 13
  72. 72. SVO SVO My name is Lin Clark<http://lin-clark.com/#me> <http://xmlns.com/foaf/0.1/name> “Lin Clark” 13
  73. 73. SVO SVO My name is Lin Clark<http://lin-clark.com/#me> <http://xmlns.com/foaf/0.1/name> “Lin Clark” 14
  74. 74. SVO SVO My name is Lin Clark<http://lin-clark.com/#me> <http://xmlns.com/foaf/0.1/name> “Lin Clark” prefix=”lin: http://lin-clark.com/#” 14
  75. 75. SVO SVO My name is Lin Clark <http://xmlns.com/foaf/0.1/name> “Lin Clark”prefix=”lin: http://lin-clark.com/#” 14
  76. 76. SVO SVO My name is Lin Clark lin:me <http://xmlns.com/foaf/0.1/name> “Lin Clark”prefix=”lin: http://lin-clark.com/#” 14
  77. 77. SVO SVO My name is Lin Clark lin:me <http://xmlns.com/foaf/0.1/name> “Lin Clark”prefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 14
  78. 78. SVO SVO My name is Lin Clark lin:me “Lin Clark”prefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 14
  79. 79. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark”prefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 14
  80. 80. SVO SVO My name is Lin Clark lin:me foaf:nameprefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 14
  81. 81. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark”prefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 14
  82. 82. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark” I know Stéphaneprefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 15
  83. 83. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark” I know Stéphane lin:meprefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 15
  84. 84. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark” I know Stéphane lin:me foaf:knowsprefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 15
  85. 85. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark” I know Stéphane lin:me foaf:knows scor:meprefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 15
  86. 86. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark” } Literal I know Stéphane lin:me foaf:knows scor:meprefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 15
  87. 87. SVO SVO My name is Lin Clark lin:me foaf:name “Lin Clark” } Literal I know Stéphane lin:me foaf:knows scor:me } Resourceprefix=”lin: http://lin-clark.com/#”prefix=”foaf : http://xmlns.com/foaf/ 15
  88. 88. Federated Dataset foaf:made swrc:employs lin:me dblp:this deri:this 16
  89. 89. Federated Dataset Because we are using http URIs,these resources don’t need to be in the same database foaf:made swrc:employs lin:me dblp:this deri:this 16
  90. 90. Federated Dataset the resources can be distributed across the Web in a federated way 17
  91. 91. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  92. 92. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  93. 93. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  94. 94. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  95. 95. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  96. 96. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  97. 97. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  98. 98. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  99. 99. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  100. 100. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  101. 101. Giant Global Graph And when all resources are described this way, the Web becomes one giant database... 18
  102. 102. Giant Global Graph 18
  103. 103. SPARQL Find and retrieve information from the graph 19
  104. 104. SPARQL Find and retrieve information from the graph 19
  105. 105. SPARQL Find and retrieve information from the graph 19
  106. 106. SPARQL Find and retrieve information from the graph 19
  107. 107. SPARQL Find and retrieve information from the graph 19
  108. 108. SPARQL Find and retrieve information from the graph 19
  109. 109. SPARQL Find and retrieve information from the graph 19
  110. 110. SPARQL Find and retrieve information from the graph using SQL? 19
  111. 111. SPARQL Find and retrieve information from the graph 19
  112. 112. SPARQL Find and retrieve information from the graph using SPARQL 19
  113. 113. The Semantic Web 20
  114. 114. The Semantic Web Machine Understandable 20
  115. 115. The Semantic Web Machine Understandable RDF 20
  116. 116. The Semantic Web Machine Understandable Linked Data RDF 20
  117. 117. The Semantic Web Machine Understandable Linked DataSPARQL RDF 20
  118. 118. The Semantic Web Machine Understandable Linked DataSPARQL RDF Federated Dataset 20
  119. 119. The Semantic Web Machine Understandable Linked DataSPARQL RDF Giant Federated Dataset Global Graph 20
  120. 120. Why Drupal? 21
  121. 121. Why Drupal?Similarities 21
  122. 122. Why Drupal?Similarities• Both have structured data 21
  123. 123. Why Drupal?Similarities• Both have structured data• Data is structured in a similar way— instances of types with properties and relationships 21
  124. 124. Why Drupal? 22
  125. 125. Why Drupal?Differences 22
  126. 126. Why Drupal?Differences• Drupal’s structure stays hidden in the database, RDF structure is exposed on the page 22
  127. 127. 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 and not explicitly defined, RDF terms are universally dereferencable and explicitly defined 22
  128. 128. RDF in Drupal 7 core <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/ elements/1.1/" version="XHTML+RDFa 1.0" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Lin-Clark | Pittsburgh-based Web developer</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/admin_menu/admin_menu.css?8" /> <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/views/css/views.css?8" /> <link type="text/css" rel="stylesheet" media="all" href="/sites/default/files/css/ css_92e513ffd2110f82d787173e8b07d9c7.css" /> <link type="text/css" rel="stylesheet" media="print" href="/sites/default/files/css/ css_9c70a5072a56f4bc83a718ec42481c1a.css" /> <!--[if IE]> <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/zen/zen/ie.css?8" /> <![endif]--> <script type="text/javascript" src="/sites/default/files/js/js_f68bf536b867998e80bb0bd586727a4a.js"></script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- jQuery.extend(Drupal.settings, { "basePath": "/", "admin_menu": { "margin_top": 1, "position_fixed": 1 }, "cobalt": { "state": "1", "path": "node/33", "bindings": [ "Alt+space", "Ctrl+space" ], "nodes_current": "33" }, "googleanalytics": { "trackOutgoing": 1, "trackMailto": 1, "trackDownload": 1, "trackDownloadExtensions": "7z|aac| avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|phps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml| zip" }, "jcarousel": { "#viewscarousel-Site-Screenshots-block-1": { "scroll": 1, "visible": 1, "animation": "slow", "auto": 6, "wrap": "both", "skin": "ie7" } } }); //--><!]]> </script> </head> <body class="front logged-in node-type-page one-sidebar sidebar-right"> <div id="page"><div id="page-inner"> <a id="navigation-top"></a> <div id="header"><div id="header-inner" class="clear-block"> 23
  129. 129. RDF in Drupal 7 core <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/ elements/1.1/" version="XHTML+RDFa 1.0" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Lin-Clark | Pittsburgh-based Web developer</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/admin_menu/admin_menu.css?8" /> <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/views/css/views.css?8" /> <link type="text/css" rel="stylesheet" media="all" href="/sites/default/files/css/ css_92e513ffd2110f82d787173e8b07d9c7.css" /> <link type="text/css" rel="stylesheet" media="print" href="/sites/default/files/css/ css_9c70a5072a56f4bc83a718ec42481c1a.css" /> <!--[if IE]> <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/zen/zen/ie.css?8" /> <![endif]--> <script type="text/javascript" src="/sites/default/files/js/js_f68bf536b867998e80bb0bd586727a4a.js"></script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- jQuery.extend(Drupal.settings, { "basePath": "/", "admin_menu": { "margin_top": 1, "position_fixed": 1 }, "cobalt": { "state": "1", "path": "node/33", "bindings": [ "Alt+space", "Ctrl+space" ], "nodes_current": "33" }, "googleanalytics": { "trackOutgoing": 1, "trackMailto": 1, "trackDownload": 1, "trackDownloadExtensions": "7z|aac| avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|phps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml| zip" }, "jcarousel": { "#viewscarousel-Site-Screenshots-block-1": { "scroll": 1, "visible": 1, "animation": "slow", "auto": 6, "wrap": "both", "skin": "ie7" } } }); //--><!]]> </script> </head> <body class="front logged-in node-type-page one-sidebar sidebar-right"> <div id="page"><div id="page-inner"> <a id="navigation-top"></a> <div id="header"><div id="header-inner" class="clear-block"> 23
  130. 130. RDF in Drupal 7 core Universities in RDF Submitted by Lin on Sat, 2009-05-02 10:28 24
  131. 131. RDF in Drupal 7 core Universities in RDF Submitted by Lin on Sat, 2009-05-02 10:28 <div class="submitted"> Submitted by <a href="/user/1">Lin</a> on Sat, 2009-05-02 10:28 </div> 24
  132. 132. RDF in Drupal 7 core Universities in RDF Submitted by Lin on Sat, 2009-05-02 10:28 24
  133. 133. RDF in Drupal 7 core Universities in RDF Submitted by Lin on Sat, 2009-05-02 10:28 <div class="submitted"> Submitted by <span rel="sioc:has_creator"> <a href="/user/1">Lin</a></span> on Sat, 2009-05-02 10:28 </div> 24
  134. 134. RDF in Drupal 7 core Universities in RDF Submitted by Lin on Sat, 2009-05-02 10:28 24
  135. 135. RDF in Drupal 7 core Universities in RDF Submitted by Lin on Sat, 2009-05-02 10:28 <div class="submitted"> Submitted by <span rel="sioc:has_creator"> <a href="/user/1" typeof="sioc:User" property="foaf:name">Lin</a></span> on Sat, 2009-05-02 10:28 </div> 24
  136. 136. ? 25
  137. 137. 25
  138. 138. 25
  139. 139. Microformats 26
  140. 140. MicroformatsBring structured data to HTML 26
  141. 141. MicroformatsBring structured data to HTML 26
  142. 142. MicroformatsBring structured data to HTMLLimitations 26
  143. 143. MicroformatsBring structured data to HTMLLimitations• Not extensible — if your use case doesn’t match the existing formats, you can’t make your own 26
  144. 144. MicroformatsBring structured data to HTMLLimitations• Not extensible — if your use case doesn’t match the existing formats, you can’t make your own• Not scopable — properties set on child elements get misinterpreted as properties of parents 26
  145. 145. RDFa and Microdata 27
  146. 146. RDFa and MicrodataRDFa 27
  147. 147. RDFa and MicrodataRDFa• about 27
  148. 148. RDFa and MicrodataRDFa• about• property, rel 27
  149. 149. RDFa and MicrodataRDFa• about• property, rel• typeof 27
  150. 150. RDFa and MicrodataRDFa Microdata• about• property, rel• typeof 27
  151. 151. RDFa and MicrodataRDFa Microdata• about • itemid• property, rel• typeof 27
  152. 152. RDFa and MicrodataRDFa Microdata• about • itemid• property, rel • itemprop• typeof 27
  153. 153. RDFa and MicrodataRDFa Microdata• about • itemid• property, rel • itemprop• typeof • itemtype 27
  154. 154. RDFa and MicrodataRDFa Microdata• about • itemid• property, rel • itemprop• typeof • itemtype 27
  155. 155. A closer look at the RDF that Drupal 7 includes out of the box 28
  156. 156. RDF for free in Drupal 7•All entity types: node comment user file term vocabulary 29
  157. 157. RDF for free in Drupal 7•Attributes: title date (created, updated) all fields* comment count reply of (comment) creator * provided a mapping has been defined for it 30
  158. 158. Drupal 7 entities “cool URIs”•All entities have their own URI •node/3 •comment/6#comment-6 •user/2 •taxonomy/term/5 http://www.w3.org/TR/cooluris/ 31
  159. 159. Drupal 7 RDFa goodness •FOAF, SIOC, SKOS, DC “out of the box” •All users have a WebID URI user/3#me => foaf:Person 32
  160. 160. 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 33
  161. 161. RDFa demo: how machines see Drupal pages •Ubiquity RDFa •Sig.ma - Semantic Information Mashup http://ubiquity-rdfa.googlecode.com/svn/trunk/ubiquity-loader.js 34
  162. 162. 35
  163. 163. History of Semantics in Drupal•rdf.php (2000, Dries)•FOAF, vCard (2004, walkah)•Relationship (2005, dman)•Semantic Search (2006, hendler) 36
  164. 164. History of Semantics in Drupal•RDF (2007, Arto)•OpenCalais (febbraro, 2008)•RDF CCK (2008, scor)•and more... 37
  165. 165. RDF in Drupal 7 - the story so far 38
  166. 166. RDF in Drupal 7 - the story so far May 2009 DERI, Galway 39
  167. 167. 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 40
  168. 168. RDFa growth•fastest growing data format on the Web•3.6% of the pages in the Web•510% growth in the last year http://tripletalk.wordpress.com/2011/01/25/rdfa-deployment-across-the-web/ 41
  169. 169. 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/ 42
  170. 170. Why RDF and RDFa?•W3C standards•BBC, New York Times, Reuters, Facebook•Google, Yahoo! 43
  171. 171. RDF in contrib 44
  172. 172. RDF in contrib RDF Mapping User Interface for site administrators to customize mappings 44
  173. 173. RDF in contrib 45
  174. 174. RDF in contrib SPARQL Endpoint: anyone can query your site data with SPARQL queries 45
  175. 175. RDF in contrib SPARQL Endpoint: anyone can query your site data with SPARQL queries Figure 3.6: A list of SPARQL results (left) and an RDF (right). 45
  176. 176. RDF in contribWhat’s coming up 46
  177. 177. RDF in contribWhat’s coming upSPARQL Views: A way of connecting to external RDFsources and displaying the results within the contextof your site, using different styles as appropriate. 46
  178. 178. RDF in contribWhat’s coming upSPARQL Views: A way of connecting to external RDFsources and displaying the results within the contextof your site, using different styles as appropriate. my-site.net company.com your-site.org 46
  179. 179. RDF in Drupal 7 for developers http://api.drupal.org/api/group/rdf/7 47
  180. 180. RDF namespaces declaration 48
  181. 181. 3 ways to set RDF mappings1. Entity type level defaults: hook_rdf_mappings() bundle => RDF_DEFAULT_BUNDLE,2. Content type / bundle level override: hook_rdf_mappings() bundle => my_content_type,3. Alter mappings for existing bundles: rdf_mapping_save() 49
  182. 182. Entity type level RDF mappings 50
  183. 183. Entity type level RDF 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 51
  184. 184. Content type / bundle level RDF mappings 52
  185. 185. Content type / bundle level RDF mappings 53
  186. 186. Custom mappings with rdf_mapping_save() 54
  187. 187. Custom mappings with rdf_mapping_save() 55
  188. 188. 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. 56
  189. 189. 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 Dirk Ruediger Raul Pedro Fernandes Santos Florian Lorétan Lin Clark Alexander Langer Frédéric Marand Prometheus Robert Douglass Benjamin Melançon William Hayes Rob Loach John Morahan Christopher Albrecht Andrew Kennedy Dries Buytaert Roundabout Publications Knud Möller Angie Byron Aris Vidalis Udo Gerhards catch Gerard Roos Kevin Bridges chx Ludovico Fischer Peter Galiba Peter Wolanin Barry Jaspan yched 57
  190. 190. Sponsored by 58
  191. 191. http://cph2010.drupal.org/node/14733 59

×