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.
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
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
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
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
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!
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
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
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