ϕArmin   Haller | δTudor Groza | ξFlorian RosenbergInteracting with Linked Data viaSemantically Annotated WidgetsJoint Int...
A little motivation for the work…… why interacting with the Linked data Web?
Linked data WebBuilding a Web of Data …… four principlesPublishing, interlinking data in RDFvia de-referenceable URIs
Publishing RDFTwo (standardised) serializationformats to publish RDF (graphs)1. RDF/XML2. RDFa
RDF/XMLWidely used to publish linked dataAll benefits of XML, but …… syntax difficult for humans to read and write… additi...
RDFaRelatively new format, but used byalready 5% of web sitesInterwoven within the HTML DOM …… existing content within the...
RDFa exampleSimple page about a book<html><head> <title>The Art of Computer Programming, Volume 1:   Fundamental Algorithm...
RDFa exampleSimple page about a book<html><head prefix="dc: http://purl.org/dc/terms/“      base="http://example.org/book/...
Embedded triples@prefix dc:   <http://purl.org/dc/terms/> .@prefix :     <http://example.org/book/> .:TAoCP dc:title "Art ...
RDFa – provider vs. user contentRDFa only usable for provider createdcontentIdeally, all user input data should bepart of ...
Example user created content in Web forms          e.g. Buy a TV online (e.g. Amazon, Ebay)First Name:         JaneLast Na...
Example user created content in Web forms          e.g. Buy a TV online (e.g. Amazon, Ebay)First Name:         JaneLast Na...
Example user created content in Web forms          e.g. Buy a TV online (e.g. Amazon, Ebay)First Name:         JaneLast Na...
No annotation for user created contentForm input elements can be annotatedwith RDFa …… but, RDFa annotations for input dat...
No annotation for user created content (cont’d)Provider content vs. User created content Category:        Female        LC...
No annotation for user created content (cont’d)e.g. “Jane” can not be defined asfoaf:firstName             First Name:    ...
Publishing and Reusing usercreated content on the Linked          Data Web!
Model and System for semantic Web applications   – RDF-based model for forms (RaUL)    http://purl.org/NET/raul#   – RESTf...
ActiveRaUL system architecture                 Controller:                 Web service that maps HTTP terms to            ...
Usage Scenario1.   Form Modeling:     Model widgets (forms)     in RDF based on the     RaUL ontology2.   Form Deployment:...
Form Modeling• RDFa User Interface Language  (RaUL) Ontology for widget  (form) control elements• Data binding mechanism t...
RaUL Form ModelWidget (form) meta model
RaUL Form Model   – Triples defining the form structure Category:      LCD Television              raul:textbox Product Na...
RaUL Form Model   – Triples defining the form input data Category:      LCD Television              gr:category Product Na...
Form Deployment•   RESTful service for managing    Web widgets (forms)•   Maps HTTP verbs to SPARQL    queries on RaUL mod...
Form Deployment •   RESTful service for managing     Web widgets (forms) •   Maps HTTP verbs to SPARQL     queries on RaUL...
Form Usage1. Web user retrieves Web forms   (and content) using ActiveRaUL   (via browser)2. ActiveRaUL returns web form i...
HTML+RDFa view rendering<html><head> <base href="#addProduct"/> <meta property="raul:title" content="Add Product"/> <title...
Form Usage    Data Reuse    • Link to existing, local data or data in the      Linked Data Web           –   Client-side J...
Form Usage    Data Reuse    • Link to existing, local data or data in the      Linked Data Web           –   Client JS API...
Form Usage    Data Reuse    • Link to existing, local data or data in the      Linked Data Web         –     Client JS API...
EvaluationQuantitative evaluation to analyse possibleperformance issues of our approachPerformance of the ActiveRaUL frame...
Evaluation - Overhead          • Comparison of request sizes for HTTP GET            requests and HTTP PUT/POST requests a...
Evaluation - Overhead          • Comparison of request sizes for HTTP GET and            HTTP PUT/POST requests and respon...
Evaluation – Overhead – Discussion• Content overhead a result of using  RDFa for the annotation of the  semantic forms/wid...
Evaluation – Performance of view generationMeasured time required togenerate an increasing number(1, 10 and 100) of widget...
ConclusionActiveRaUL combines Web engineering withprinciples of Linked Open Data/Semantic Web    • RDFa annotated Web form...
Upcoming SlideShare
Loading in...5
×

Interacting with Linked Data via semantically annotated widgets

591

Published on

The continuous growth of the Linked Data Web brings us closer to the original vision of the Web as an interconnected network of machine-readable resources. There is, however, an essential aspect in principle still missing from this vision, i.e., the ability for the Web user to interact directly with the Linked Data in a read/write manner. In this presentation we introduce a lifecycle and associated mechanism to enable a domain-agnostic read/write interaction with Linked Data in the context of a single data provider. Our solution uses an ontology to build a binding front-end for a given RDF model, in addition to RDFa to maintain the semantics of the resulting form/widget components. On the processing side, a RESTful Web service is provided to seamlessly manage semantic widgets and their associated data, and hence enable the read/write data interaction mechanism. The evaluation shows that the generation process presents no performance issues, while the content overhead required for the actual form-data binding is kept to a minimum.

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

  • Be the first to like this

No Downloads
Views
Total Views
591
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Interacting with Linked Data via semantically annotated widgets

  1. 1. ϕArmin Haller | δTudor Groza | ξFlorian RosenbergInteracting with Linked Data viaSemantically Annotated WidgetsJoint International Semantic Technology ConferenceϕCSIRO ICT Centre, Australia|W3C AustraliaδQueensland University, AustraliaξIBM T.J. Watson, NY, USA
  2. 2. A little motivation for the work…… why interacting with the Linked data Web?
  3. 3. Linked data WebBuilding a Web of Data …… four principlesPublishing, interlinking data in RDFvia de-referenceable URIs
  4. 4. Publishing RDFTwo (standardised) serializationformats to publish RDF (graphs)1. RDF/XML2. RDFa
  5. 5. RDF/XMLWidely used to publish linked dataAll benefits of XML, but …… syntax difficult for humans to read and write… additional to HTML… needs full control over publishing infrastructure (Rewrites etc.)
  6. 6. RDFaRelatively new format, but used byalready 5% of web sitesInterwoven within the HTML DOM …… existing content within the pagecan be marked up with RDFa… no additional control overpublishing infrastructure needed
  7. 7. RDFa exampleSimple page about a book<html><head> <title>The Art of Computer Programming, Volume 1: Fundamental Algorithms</title></head><body> <div><img src="theartofprogramming.jpg" /></div> <div>Donald E. Knuth</div> <div>Edition 3</div> <div>Addison-Wesley Professional</div> <div>672 pages</div> <div>ISBN-10: 0201896834</div></body></html>
  8. 8. RDFa exampleSimple page about a book<html><head prefix="dc: http://purl.org/dc/terms/“ base="http://example.org/book/TAoCP> <title about="" property="dc:title">The Art of Computer Programming, Volume 1: Fundamental Algorithms</title></head><body> <div about=""> <div><img src="theartofprogramming.jpg" /></div> <div property="dc:creator">Donald E. Knuth</div> <div>Edition 3</div> <div property="dc:publisher">Addison-Wesley Professional</div> <div property="dc:SizeOrDuration">672 pages</div> <div property="dc:identifier">ISBN-10: 0201896834</div> </div></body></html>
  9. 9. Embedded triples@prefix dc: <http://purl.org/dc/terms/> .@prefix : <http://example.org/book/> .:TAoCP dc:title "Art of Computer Programming, Volume 1: Fundamental Algorithms" .:TAoCP dc:creator "Donald E. Knuth" .:TAoCP dc:publisher "Addison-Wesley Professional" .:TAoCP dc:SizeOrDuration ”672 pages" .:TAoCP dc:identifier "ISBN-10: 0201896834" .
  10. 10. RDFa – provider vs. user contentRDFa only usable for provider createdcontentIdeally, all user input data should bepart of the RDF graph, …… currently no mechanism in RDFato type user created content (withinthe DOM)
  11. 11. Example user created content in Web forms e.g. Buy a TV online (e.g. Amazon, Ebay)First Name: JaneLast Name: DoeEmail: jane.doe@example.comPassword: ********Gender: Male FemaleBirthday: 03 04 1976
  12. 12. Example user created content in Web forms e.g. Buy a TV online (e.g. Amazon, Ebay)First Name: JaneLast Name: DoeEmail: jane.doe@example.comPassword: ********Gender: Male Category: Female Female LCD TelevisionBirthday: 03 04 Product1976 1976 Name: Sony Bravia LX9000 Description: Your complete 3D experience from Sony Price: 1500 USD Amount 1 Delivery 10 Downing Street Address: London SW1A 2AA United Kingdom
  13. 13. Example user created content in Web forms e.g. Buy a TV online (e.g. Amazon, Ebay)First Name: JaneLast Name: DoeEmail: jane.doe@example.comPassword: ********Gender: Male Category: Female Female LCD TelevisionBirthday: 03 04 Product1976 1976 Name: Sony Bravia LX9000 Description: Your complete 3D experience from Sony Price: Price: 1500 USD 25 GBP Type: Mastercard Amount 1 Delivery Cardholder: 1 04 1976 Jane Doe 10 Downing Street Address: CC Number: 5999 9999 9999 9999 London SW1A 2AAExpiry Date: 04 13 CVV: United Kingdom 999
  14. 14. No annotation for user created contentForm input elements can be annotatedwith RDFa …… but, RDFa annotations for input dataare not possible no bindingmechanism in RDFa
  15. 15. No annotation for user created content (cont’d)Provider content vs. User created content Category: Female LCD Television Provider data | RDFa Product1976 Sony Bravia LX9000 Name: Provider data | RDFa Description: Your complete 3D Provider data | RDFa experience from Sony Price: 1500 USD Provider data | RDFa Amount 1 User data | Key/Value pair Delivery 10 Downing Street User data | Key/Value pair Address: London User data | Key/Value pair SW1A 2AA User data | Key/Value pair United Kingdom User data | Key/Value pair
  16. 16. No annotation for user created content (cont’d)e.g. “Jane” can not be defined asfoaf:firstName First Name: Jane Last Name: Doe Email: jane.doe@example.com Password: ******** Gender: Male Female Birthday: 03 04 1976 <div about="" property="foaf:firstName" content=""> <input type="text" name=“First Name" value="" /> </div>span> No binding!
  17. 17. Publishing and Reusing usercreated content on the Linked Data Web!
  18. 18. Model and System for semantic Web applications – RDF-based model for forms (RaUL) http://purl.org/NET/raul# – RESTful Web service (ActiveRaUL) http://w3c.org.au/raul – Client-side JavaScript RDFa API
  19. 19. ActiveRaUL system architecture Controller: Web service that maps HTTP terms to CRUD operations on RaUL widgetsModel: View:RaUL RDF model Rendering service to serialise RaUL-based widgets in XHTML+RDFa
  20. 20. Usage Scenario1. Form Modeling: Model widgets (forms) in RDF based on the RaUL ontology2. Form Deployment: Submit form with HTTP POST to ActiveRaUL3. Form Usage: Access/Use a form model with GET/POST to ActiveRaUL
  21. 21. Form Modeling• RDFa User Interface Language (RaUL) Ontology for widget (form) control elements• Data binding mechanism to reference external schemas for data (e.g. foaf:firstname, gr:category)
  22. 22. RaUL Form ModelWidget (form) meta model
  23. 23. RaUL Form Model – Triples defining the form structure Category: LCD Television raul:textbox Product Name: Sony Bravia LX9000 raul:textbox Description: Your complete 3D raul:textbox experience from Sony Price: 1500 USD raul:textbox/raul:listbox Amount 1 raul:textbox
  24. 24. RaUL Form Model – Triples defining the form input data Category: LCD Television gr:category Product Name: Sony Bravia LX9000 rdfs:label Description: Your complete 3D rdfs:comment experience from Sony Price: 1500 USD gr:currency/gr:hasUnitOfMeasurement Amount 1 gr:amountOfThisGood
  25. 25. Form Deployment• RESTful service for managing Web widgets (forms)• Maps HTTP verbs to SPARQL queries on RaUL model• Algorithm for generating widget models from arbitrary RDF graphs• Example: Form upload POST /public/forms HTTP/1.1 Host: w3c.org.au/raul Content-Type: application/xml <rdf:…/>
  26. 26. Form Deployment • RESTful service for managing Web widgets (forms) • Maps HTTP verbs to SPARQL queries on RaUL model • Algorithm for generating widget models from arbitrary RDF graphs • Example: Form uploadCreated (201)Location: http://w3c.org.au/raul/public/forms/add-product
  27. 27. Form Usage1. Web user retrieves Web forms (and content) using ActiveRaUL (via browser)2. ActiveRaUL returns web form in: • RDF/XML, RDF/JSON • HTML+RDFa view rendering3. User fills out forms and submits data to ActiveRaul
  28. 28. HTML+RDFa view rendering<html><head> <base href="#addProduct"/> <meta property="raul:title" content="Add Product"/> <title>Add Product</title></head><body>… <div xmlns=http://www.w3.org/1999/xhtml about="http://w3c.org.au/forms/productAdd1#product" typeof="raul:Textbox"> <span property="raul:label">Product URI:</span> <span style="display:none;"> <span property="raul:id">product</span> <span property="raul:name">product</span> <span property="raul:value">http://w3c.org.au/forms/productAdd1#value_product</span> </span> </div>… <div xmlns="http://www.w3.org/1999/xhtml" about="http://w3c.org.au/forms/productAdd1#product_name" typeof="raul:Textbox"> <span property="raul:label">Product Name:</span> <span style="display:none;"> <span property="raul:id">product_name</span> <span property="raul:name">product_name</span> <span property="raul:value">http://w3c.org.au/forms/productAdd1#value_product_name</span> </span> </div> <div style="display:none;" about="http://w3c.org.au/forms/productAdd1#value_product_name"> <span xmlns="http://www.w3.org/1999/xhtml" property="rdf:subject">http://w3c.org.au/forms/productAdd1#defaultSubject</span> <span xmlns="http://www.w3.org/1999/xhtml" property="rdf:predicate">gr:name</span> <span xmlns="http://www.w3.org/1999/xhtml" property="rdf:object"></span></div>
  29. 29. Form Usage Data Reuse • Link to existing, local data or data in the Linked Data Web – Client-side JS RDFa API can retrieve data directly from URI or via Sindice and prefills form controlsProduct:Category:Product Name:Description:Price: USDAmount
  30. 30. Form Usage Data Reuse • Link to existing, local data or data in the Linked Data Web – Client JS API retrieves data directly from URI or via Sindice and prefills form controlsProduct: http://bestbuy.com/…Category:Product Name:Description:Price: USDAmount
  31. 31. Form Usage Data Reuse • Link to existing, local data or data in the Linked Data Web – Client JS API retrieves data directly from URI or via Sindice and prefills form controlsProduct URI: http://bestbuy.com/…Category: LCD TelevisionProduct Name: Sony Bravia LX9000 Your complete 3DDescription: experience from SonyPrice: USDAmount
  32. 32. EvaluationQuantitative evaluation to analyse possibleperformance issues of our approachPerformance of the ActiveRaUL framework isinfluenced by two factors:(i) overhead introduced by the RDFa annotations(ii) performance of the widget/model generation
  33. 33. Evaluation - Overhead • Comparison of request sizes for HTTP GET requests and HTTP PUT/POST requests and responsesForm XHTML XHTML + # of Triples Overhead in %Element (in Byte) RDFa (Byte) min max min max min max min maxWidget 72 115 251 376 3 6 248% 226%Textbox 41 100 88 377 2 7 114% 277%Listbox 49 125 228 459 5 9 365% 367%Button 48 81 98 415 2 8 104% 412%
  34. 34. Evaluation - Overhead • Comparison of request sizes for HTTP GET and HTTP PUT/POST requests and responseForm XHTML XHTML + # of Triples Overhead in %Element (in Byte) RDFa (Byte) min max min max min max min maxWidget 278 321 525 617 3 6 89% 92%Textbox 239 298 454 613 2 7 90% 105%Listbox 274 323 656 758 5 9 139% 135%Button 245 278 459 720 2 8 87% 159%
  35. 35. Evaluation – Overhead – Discussion• Content overhead a result of using RDFa for the annotation of the semantic forms/widgets• We talk about adding one/two digit numbers of Kilobytes! – Acceptable in most cases – Common and accepted practice to add RDFa to HTML
  36. 36. Evaluation – Performance of view generationMeasured time required togenerate an increasing number(1, 10 and 100) of widgetelementsResults• linear scalability for all widget elements• Listbox and Listitems, also linear, but with a much higher factor (100x10)In reality (for usability reasons)interesting ranges are between10 and 30 widget elements
  37. 37. ConclusionActiveRaUL combines Web engineering withprinciples of Linked Open Data/Semantic Web • RDFa annotated Web forms • well-defined publishing and usage lifecycleAdvantages:(a) full machine understandable structured form data(b) structured form data is encoded directly in the Web page and usable to any SW application(c) typing of the form data via reference to standard ontologies(d) automatic retrieval of form data from the Linked Data Web, and(e) fully browser agnostic approach (rendering in XHTML + RDFa)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×