Your SlideShare is downloading. ×

A Semantic Data Model for Web Applications

4,110

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 …

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,110
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
71
Comments
1
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Armin Haller & Florian Rosenberg A Semantic Data Model for Web Applications CSIRO ICT Centre Conference
  • 2. Semantic Web Adds machine readable data to Web resources
  • 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. 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. Web Resource A Book – Metadata elements Title Author Publisher Date Contributor
  • 6. Four principles to add machine readable data 1. Identify resources 2. Reuse ontologies 3. Express meaning 4. Link to other Web resources
  • 7. Semantic Web 1. Identify resources – Uniquely assign a Uniform Resource Identifier (URI) to every Web resource
  • 8. Title Author Publisher Date Contributor Web Resource 1. Identify resources http://example.org/book/Tractatus_Logico-Philosophicus
  • 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. 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. 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. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:title has a which is
  • 13. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:creator has a whose name is
  • 14. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:contributor has a whose name is
  • 15. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:publisher which is has a
  • 16. Web Resource 3. Express meaning http://example.org/book/Tractatus_Logico-Philosophicus dc:date has a which is
  • 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. <?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. Semantic Web 4. Link to other Web resources – Progressively link to existing Web resources that someone else has defined already
  • 20. Web Resource 4. Link to other Web resources http://example.org/book/Tractatus_Logico-Philosophicus dc:creator has a whose name is
  • 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. Where is the semantic Web?
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Making input data available on the Semantic Web!
  • 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. RaUL form model Defines meta model for form elements
  • 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. 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. JavaScript RDFa API – Parses RDFa – Manages data binding of form input to data model
  • 40. Lifecycle 1. Form Modeling: form model in RDF based on the RaUL ontology – Actor: ontology engineer
  • 41. Lifecycle 2. Form Deployment: form submitted by calling ActiveRaUL – Generic form models in a public namespace → standard form models – Actor: ontology engineer
  • 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. 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. 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

×