1. Project: ozr (Ontology visualiZeR)
Course: WADE (Web Application DEvelopment)
Taught by: Conf. PhD. Sabin. C. Buraga
Supervisor: Conf. PhD. Lenuta Alboaie
Students:
Lamasanu Ion
Cercel Alexandru
Faculty of Informatics, Iasi
Distributed Systems, year 2, 1st semester
2. • What is the domain of this project? => Mostly
Semantic Web
• Semantic Web: its aim is to convert the
current web dominated by unstructured and
semi-structured documents into a "web of
data" by annotating data with semantic
metadata in order to encode data meaning.
3. Project requirements
• Create a web application which can generate and display ontology
visualizations conforming to VOWL.
• Create and publish a REST service which can generate and service
ontology visualizations as raster/vector graphics and also as HTML 5 with
embedded RDFa.
• The solution must use recent technologies from Social Web and/or
Semantic Web.
4. Web Technologies used 1/3
• RDF (Resource Description Framework): is the foundation of the
Semantic Web and is used in order to attach metadata to Web
resources and specify relationships between them. RDF goal is to
obtain a distributed database model for the Web. RDF data model is
based on triples (subject, predicate, object) combined in graphs, is
monotone, uses URIs for resource identification. RDF can be serialized
into a range of different file formats: RDF-XML, Turtle, N3.
• RDFa (RDF attributes): a set of attribute level extensions to HTML,
XHTML and various XML based document types and is used for
embedding metadata within Web documents. Initially: XHTML with
RDF.
5. Web Technologies used 2/3
• RDF Schema (RDF Vocabulary Description Language): defines
a data model for the creation of RDF statements. It allows
definitions of classes, properties and restrictions, hierarchies
(sub classes and super classes, sub properties and super
properties)
• SPARQL (SPARQL Protocol and RDF Query Language): is a
protocol (via HTTP), query language for RDF datasets (graph
traversal) and an XML output format specification (for
results). It is inspired by SQL.
• Vocabularies: provide lists (and definitions) of common terms
that can be used to describe the contents of a dataset.
6. Web Technologies used 3/3
• Ontologies: are vocabularies that record the logical
relationships between terms.
• OWL: is a family of knowledge representation languages for
authoring ontologies. The languages are characterized by
formal semantics and RDF/XML-based serializations for the
Semantic Web. It uses some elements from RDF Schema.
7. What is VOWL?
• VOWL = Visual Notation for OWL Ontologies
• Considered version: http://purl.org/vowl/v1/, i.e. specification of Version
1.0 - 28 January 2013
• It provides graphical representations for elements of the Web Ontology
Language (OWL).
• Visual Notation:
• Classes = circles (size indicates the connectivity of a class)
• Individuals = sections in the circles
• Properties = lines/arcs (with different arrow heads, line types, etc.)
• Literals, data types and values = rectangles
• VOWL distinguishes between 3 layers that may be visualized:
• Conceptual Layer: Represents the classes, properties, and their
relationships
• Instance Layer: Represents the individuals and their relationships
• Integrated Layer: Represents the classes populated with individuals
11. Requirements analysis
• Customer requires a web application and a
REST service for generating visualization for a
given ontology.
12. Solution architecture 1/3
The web service can embody the main application logic.
•
•
•
•
•
•
•
•
•
INPUT
Visualization layer
String (one of three): conceptual, instance or integrated
Visualization type (one of the following)
SVG, PNG, JPG, HTML5RDFa
Ontology sample data (ontology profile) => for instance and integrated layer
URL / RDF Representation
Ontology => for conceptual layer
URL / RDF Representation
Selected individual => for integrated layer
URL / SPARQL query
•
•
•
•
•
OUTPUT
Can be one of the following, depending on the desired visualization type
image/svg+xml
image/png
image/jpeg
application/xhtml+xml
•
•
The web service will be implemented as a REST service with the following API:
Service will be accessible at: http://purl.org/net/ozr2013/viz
13. Solution architecture 2/3
•
•
•
•
•
Input parameters:
layer = <string> (conceptual | instance | integrated)
type = <string> (SVG | PNG | JPG | HTML5RDFa)
ontology = URL | RDF Representation (only for conceptual layer)
profile = URL | RDF Representation (for instance and integrated layer only)
selection = URL | SPARQL query (only for integrated layer)
•
•
Access methods and parameter restrictions:
GET (considers ontology and profile parameters values as URLs)
POST (considers ontology and profile parameters values as RDF Representations)
•
•
•
Input parameters constraints:
When conceptual layer is chosen the ontology parameter is mandatory while profile
and selection parameters are ignored.
When integrated layer is chosen the profile and selection are mandatory and
ontology parameter is ignored.
When instance layer is chosen the profile is mandatory and ontology and selection
parameters are ignored.
14. Solution architecture 3/3
Syntax Error:
• When restrictions and/or constraints are not met the service will respond
with (400) Error.
• The web application will act as a client by sending requests to the web
service and getting output from it as visualizations under requested
format.
•
•
•
•
•
•
•
•
Structural
Behavioral
Functional
Non functional
Performance
Design
Derived
Allocated
16. Use case
• The user will call the Rest service, which will
create and publish the ontology visualization.
• The Rest service will allow user to select
display type(SVG or raster) for visualization.