SlideShare a Scribd company logo
1 of 37
ϕArmin   Haller | δTudor Groza | ξFlorian Rosenberg
Interacting with Linked Data via
Semantically Annotated Widgets
Joint International Semantic Technology Conference


ϕCSIRO  ICT Centre, Australia|W3C Australia
δQueensland University, Australia

ξIBM T.J. Watson, NY, USA
A little motivation for the work…
… why interacting with the Linked
 data Web?
Linked data Web
Building a Web of Data …


… four principles
Publishing, interlinking data in RDF
via de-referenceable URIs
Publishing RDF
Two (standardised) serialization
formats to publish RDF (graphs)
1. RDF/XML
2. RDFa
RDF/XML
Widely used to publish linked data


All benefits of XML, but …
… syntax difficult for humans to read
 and write
… additional to HTML
… needs full control over publishing
 infrastructure (Rewrites etc.)
RDFa
Relatively new format, but used by
already 5% of web sites


Interwoven within the HTML DOM …
… existing content within the page
can be marked up with RDFa
… no additional control over
publishing infrastructure needed
RDFa example
Simple 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>
RDFa example
Simple 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>
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" .
RDFa – provider vs. user content
RDFa only usable for provider created
content


Ideally, all user input data should be
part of the RDF graph, …
… currently no mechanism in RDFa
to type user created content (within
the DOM)
Example user created content in Web forms
          e.g. Buy a TV online (e.g. Amazon, Ebay)
First Name:         Jane
Last Name:          Doe

Email:    jane.doe@example.com

Password:           ********
Gender:            Male    Female
Birthday:     03     04    1976
Example user created content in Web forms
          e.g. Buy a TV online (e.g. Amazon, Ebay)
First Name:         Jane
Last Name:          Doe

Email:    jane.doe@example.com

Password:           ********
Gender:            Male    Category:
                                  Female
                             Female             LCD Television

Birthday:     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
Example user created content in Web forms
          e.g. Buy a TV online (e.g. Amazon, Ebay)
First Name:         Jane
Last Name:          Doe

Email:    jane.doe@example.com

Password:           ********
Gender:            Male    Category:
                                  Female
                             Female             LCD Television

Birthday:     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
No annotation for user created content
Form input elements can be annotated
with RDFa …
… but, RDFa annotations for input data
are not possible no binding
mechanism in RDFa
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
No annotation for user created content (cont’d)
e.g. “Jane” can not be defined as
foaf: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!
Publishing and Reusing user
created content on the Linked
          Data Web!
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
ActiveRaUL system architecture

                 Controller:
                 Web service that maps HTTP terms to
                 CRUD operations on RaUL widgets




Model:                                           View:
RaUL RDF model                                   Rendering service to
                                                 serialise RaUL-based
                                                 widgets in
                                                 XHTML+RDFa
Usage Scenario
1.   Form Modeling:
     Model widgets (forms)
     in RDF based on the
     RaUL ontology
2.   Form Deployment:
     Submit form with
     HTTP POST to
     ActiveRaUL
3.   Form Usage:
     Access/Use a form
     model with GET/POST
     to ActiveRaUL
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)
RaUL Form Model
Widget (form) meta model
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
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
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:…/>
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

Created (201)
Location: http://w3c.org.au/raul/public/forms/add-product
Form Usage
1. Web user retrieves Web forms
   (and content) using ActiveRaUL
   (via browser)
2. ActiveRaUL returns web form in:
     •   RDF/XML, RDF/JSON
     •   HTML+RDFa view rendering

3. User fills out forms and
   submits data to ActiveRaul
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>
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 controls


Product:
Category:
Product Name:
Description:
Price:                            USD
Amount
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 controls


Product:          http://bestbuy.com/…

Category:
Product Name:
Description:
Price:                            USD
Amount
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 controls


Product URI:      http://bestbuy.com/…

Category:         LCD Television
Product Name: Sony Bravia LX9000
                  Your complete 3D
Description:      experience from Sony

Price:                              USD
Amount
Evaluation
Quantitative evaluation to analyse possible
performance issues of our approach


Performance of the ActiveRaUL framework is
influenced by two factors:
(i) overhead introduced by the RDFa annotations
(ii) performance of the widget/model generation
Evaluation - Overhead
          • Comparison of request sizes for HTTP GET
            requests and HTTP PUT/POST requests and
            responses

Form          XHTML        XHTML +       # of Triples   Overhead in %
Element       (in Byte)    RDFa (Byte)
              min    max   min    max    min     max    min    max
Widget        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%
Evaluation - Overhead
          • Comparison of request sizes for HTTP GET and
            HTTP PUT/POST requests and response


Form          XHTML        XHTML +       # of Triples   Overhead in %
Element       (in Byte)    RDFa (Byte)
              min    max   min    max    min     max    min    max
Widget        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%
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
Evaluation – Performance of view generation
Measured time required to
generate an increasing number
(1, 10 and 100) of widget
elements
Results
• 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 between
10 and 30 widget elements
Conclusion
ActiveRaUL combines Web engineering with
principles of Linked Open Data/Semantic Web
    • RDFa annotated Web forms
    • well-defined publishing and usage lifecycle


Advantages:
(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)

More Related Content

Similar to Interacting with Linked Data via semantically annotated widgets

SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWebSeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWebProcessOne
 
iLug 2008 Web Services
iLug 2008 Web ServicesiLug 2008 Web Services
iLug 2008 Web ServicesBill Buchan
 
Live DBpedia querying with high availability
Live DBpedia querying with high availabilityLive DBpedia querying with high availability
Live DBpedia querying with high availabilityRuben Verborgh
 
Using Stargate APIs for Cassandra-Backed Applications
Using Stargate APIs for Cassandra-Backed ApplicationsUsing Stargate APIs for Cassandra-Backed Applications
Using Stargate APIs for Cassandra-Backed ApplicationsNordic APIs
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA KeynoteAxel Polleres
 
Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services BootcampLotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services BootcampBill Buchan
 
jmp206 - Lotus Domino Web Services Jumpstart
jmp206 - Lotus Domino Web Services Jumpstartjmp206 - Lotus Domino Web Services Jumpstart
jmp206 - Lotus Domino Web Services JumpstartBill Buchan
 
Dremel: interactive analysis of web-scale datasets
Dremel: interactive analysis of web-scale datasetsDremel: interactive analysis of web-scale datasets
Dremel: interactive analysis of web-scale datasetsHung-yu Lin
 
URIplay for Google Tech Talk (2008)
URIplay for Google Tech Talk (2008)URIplay for Google Tech Talk (2008)
URIplay for Google Tech Talk (2008)Chris Jackson
 
Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?Codemotion
 
The Semantic Web An Introduction
The Semantic Web An IntroductionThe Semantic Web An Introduction
The Semantic Web An Introductionshaouy
 
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev ConGaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev ConWoodruff Solutions LLC
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010Andri Yadi
 
Mule webservices in detail
Mule webservices in detailMule webservices in detail
Mule webservices in detailShahid Shaik
 
Linked opendata parisemantique.fr - 24062011
Linked opendata   parisemantique.fr - 24062011Linked opendata   parisemantique.fr - 24062011
Linked opendata parisemantique.fr - 24062011Loïc Dias Da Silva
 
Dagstuhl FOAF history talk
Dagstuhl FOAF history talkDagstuhl FOAF history talk
Dagstuhl FOAF history talkDan Brickley
 
Resource-Oriented Architecture (ROA) and REST
Resource-Oriented Architecture (ROA) and RESTResource-Oriented Architecture (ROA) and REST
Resource-Oriented Architecture (ROA) and RESTIASA
 
Web services Tutorial /Websoles Strategic Digital Solutions
Web services Tutorial /Websoles Strategic Digital SolutionsWeb services Tutorial /Websoles Strategic Digital Solutions
Web services Tutorial /Websoles Strategic Digital SolutionsRatnesh Pandey
 
Best Web services tutorial | Websoles Strategic Digital Solutions
Best Web services tutorial | Websoles Strategic Digital SolutionsBest Web services tutorial | Websoles Strategic Digital Solutions
Best Web services tutorial | Websoles Strategic Digital SolutionsShubham Kumar Singh
 

Similar to Interacting with Linked Data via semantically annotated widgets (20)

SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWebSeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
SeaBeyond 2011 ProcessOne - Diana Cheng: OneSocialWeb
 
iLug 2008 Web Services
iLug 2008 Web ServicesiLug 2008 Web Services
iLug 2008 Web Services
 
Live DBpedia querying with high availability
Live DBpedia querying with high availabilityLive DBpedia querying with high availability
Live DBpedia querying with high availability
 
Using Stargate APIs for Cassandra-Backed Applications
Using Stargate APIs for Cassandra-Backed ApplicationsUsing Stargate APIs for Cassandra-Backed Applications
Using Stargate APIs for Cassandra-Backed Applications
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA Keynote
 
Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services BootcampLotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
 
jmp206 - Lotus Domino Web Services Jumpstart
jmp206 - Lotus Domino Web Services Jumpstartjmp206 - Lotus Domino Web Services Jumpstart
jmp206 - Lotus Domino Web Services Jumpstart
 
Dremel: interactive analysis of web-scale datasets
Dremel: interactive analysis of web-scale datasetsDremel: interactive analysis of web-scale datasets
Dremel: interactive analysis of web-scale datasets
 
URIplay for Google Tech Talk (2008)
URIplay for Google Tech Talk (2008)URIplay for Google Tech Talk (2008)
URIplay for Google Tech Talk (2008)
 
Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?
 
The Semantic Web An Introduction
The Semantic Web An IntroductionThe Semantic Web An Introduction
The Semantic Web An Introduction
 
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev ConGaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010
 
Mule webservices in detail
Mule webservices in detailMule webservices in detail
Mule webservices in detail
 
Linked opendata parisemantique.fr - 24062011
Linked opendata   parisemantique.fr - 24062011Linked opendata   parisemantique.fr - 24062011
Linked opendata parisemantique.fr - 24062011
 
Dagstuhl FOAF history talk
Dagstuhl FOAF history talkDagstuhl FOAF history talk
Dagstuhl FOAF history talk
 
Resource-Oriented Architecture (ROA) and REST
Resource-Oriented Architecture (ROA) and RESTResource-Oriented Architecture (ROA) and REST
Resource-Oriented Architecture (ROA) and REST
 
Web services Tutorial /Websoles Strategic Digital Solutions
Web services Tutorial /Websoles Strategic Digital SolutionsWeb services Tutorial /Websoles Strategic Digital Solutions
Web services Tutorial /Websoles Strategic Digital Solutions
 
Web services | Websoles
Web services | WebsolesWeb services | Websoles
Web services | Websoles
 
Best Web services tutorial | Websoles Strategic Digital Solutions
Best Web services tutorial | Websoles Strategic Digital SolutionsBest Web services tutorial | Websoles Strategic Digital Solutions
Best Web services tutorial | Websoles Strategic Digital Solutions
 

Recently uploaded

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Interacting with Linked Data via semantically annotated widgets

  • 1. ϕArmin Haller | δTudor Groza | ξFlorian Rosenberg Interacting with Linked Data via Semantically Annotated Widgets Joint International Semantic Technology Conference ϕCSIRO ICT Centre, Australia|W3C Australia δQueensland University, Australia ξIBM T.J. Watson, NY, USA
  • 2. A little motivation for the work… … why interacting with the Linked data Web?
  • 3. Linked data Web Building a Web of Data … … four principles Publishing, interlinking data in RDF via de-referenceable URIs
  • 4. Publishing RDF Two (standardised) serialization formats to publish RDF (graphs) 1. RDF/XML 2. RDFa
  • 5. RDF/XML Widely used to publish linked data All benefits of XML, but … … syntax difficult for humans to read and write … additional to HTML … needs full control over publishing infrastructure (Rewrites etc.)
  • 6. RDFa Relatively new format, but used by already 5% of web sites Interwoven within the HTML DOM … … existing content within the page can be marked up with RDFa … no additional control over publishing infrastructure needed
  • 7. RDFa example Simple 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. RDFa example Simple 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. 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. RDFa – provider vs. user content RDFa only usable for provider created content Ideally, all user input data should be part of the RDF graph, … … currently no mechanism in RDFa to type user created content (within the DOM)
  • 11. Example user created content in Web forms e.g. Buy a TV online (e.g. Amazon, Ebay) First Name: Jane Last Name: Doe Email: jane.doe@example.com Password: ******** Gender: Male Female Birthday: 03 04 1976
  • 12. Example user created content in Web forms e.g. Buy a TV online (e.g. Amazon, Ebay) First Name: Jane Last Name: Doe Email: jane.doe@example.com Password: ******** Gender: Male Category: Female Female LCD Television Birthday: 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. Example user created content in Web forms e.g. Buy a TV online (e.g. Amazon, Ebay) First Name: Jane Last Name: Doe Email: jane.doe@example.com Password: ******** Gender: Male Category: Female Female LCD Television Birthday: 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. No annotation for user created content Form input elements can be annotated with RDFa … … but, RDFa annotations for input data are not possible no binding mechanism in RDFa
  • 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. No annotation for user created content (cont’d) e.g. “Jane” can not be defined as foaf: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. Publishing and Reusing user created content on the Linked Data Web!
  • 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. ActiveRaUL system architecture Controller: Web service that maps HTTP terms to CRUD operations on RaUL widgets Model: View: RaUL RDF model Rendering service to serialise RaUL-based widgets in XHTML+RDFa
  • 20. Usage Scenario 1. Form Modeling: Model widgets (forms) in RDF based on the RaUL ontology 2. Form Deployment: Submit form with HTTP POST to ActiveRaUL 3. Form Usage: Access/Use a form model with GET/POST to ActiveRaUL
  • 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. RaUL Form Model Widget (form) meta model
  • 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. 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. 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. 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 Created (201) Location: http://w3c.org.au/raul/public/forms/add-product
  • 27. Form Usage 1. Web user retrieves Web forms (and content) using ActiveRaUL (via browser) 2. ActiveRaUL returns web form in: • RDF/XML, RDF/JSON • HTML+RDFa view rendering 3. User fills out forms and submits data to ActiveRaul
  • 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. 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 controls Product: Category: Product Name: Description: Price: USD Amount
  • 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 controls Product: http://bestbuy.com/… Category: Product Name: Description: Price: USD Amount
  • 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 controls Product URI: http://bestbuy.com/… Category: LCD Television Product Name: Sony Bravia LX9000 Your complete 3D Description: experience from Sony Price: USD Amount
  • 32. Evaluation Quantitative evaluation to analyse possible performance issues of our approach Performance of the ActiveRaUL framework is influenced by two factors: (i) overhead introduced by the RDFa annotations (ii) performance of the widget/model generation
  • 33. Evaluation - Overhead • Comparison of request sizes for HTTP GET requests and HTTP PUT/POST requests and responses Form XHTML XHTML + # of Triples Overhead in % Element (in Byte) RDFa (Byte) min max min max min max min max Widget 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. Evaluation - Overhead • Comparison of request sizes for HTTP GET and HTTP PUT/POST requests and response Form XHTML XHTML + # of Triples Overhead in % Element (in Byte) RDFa (Byte) min max min max min max min max Widget 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. 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. Evaluation – Performance of view generation Measured time required to generate an increasing number (1, 10 and 100) of widget elements Results • 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 between 10 and 30 widget elements
  • 37. Conclusion ActiveRaUL combines Web engineering with principles of Linked Open Data/Semantic Web • RDFa annotated Web forms • well-defined publishing and usage lifecycle Advantages: (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)