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

Más contenido relacionado

La actualidad más candente

Get on the Linked Data Web!
Get on the Linked Data Web!Get on the Linked Data Web!
Get on the Linked Data Web!
Armin Haller
 
Search Engines After The Semanatic Web
Search Engines After The Semanatic WebSearch Engines After The Semanatic Web
Search Engines After The Semanatic Web
samar_slideshare
 
Introduction to RDF & SPARQL
Introduction to RDF & SPARQLIntroduction to RDF & SPARQL
Introduction to RDF & SPARQL
Open Data Support
 
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
Michele Pasin
 
2011 05-01 linked data
2011 05-01 linked data2011 05-01 linked data
2011 05-01 linked data
vafopoulos
 
2011 05-02 linked data intro
2011 05-02 linked data intro2011 05-02 linked data intro
2011 05-02 linked data intro
vafopoulos
 

La actualidad más candente (20)

Get on the Linked Data Web!
Get on the Linked Data Web!Get on the Linked Data Web!
Get on the Linked Data Web!
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Efficient Practices for Large Scale Text Mining Process
Efficient Practices for Large Scale Text Mining ProcessEfficient Practices for Large Scale Text Mining Process
Efficient Practices for Large Scale Text Mining Process
 
Making the Web searchable
Making the Web searchableMaking the Web searchable
Making the Web searchable
 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
 
Search Engines After The Semanatic Web
Search Engines After The Semanatic WebSearch Engines After The Semanatic Web
Search Engines After The Semanatic Web
 
The Power of Semantic Technologies to Explore Linked Open Data
The Power of Semantic Technologies to Explore Linked Open DataThe Power of Semantic Technologies to Explore Linked Open Data
The Power of Semantic Technologies to Explore Linked Open Data
 
Linked Data Usecases
Linked Data UsecasesLinked Data Usecases
Linked Data Usecases
 
Hack U Barcelona 2011
Hack U Barcelona 2011Hack U Barcelona 2011
Hack U Barcelona 2011
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
 
Linked Data
Linked DataLinked Data
Linked Data
 
Introduction to RDF & SPARQL
Introduction to RDF & SPARQLIntroduction to RDF & SPARQL
Introduction to RDF & SPARQL
 
Building a semantic website
Building a semantic websiteBuilding a semantic website
Building a semantic website
 
Do it on your own - From 3 to 5 Star Linked Open Data with RMLio
Do it on your own - From 3 to 5 Star Linked Open Data with RMLioDo it on your own - From 3 to 5 Star Linked Open Data with RMLio
Do it on your own - From 3 to 5 Star Linked Open Data with RMLio
 
Keystone Summer School 2015: Mauro Dragoni, Ontologies For Information Retrieval
Keystone Summer School 2015: Mauro Dragoni, Ontologies For Information RetrievalKeystone Summer School 2015: Mauro Dragoni, Ontologies For Information Retrieval
Keystone Summer School 2015: Mauro Dragoni, Ontologies For Information Retrieval
 
The Bounties of Semantic Data Integration for the Enterprise
The Bounties of Semantic Data Integration for the Enterprise The Bounties of Semantic Data Integration for the Enterprise
The Bounties of Semantic Data Integration for the Enterprise
 
Linked data as a library data platform
Linked data as a library data platformLinked data as a library data platform
Linked data as a library data platform
 
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
 
2011 05-01 linked data
2011 05-01 linked data2011 05-01 linked data
2011 05-01 linked data
 
2011 05-02 linked data intro
2011 05-02 linked data intro2011 05-02 linked data intro
2011 05-02 linked data intro
 

Destacado

Towards Linked Ontologies and Data on the Semantic Web
Towards Linked Ontologies and Data on the Semantic WebTowards Linked Ontologies and Data on the Semantic Web
Towards Linked Ontologies and Data on the Semantic Web
Jie Bao
 
Concept Modeling on Semantic Wiki
Concept Modeling on Semantic WikiConcept Modeling on Semantic Wiki
Concept Modeling on Semantic Wiki
Jie Bao
 
Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...
Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...
Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...
Technische Universität München
 
Semantic Modeling - A Query Language for the 21st century
Semantic Modeling - A Query Language for the 21st centurySemantic Modeling - A Query Language for the 21st century
Semantic Modeling - A Query Language for the 21st century
Clifford Heath
 
Data Modeling Presentations I
Data Modeling Presentations IData Modeling Presentations I
Data Modeling Presentations I
cd_crisci
 
Object oriented database model
Object oriented database modelObject oriented database model
Object oriented database model
PAQUIAAIZEL
 

Destacado (20)

Jarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic WebJarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
 
A Semantic Multimedia Web (Part 3)
A Semantic Multimedia Web (Part 3)A Semantic Multimedia Web (Part 3)
A Semantic Multimedia Web (Part 3)
 
A Semantic Multimedia Web (Part 2)
A Semantic Multimedia Web (Part 2)A Semantic Multimedia Web (Part 2)
A Semantic Multimedia Web (Part 2)
 
Towards Linked Ontologies and Data on the Semantic Web
Towards Linked Ontologies and Data on the Semantic WebTowards Linked Ontologies and Data on the Semantic Web
Towards Linked Ontologies and Data on the Semantic Web
 
Building Semantic Web Portals with WebML
Building Semantic Web Portals with WebMLBuilding Semantic Web Portals with WebML
Building Semantic Web Portals with WebML
 
A Semantic Multimedia Web (Part 1)
A Semantic Multimedia Web (Part 1)A Semantic Multimedia Web (Part 1)
A Semantic Multimedia Web (Part 1)
 
Concept Modeling on Semantic Wiki
Concept Modeling on Semantic WikiConcept Modeling on Semantic Wiki
Concept Modeling on Semantic Wiki
 
Semantic Data Normalization For Efficient Clinical Trial Research
Semantic Data Normalization For Efficient Clinical Trial ResearchSemantic Data Normalization For Efficient Clinical Trial Research
Semantic Data Normalization For Efficient Clinical Trial Research
 
The Object Oriented Database System Manifesto
The Object Oriented Database System ManifestoThe Object Oriented Database System Manifesto
The Object Oriented Database System Manifesto
 
Freebase Schema
Freebase SchemaFreebase Schema
Freebase Schema
 
Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...
Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...
Smart Models for Smart Cities - Modeling of Dynamics, Sensors, Urban Indicato...
 
Freebase, RDF and the Semantic Web
Freebase, RDF and the Semantic WebFreebase, RDF and the Semantic Web
Freebase, RDF and the Semantic Web
 
Semantic Modeling - A Query Language for the 21st century
Semantic Modeling - A Query Language for the 21st centurySemantic Modeling - A Query Language for the 21st century
Semantic Modeling - A Query Language for the 21st century
 
Introduction to Ontology Concepts and Terminology
Introduction to Ontology Concepts and TerminologyIntroduction to Ontology Concepts and Terminology
Introduction to Ontology Concepts and Terminology
 
Semantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: IntroductionSemantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: Introduction
 
Data Modeling Presentations I
Data Modeling Presentations IData Modeling Presentations I
Data Modeling Presentations I
 
Modeling and Representing Trust Relations in Semantic Web-Driven Social Networks
Modeling and Representing Trust Relations in Semantic Web-Driven Social NetworksModeling and Representing Trust Relations in Semantic Web-Driven Social Networks
Modeling and Representing Trust Relations in Semantic Web-Driven Social Networks
 
Object oriented dbms
Object oriented dbmsObject oriented dbms
Object oriented dbms
 
Object oriented database model
Object oriented database modelObject oriented database model
Object oriented database model
 
Object Oriented Dbms
Object Oriented DbmsObject Oriented Dbms
Object Oriented Dbms
 

Similar a A Semantic Data Model for Web Applications

Linked Open Data Fundamentals for Libraries, Archives and Museums
Linked Open Data Fundamentals for Libraries, Archives and MuseumsLinked Open Data Fundamentals for Libraries, Archives and Museums
Linked Open Data Fundamentals for Libraries, Archives and Museums
trevorthornton
 
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Cory Lampert
 

Similar a A Semantic Data Model for Web Applications (20)

Webofdata
WebofdataWebofdata
Webofdata
 
Quick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & MicroformatsQuick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & Microformats
 
Lifting the Lid on Linked Data
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked Data
 
Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011
 
Introduction to Semantic Web Technologies
Introduction to Semantic Web TechnologiesIntroduction to Semantic Web Technologies
Introduction to Semantic Web Technologies
 
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
 
Culture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data LandCulture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data Land
 
RDFa From Theory to Practice
RDFa From Theory to PracticeRDFa From Theory to Practice
RDFa From Theory to Practice
 
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
 
DM110 - Week 10 - Semantic Web / Web 3.0
DM110 - Week 10 - Semantic Web / Web 3.0DM110 - Week 10 - Semantic Web / Web 3.0
DM110 - Week 10 - Semantic Web / Web 3.0
 
Linked Open Data Fundamentals for Libraries, Archives and Museums
Linked Open Data Fundamentals for Libraries, Archives and MuseumsLinked Open Data Fundamentals for Libraries, Archives and Museums
Linked Open Data Fundamentals for Libraries, Archives and Museums
 
Web 3.0
Web 3.0 Web 3.0
Web 3.0
 
Slides
SlidesSlides
Slides
 
Publishing and Using Linked Data
Publishing and Using Linked DataPublishing and Using Linked Data
Publishing and Using Linked Data
 
Sem webmaubeuge
Sem webmaubeugeSem webmaubeuge
Sem webmaubeuge
 
The Semantic Web
The Semantic WebThe Semantic Web
The Semantic Web
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 
What is the Semantic Web
What is the Semantic WebWhat is the Semantic Web
What is the Semantic Web
 
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

A Semantic Data Model for Web Applications

  • 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