A Semantic Data Model for Web Applications

4,934 views

Published on

This presentation gives a short overview of the Semantic Web, RDFa and Linked Data. The second part briefly discusses ActiveRaUL, our model and system for developing form-based Web applications using Semantic Web technologies.

Published in: Technology, Education
1 Comment
3 Likes
Statistics
Notes
  • I wish and hope we take soon insightfull action --and give advice about it-- on the side of that 'machines intelligence' wich are able to 'naturally understand' HTML embeded RDF... Though I'm every day surprised how such technologies as HTTP, HTML and XML have gone successfully all the way, evolving from the WWW begining untill nowadays... Perhaps, bringig some ideas to the 'artificial intelligence' and 'neural networks' gurus will suffice at this point.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
4,934
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
82
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

A Semantic Data Model for Web Applications

  1. 1. Armin Haller & Florian Rosenberg A Semantic Data Model for Web Applications CSIRO ICT Centre Conference
  2. 2. Semantic Web Adds machine readable data to Web resources
  3. 3. Semantic Web “First step is putting data on the Web in a form that machines can naturally understand, or converting it to that form. This creates what I call a Semantic Web - a web of data that can be processed directly or indirectly by machines.” – Tim Berners-Lee
  4. 4. Web Resource A page about a book <html> <head> <title>Tractatus Logico-Philosophicus</title> </head> <body> <p> <img src="tractatus.png" /><br/> Written by: Ludwig Wittgenstein <br /> With an Introduction by: Bertrand Russell </p> <p> New York <br /> Harcourt, Brace & Company, Inc. <br /> London: Kegan Paul, Trench, Trubner & Co., Ltd. <br /> <p>1922</p> </body> </html>
  5. 5. Web Resource A Book – Metadata elements Title Author Publisher Date Contributor
  6. 6. Four principles to add machine readable data 1. Identify resources 2. Reuse ontologies 3. Express meaning 4. Link to other Web resources
  7. 7. Semantic Web 1. Identify resources – Uniquely assign a Uniform Resource Identifier (URI) to every Web resource
  8. 8. Title Author Publisher Date Contributor Web Resource 1. Identify resources http://example.org/book/Tractatus_Logico-Philosophicus
  9. 9. Semantic Web 2. Reuse Ontologies – Specification of a conceptualization, ie. a description of the concepts and relationships in a domain – Link to information in ontologies by their URI to reuse the same definition of common concepts, such as the "book" or the "title“
  10. 10. Title Author Publisher Date Contributor Web Resource 2. Reuse ontologies – e.g. Dublin Core http://purl.org/dc/elements/1.1/creator http://purl.org/dc/elements/1.1/date http://purl.org/dc/elements/1.1/publisher http://purl.org/dc/elements/1.1/contributor http://purl.org/dc/elements/1.1/title
  11. 11. Semantic Web 3. Express meaning – Add structured information and set of rules to Web resources – Use knowledge representation language – typically RDF • statements about Web resources in the form of Subject-Predicate-Object (S P O) triples
  12. 12. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:title has a which is
  13. 13. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:creator has a whose name is
  14. 14. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:contributor has a whose name is
  15. 15. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:publisher which is has a
  16. 16. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:date has a which is
  17. 17. @prefix dc: <http://purl.org/dc/terms/> . @prefix : <http://example.org/book#> . :Tractatus_Logico-Philosophicus dc:title "Tractatus Logico-Philospohicus" . :Tractatus_Logico-Philosophicus dc:creator "Ludwig Wittgenstein" . :Tractatus_Logico-Philosophicus dc:contributor "Bertrand Russell" . :Tractatus_Logico-Philosophicus dc:publisher "Harcourt, Brace & Company, Inc." . :Tractatus_Logico-Philosophicus dc:date "1922" . Resulting triples 3. Express meaning
  18. 18. <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:dc="http://purl.org/dc/terms/" xmlns="http://example.org/book#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://example.org/book#Tractatus_Logico Philosophicus"> <dc:title>Tractatus Logicao-Philospohicus</dc:title> <dc:creator>Ludwig Wittgenstein</dc:creator> <dc:contributor>Bertrand Russell</dc:contributor> <dc:publisher>Harcourt, Brace &amp; Company, Inc.</dc:publisher> <dc:date>1922</dc:date> </rdf:Description> </rdf:RDF> Resulting triples in RDF/XML 3. Express meaning
  19. 19. Semantic Web 4. Link to other Web resources – Progressively link to existing Web resources that someone else has defined already
  20. 20. Web Resource 4. Link to other Web resources http://example.org/book/Tractatus_Logico-Philosophicus dc:creator has a whose name is
  21. 21. Web Resource 4. Link to other Web resources http://example.org/book/Tractatus_Logico-Philosophicus dc:creator has a http://dbpedia.org/page/Ludwig_Wittgenstein whose name is
  22. 22. Where is the semantic Web?
  23. 23. RDF → for agents RDF annotations often express metadata (as in our book example) – usually stored in a separate .rdf file – useful for agents, limited use for humans
  24. 24. RDFa → for agents and humans RDFa = RDF in attributes – a way to mark up data in a web page – RDFa encodes RDF triples in HTML – useful for agents and (relatively) easy to use for humans
  25. 25. HTML <html> <head> <title>Tractatus Logico-Philosophicus</title> </head> <body> <p> <img src="tractatus.png" /><br /> Written by: Ludwig Wittgenstein <br /> With an Introduction by: Bertrand Russell <br /><br /> New York <br /> Harcourt, Brace & Company, Inc. <br /> London: Kegan Paul, Trench, Trubner & Co., Ltd. <br /> <p>1922</p> </body> </html>
  26. 26. RDFa example <html prefix="dc: http://purl.org/dc/terms/“ base="http://example.org/book/Tractatus_Logico-Philosophicus"> <head> <title about="" property="dc:title">Tractatus Logico Philosophicus</title> </head> <body> <p about=""> <img src="tractatus.png" /><br /> Written by: <span property="dc:creator">Ludwig Wittgenstein</span> <br /> With an Introduction by: <span property="dc:contributor"> Bertrand Russell</span><br /><br /> New York <br /> <span property="dc:publisher">Harcourt, Brace & Company, Inc. </span><br /> London: Kegan Paul, Trench, Trubner & Co., Ltd. <br /> <p about=""><span property="dc:date">1922</span></p> </body> </html>
  27. 27. RDFa – metadata vs. data RDFa mostly used for metadata, e.g. the book metadata as before But: the principle of the Semantic Web and Linked Data is to add meaning to metadata and data – Data could be metadata, – but it could be data, e.g. a book purchase at Amazon
  28. 28. Forms, metadata vs. data e.g. Book purchase on Amazon First Name: Last Name: Jane Doe Email: jane.doe@example.com Password: ******** Gender: Birthday: 03 04 1976 Male Female
  29. 29. 1976 Forms, metadata vs. data e.g. Book purchase on Amazon First Name: Last Name: Jane Doe Email: jane.doe@example.com Password: ******** Gender: Birthday: 03 04 Male FemaleTitle: Author: Tractatus Logico Phi Ludwig Wittgenstein Price: 25 GBP Amount: 1 Delivery Address: 10 Downing Street London SW1A 2AA United Kingdom
  30. 30. 1976 Forms, metadata vs. data e.g. Book purchase on Amazon First Name: Jane Doe Email: jane.doe@example.com Password: ******** Gender: Birthday: 03 04 Male FemaleTitle: Author: Tractatus Logico Phi Ludwig Wittgenstein Price: 25 GBP Amount: 1 Delivery Address: 10 Downing Street London SW1A 2AA United Kingdom 197604 1 Cardholder: CC Number: Expiry Date: CVV: 999 Price: Type: Mastercard Jane Doe 5999 9999 9999 9999 04 13 25 GBP Last Name:
  31. 31. Forms, metadata vs. data e.g. Book purchase on Amazon 197604 FemaleTitle: Author: Tractatus Logico Phi Ludwig Wittgenstein Price: 25 GBP Amount: 1 Delivery Address: 10 Downing Street London SW1A 2AA United Kingdom → metadata → metadata → metadata / data → data → data → data → data → data
  32. 32. Issue – Adding RDFa for data to forms Form input elements can be annotated with RDFa But: RDFa annotations for input data is not possible → no binding
  33. 33. Issue – Adding RDFa for data to forms e.g. “Jane” can not be defined as foaf:firstName First Name: Last Name: Jane Doe Email: jane.doe@example.com Password: ******** Gender: Birthday: 03 04 1976 Male Female <span about="" property="foaf:firstName" content=""> <input type="text" name=“First Name" value="" /> </span>span> No binding!
  34. 34. Making input data available on the Semantic Web!
  35. 35. Model and System for semantic Web applications – RDF-based model for forms (RaUL) http://purl.org/NET/raul# – RESTful Web service (ActiveRaUL) http://raul.deri.ie/raul – JavaScript RDFa API
  36. 36. RaUL form model Defines meta model for form elements
  37. 37. RaUL form model – Triples defining the structure of a form – Triples defining the data First Name: Last Name: Jane Doe Email: jane.doe@example.com Password: ******** Gender: Birthday: 03 04 1976 Male Female → foaf:firstName → foaf:surname → foaf:mbox → foaf:sha1 → foaf:gender → time:day, time:month, time:year
  38. 38. ActiveRaUL Web service Model-View-Controller – Model: RaUL – View: Rendering service to generate RaUL-based Web forms in XHTML+RDFa – Controller: Web service that maps HTTP terms to CRUD operations on RaUL Web forms
  39. 39. JavaScript RDFa API – Parses RDFa – Manages data binding of form input to data model
  40. 40. Lifecycle 1. Form Modeling: form model in RDF based on the RaUL ontology – Actor: ontology engineer
  41. 41. Lifecycle 2. Form Deployment: form submitted by calling ActiveRaUL – Generic form models in a public namespace → standard form models – Actor: ontology engineer
  42. 42. Lifecycle 3. Form Usage: access and manipulate a form model by calling ActiveRaUL – submit instance data for a form → bound to a data model – Actor: Web user or agent
  43. 43. Lifecycle 4. Data Reuse: Add link to existing, local data or data in the Linked data cloud – RDFa API retrieves data from that URI and prefills form controls – Actor: Form Provider
  44. 44. Conclusion RDFa annotated Web forms which follow the principles of Linked Open Data. Advantages: 1. Non-ambiguous model: typed through an ontological model. 2. RDF data submission: submitted data encoded in RDF. 3. Explicit form structure: form elements are explicitly modelled as RDF statements. 4. External schema augmentation: reuse existing schemas for form data 5. Reuse of Linked Open Data: retrieve data from the Linked Open Data cloud

×