Download - A Semantic Data Model for Web Applications
![Page 1: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/1.jpg)
Armin Haller & Florian Rosenberg
A Semantic Data Model for Web ApplicationsCSIRO ICT Centre Conference
![Page 2: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/2.jpg)
Semantic Web
Adds machine readable data to Web resources
![Page 3: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/3.jpg)
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
![Page 4: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/4.jpg)
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>
![Page 5: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/5.jpg)
Web Resource
A Book – Metadata elements
Title
Author
PublisherDate
Contributor
![Page 6: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/6.jpg)
Four principles to add machine readable data
1. Identify resources2. Reuse ontologies3. Express meaning4. Link to other Web
resources
![Page 7: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/7.jpg)
Semantic Web
1. Identify resources– Uniquely assign a Uniform
Resource Identifier (URI) to every Web resource
![Page 8: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/8.jpg)
Title
Author
PublisherDate
Contributor
Web Resource
1. Identify resourceshttp://example.org/book/Tractatus_Logico-Philosophicus
![Page 9: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/9.jpg)
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“
![Page 10: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/10.jpg)
Title
Author
PublisherDate
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
![Page 11: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/11.jpg)
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
![Page 12: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/12.jpg)
Web Resource
3. Express meaninghttp://example.org/book/Tractatus_Logico-Philosophicus
dc:title
has a
which is
![Page 13: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/13.jpg)
Web Resource
3. Express meaninghttp://example.org/book/Tractatus_Logico-Philosophicus
dc:creator
has a
whose name
is
![Page 14: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/14.jpg)
Web Resource
3. Express meaninghttp://example.org/book/Tractatus_Logico-Philosophicus
dc:contributor
has a
whose name is
![Page 15: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/15.jpg)
Web Resource
3. Express meaninghttp://example.org/book/Tractatus_Logico-Philosophicus
dc:publisher
which is
has a
![Page 16: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/16.jpg)
Web Resource
3. Express meaninghttp://example.org/book/Tractatus_Logico-Philosophicus
dc:date
has a
which is
![Page 17: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/17.jpg)
@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
![Page 18: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/18.jpg)
<?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 & Company, Inc.</dc:publisher>
<dc:date>1922</dc:date>
</rdf:Description>
</rdf:RDF>
Resulting triples in RDF/XML
3. Express meaning
![Page 19: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/19.jpg)
Semantic Web
4. Link to other Web resources
– Progressively link to existing Web resources that someone else has defined already
![Page 20: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/20.jpg)
Web Resource
4. Link to other Web resourceshttp://example.org/book/Tractatus_Logico-Philosophicus
dc:creator
has a
whose name
is
![Page 21: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/21.jpg)
Web Resource
4. Link to other Web resourceshttp://example.org/book/Tractatus_Logico-Philosophicus
dc:creator
has a
http://dbpedia.org/page/Ludwig_Wittgenstein
whose name is
![Page 22: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/22.jpg)
Where is the semantic Web?
![Page 23: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/23.jpg)
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
![Page 24: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/24.jpg)
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
![Page 25: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/25.jpg)
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>
![Page 26: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/26.jpg)
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>
![Page 27: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/27.jpg)
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
![Page 28: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/28.jpg)
Forms, metadata vs. data
e.g. Book purchase on Amazon First Name:
Last Name:
Jane
Doe
Email: [email protected]
Password: ********
Gender:
Birthday: 03 04 1976
Male Female
![Page 29: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/29.jpg)
1976
Forms, metadata vs. data
e.g. Book purchase on AmazonFirst Name:
Last Name:
Jane
Doe
Email: [email protected]
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
![Page 30: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/30.jpg)
1976
Forms, metadata vs. data
e.g. Book purchase on AmazonFirst Name: Jane
Doe
Email: [email protected]
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:
![Page 31: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/31.jpg)
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
![Page 32: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/32.jpg)
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
![Page 33: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/33.jpg)
Issue – Adding RDFa for data to forms
e.g. “Jane” can not be defined as foaf:firstName
First Name:
Last Name:
Jane
Doe
Email: [email protected]
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!
![Page 34: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/34.jpg)
Making input data available on the Semantic Web!
![Page 35: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/35.jpg)
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
![Page 36: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/36.jpg)
RaUL form model
Defines meta model for form elements
![Page 37: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/37.jpg)
RaUL form model – Triples defining the structure of a form– Triples defining the data
First Name:
Last Name:
Jane
Doe
Email: [email protected]
Password: ********
Gender:
Birthday: 03 04 1976
Male Female
foaf:firstName
foaf:surname
foaf:mbox
foaf:sha1
foaf:gender
time:day, time:month, time:year
![Page 38: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/38.jpg)
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
![Page 39: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/39.jpg)
JavaScript RDFa API
– Parses RDFa– Manages data binding of form
input to data model
![Page 40: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/40.jpg)
Lifecycle
1. Form Modeling: form model in RDF based on the RaUL ontology
– Actor: ontology engineer
![Page 41: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/41.jpg)
Lifecycle
2. Form Deployment: form submitted by calling ActiveRaUL
– Generic form models in a public namespace standard form models
– Actor: ontology engineer
![Page 42: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/42.jpg)
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
![Page 43: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/43.jpg)
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
![Page 44: A Semantic Data Model for Web Applications](https://reader033.vdocument.in/reader033/viewer/2022052823/555066eab4c905ae3f8b56bc/html5/thumbnails/44.jpg)
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 data5. Reuse of Linked Open Data: retrieve data from
the Linked Open Data cloud