Title: Towards a component-based framework for developing Semantic Web applications
1Towards a component-based framework for
developing Semantic Web applications
- Raúl García-Castro, Asunción Gómez-Pérez, Óscar
Muñoz-García, Lyndon Nixon - rgarcia,asun,omunoz_at_fi.upm.es
- ASWC - Bangkok, Thailand
- 4 February 2009
2Motivation
?
?
Companies and particulars are changing from
Semantic Web technology consumers to producers
Semantic Web Framework
- Obstacles
- Which types of technology exist?
- Which are their functionalities?
- Which are their dependencies?
- How can I (re)use it?
- How can I include it into my application?
- Can these technologies interoperate between
themselves and with my technology? How? - How much does it cost to include semantics into
my applications? - How many people do I need to build a semantic
application from scratch?
3Index
- State of the Art
- Semantic Web Framework
- Components of the SWF
- Example use case
- Conclusions and next steps
4State of the Art
- Component-based Software Engineering
- The process of defining, implementing and
composing loosely coupled independent components
into systems - Relies on
- Independent components specified by their
interfaces - Component standards that facilitate their
integration - Its own development process
- Advantages
- Reuse components already developed and tested
- Applications built in a robust and rapid way
5State of the Art II
- Software Architecture
- Fundamental organization of a system
- Consists on
- Components
- Dependencies between components
- Application environment
- Principles guiding design and evolution of the
application - Software Frameworks
- Domain-specific software architectures
- Classification
- Horizontal Frameworks valid for every application
domain - Vertical Frameworks developed for a concrete
application domain
6Index
- State of the Art
- Semantic Web Framework
- Components of the SWF
- Example use case
- Conclusions and next steps
7What is the Semantic Web Framework?
- The Semantic Web Framework is a structure in
which Semantic Web applications can be organized
and developed - It is a reference framework that
- Describes the existing types of SW technology,
their functionalities, and the dependencies
between these technologies - Facilitates technology reuse by providing
specifications and guidelines - Shows how to achieve interoperability with SW
technology - Helps in making decisions when developing SW
applications
8Design principles of the SWF
- Developer oriented, considering different
audiences such as developers with low expertise
with SW technologies - Easy to understand. Components organized in
dimensions, according to the major properties of
the problem space that have significant variation
over SW technology - Inexpensive to adopt. Developing a SW application
or upgrading an existing application with
semantic capabilities should be easy, minimizing
the impact on legacy systems - Component based, defining specifications of the
components that allow for different
implementations of them, providing each of these
components a basic functionality - Semantics focused, describing only the components
that provide semantic functionalities and
functionalities to manage semantics - Evolving. Easy to extend by inserting new
components or modifying existing ones
9Index
- State of the Art
- Semantic Web Framework
- Components of the SWF
- Example use case
- Conclusions and next steps
10Components of the SWF
- Autonomous and modular units with well defined
interfaces that describe a service and perform a
specific functionality - Used independently or together to develop
Semantic Web applications - Can be of four types
- Applications
- Part of applications (plug-in)
- Services
- Program libraries
11Dimensions of the architecture
- Components have beed classified according to the
specific problems that they deal with - Data and metadata management
- Querying and reasoning
- Ontology engineering
- Ontology customization
- Ontology evolution
- Ontology instance generation
- Semantic Web Services
- Dependencies between these components have been
identified.
12Semantic Web Framework
Web Service registry
Web Service discoverer
Web Service selector
Information directory manager
Web Service composer
Ontology editor
Ontology discovery and ranking
Web Service choreography engine
Ontology repository
Ontology browser
Instance editor
Query answering
Ontology localization and profiling
Ontology evolution manager
Web Service process mediator
Data repository
Manual annotation
Ontology evaluator
Semantic query processor
Ontology adaptation operators
Ontology evolution visualizer
Automatic annotation
Ontology learner
Alignment repository
Web Service grounding
Ontology view customization
Semantic query editor
Ontology versioner
Ontology matcher
Web Service profiling
Ontology populator
Metadata registry
SEMANTIC WEB SERVICES
ONTOLOGY INSTANCE GENERATION
QUERYING AND REASONING
ONTOLOGY ENGINEERING
ONTOLOGY CUSTOMIZATION
DATA METADATA MANAGEMENT
ONTOLOGY EVOLUTION
13Example Ontology instance generation
Instance editor
Handles the storage and access to data and
annotated data
Handles the storage and access to ontologies and
instances
Data repository
Ontology repository
DATA METADATA MANAGEMENT
Instance editor
Creates and modifies ontology instances
14Ontology instance generation
Instance editor
Manual annotation
Data repository
Ontology repository
DATA METADATA MANAGEMENT
Manual and semi-automatic annotation of digital
content documents (e.g., web pages or images)
with concepts in the ontology
Manual annotation
15Ontology instance generation
Automatic annotation
Instance editor
Manual annotation
Data repository
Ontology repository
DATA METADATA MANAGEMENT
Automatic annotation of digital content documents
(e.g., web pages or images) with concepts in the
ontology
Automatic annotation
16Ontology instance generation
Automatic annotation
Ontology populator
Instance editor
Manual annotation
Data repository
Ontology repository
DATA METADATA MANAGEMENT
Ontology populator
Generates instances of a given ontology from a
data source
17Component implementations
- Existing component implementations have been
identified
Query answering
...
KAON2
Fact
RacerPro
Pellet
- User interface
- Programming interface
- Service interface
IN
Query answering
OUT
18Index
- State of the Art
- Semantic Web Framework
- Components of the SWF
- Example use case
- Conclusions and next steps
19Example use case
Semantic Aggregation of News Stories
- Aggregated news service with the following
requirements - Accurate search
- Thematic Clustering
- Classification of news stories
- E-mail notification of stories of interest
- Heterogeneity on the types of news
- News feeds, media outlets, press releases,
announcements on websites, etc.
20Semantic needs
- Store all the data necessary for the use case
- Ontologies used for each news source
- Instance data extracted from the news sources
- Alignments between each news source ontology
Alignment repository
Data repository
Ontology repository
DATA METADATA MANAGEMENT
21Semantic needs
- User interface support for
- Formulating a query
- Displaying the results
- System-intern support for
- Formulating the query across the aligned instance
data - Extracting the results
Semantic query editor
QUERYING AND REASONING
Semantic query processor
Query answering
Alignment repository
Data repository
Ontology repository
DATA METADATA MANAGEMENT
22Semantic needs
ONTOLOGY ENGINEERING
Ontology learner
Ontology editor
Ontology browser
- Ontology creation
- Semi-automatic learning
- Manual enrichment
Ontology view customization
Semantic query editor
QUERYING AND REASONING
Semantic query processor
Query answering
Alignment repository
Data repository
Ontology repository
DATA METADATA MANAGEMENT
23Semantic needs
ONTOLOGY ENGINEERING
ONTOLOGY EVOLUTION
ONTOLOGY INSTANCE GENERATION
Automatic annotation
Ontology populator
Ontology versioner
Ontology learner
Ontology editor
Manual annotation
Ontology browser
Ontology view customization
Semantic query editor
- Ontologies will change over time
- Instance generation
- Semi-automatic annotation
QUERYING AND REASONING
Semantic query processor
Query answering
Alignment repository
Data repository
Ontology repository
DATA METADATA MANAGEMENT
24Semantic needs
ONTOLOGY ENGINEERING
ONTOLOGY EVOLUTION
ONTOLOGY INSTANCE GENERATION
Automatic annotation
Ontology populator
Ontology versioner
Ontology learner
Ontology matcher
Ontology editor
Manual annotation
Ontology browser
Ontology view customization
Semantic query editor
- Ontology alignment at run-time
- OR
- Mapping generation at design-time
QUERYING AND REASONING
Semantic query processor
Query answering
Alignment repository
Data repository
Ontology repository
DATA METADATA MANAGEMENT
25Index
- State of the Art
- Semantic Web Framework
- Components of the SWF
- Example use case
- Conclusions and next steps
26Conclusions
- SWF aims
- To help developers building SW applications
- To diminish development costs
- SWF describes
- Types of SW technologies
- Their functionalities
- Dependencies between technologies
- SWF supports the identification of
- Semantic components of SW applications
- Implementations of these components
27Next steps
- Reference architecture for building Semantic Web
applications - Components, interfaces and protocols
- Methodology for building large scale semantic
applications - Allow an easy, fast and reliable development and
deployment of Semantic Web applications
28More information
- D1.2.5 Architecture of the Semantic Web Framework
v2 - Publicly available in the Knowledge Web portal
- http//knowledgeweb.semanticweb.org/
- Contact us
- rgarcia_at_fi.upm.es
- omunoz_at_fi.upm.es
Thanks! Questions?
29Towards a component-based framework for
developing Semantic Web applications
- Raúl García-Castro, Asunción Gómez-Pérez, Óscar
Muñoz-García , Lyndon Nixon - rgarcia,asun,omunoz_at_fi.upm.es
- ASWC - Bangkok, Thailand
- 4 February 2009