A presentation on Application Architecture for Semantic Web Applications based on chapter 4 of the book Semantic Web for the Working Ontologist by Dean Allemang and Jim Hendler. It focusses on RDF parsing and serialising and RDF stores.
2. based on:
Chapter 4 - Semantic Web Application Architecture
Semantic Web for the Working Ontologist
Dean Allemang and Jim Hendler
ISBN 978-0-12-373556-0
3. Application Architecture
Ontology Models are build so that they can be
used.
Used by applications that take advantage of
information distributed over the Web.
We need to describe the structure of a Semantic
Web Application
The components
The inputs
4. Parsers/Serialisers
Where do the triples come from?
RDF files on the web (static or dynamic)
Databases mapped to RDF
Extracted from unstructured data (text)
5. Parsers
<rdf:Description rdf:about="http://www.example.com/books/Allemang:2008:SWW:1386668">
<rdf:type rdf:resource="http://purl.org/ontology/bibo/Book"/>
<dc:creator rdf:nodeID="lnode2011050917254739087"/>
<dc:creator rdf:nodeID="lnode2011050917254739096"/>
<bibo:authorList rdf:nodeID="lnode2011050917254739104"/>
<dc:title>Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL</ns0:title>
<dc:date>2008-01-01</ns0:date>
<dc:publisher rdf:nodeID="lnode2011050917254739117"/>
</rdf:Description>
Transform RDF data
into an application’s
data model
6. Serialisers
Reverse operation of
the parser
Transform an
application’s data
model into RDF
:Allemang2008SWW1386668 rdf:type bibo:Book
dc:creator _:lnode2011050923341497724 ,
_:lnode2011050923341497734 ;
bibo:authorList _:lnode2011050923341497742 ;
dc:title "Semantic Web for the Working Ontologist: Effective Modeling in RDFS
and OWL" ;
dc:date "2008-01-01" ;
dc:publisher _:lnode2011050923341497755 .
8. Converters
More data is available as (non-RDF) structured
or tabular data.
Databases
Spreadsheets
Needs a mapping to transform the data to the
application’s data model (as triples).
9. Converters
@book{Allemang:2008:SWW:1386668,
author = {Dean Allemang and James Hendler},
title = {Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL},
year = {2008},
isbn = {0123735564, 9780123735560},
publisher = {Morgan Kaufmann Publishers Inc.},
address = {San Francisco, CA, USA},
}
10. Scrapers
Another rich source are Web pages
Two approaches:
Author has no knowledge or interest in
providing structured data --> Scrapers
Author provides marked up content
11. RDFa & microformats
A way to add structured information to
unstructured documents
Microformats
Uses a standard vocabulary to translate a webpage
to RDF (using XSLT)
RDFa (Resource Description Framework – in – attributes)
Provides a way to add semantic attributes
Parsers to extract RDF exist
No impact on how a browser displays the page
12. Google rich snippets
Google rich snippets provide a way for web
developers to provide a small sample of content to
a Google Search Results page.
This content is provided by either Microformats or
RDFa
http://googlewebmastercentral.blogspot.com/2009/05/introducing-rich-snippets.html
14. RDF Stores
A Database that stores RDF
Sesame, ARC2 with MySQL, Jena, Virtuoso,
Redland
Uses a parser to import data
Uses a serialiser to export data
May also include a query engine
15. RDF Stores
Fundamentally includes a way to merge two
data sets
Resources with the same URI are equivalent
in the merged data set
Moving data from one store to another store
implementation is simple compared to
relational databases.
16. RDF Stores
Subject Predicate Object
:Allemang2008SWW1386668 rdf:type bibo:Book
:Allemang2008SWW1386668 dc:creator _:lnode2011050923341497724
:Allemang2008SWW1386668 dc:creator _:lnode2011050923341497734
:Allemang2008SWW1386668 bibo:authorList _:lnode2011050923341497742
"Semantic Web for the Working
:Allemang2008SWW1386668 dc:title
Ontologist: Effective...”
:Allemang2008SWW1386668 dc:publisher _:lnode2011050923341497755
:Allemang2008SWW1386668 dc:date "2008-01-01"
_:lnode2011050923341497755 rdf:type foaf:Organization
_:lnode2011050923341497755 foaf:basedNear "San Francisco"
17. SPARQL
RDF stores typically support a query language
SPARQL Query Language for RDF
RDF stores often provide a SPARQL endpoint
A web application to access the database
using SPARQL
21. RDF Applications
An RDF Applications may include
RDF parsers, serialisers, scrapers, and
converters and an RDF query engine.
Application decides which resources need
to be converted/scraped (diary entries in
XML, list of addresses from a web page).
22. RDF Applications
RDF Graphs are merged to produce a single
federated graph (mash-ups)
Easy federation is possible due to the
merging capabilities of RDF