Building a Database Semanticizer for Task Computing
Download
Report
Transcript Building a Database Semanticizer for Task Computing
Building a Database
Semanticizer for
Task Computing
-Anubhav Sonthalia
MS Thesis Defense, 12/06/04
Overview
Basics
Introduction
Task Computing
Database Semanticizer
BioGrid Task Computing – An application
Conclusion
Demo
What is the Semantic Web
The Semantic Web is an extension of the current Web,
in which data is given a well-defined meaning by
representing it in RDF and linking it to commonly
accepted ontologies. – Tim Berners Lee, October 2002
Task Computing
Our answer for ubiquitous computing
challenges based on the Semantic
Web
What are Semantics – A Task
Computing Definition
“Semantics” is a set of “clues and glues” for
resources (information, services) to be used in
different systems (computers and humans) and
contexts.
“Semantics” is:
Interoperability-enabler/enhancer
Measured by extent of interoperability it enables
Problem
Most Structured data is stored in
relational databases.
We need to map it to OWL in order
to use it in the semantic context.
Solution
Developed a semi automatic approach
to create a map between relational
databases and semantic objects.
Goal of Task Computing
User wants to do “Tasks”
Filling the gap
“Services” offer means
Web services, UPnP services etc.
Task Computing - Definition
is a user-oriented framework that lets nonexpert users accomplish complex tasks in
application-, device-, and service-rich
environments.
provides a myriad of ways for users to interact
with and through ubiquitous environments.
TC in eHome
TC in a Car
GPS Navigator (or PDA) to control
TC Voice Menu:
Do you want to …
(1) Navigate to an
address in PDA
(2) Play Music from
Digital Audio Player
(3) …
TC in an Office
TC at an Airport
TC at a Coffee Shop
Task Computing Technology
Major components are:
Service
Service
Service
Service
Discovery
Composition
Execution
Publishing
Task Computing Architecture
User
Task Computing Environment
Presentation
Layer
Task
Computing
Client
Web-based
Client
Applications
Web Service API
Middleware
Layer
Service
Layer
Realization
Layer
Discovery
Engine
Execution &
Execution Monitoring
Engine
Service
Composition
Engine
Management
Tools
Semantic
Service
Description
Semantic
Service
Description
Semantic
Service
Description
Semantic
Service
Description
Service
Service
Service
Service
Device
E-service
Application
Content
Grasping the Environment
Discover services through UPnP
Acquire Semantic Service Description (SSD) using
UPnP requests.
Business card metaphor:
With a business card (SSD), you can
put the person (service) in a social
context (Web ontology)
Then you can interact with the person
(service)
Semantic Service Compositions
View on Projector
Cont
Contact from Outlook
View Locally
Addr: Address
Cont: Contact
WP: Web Page
File
File
WP
My Favorite
File
My File
WP
Weather Info of
Addr
Route from FLA to
Addr
Add into Outlook
Cont
Addr
Business Address of
Cont
Cont
Dulles Airport
Discovered Services
Task Execution
“My Contact”
OWL-S
“Business
Address of”
OWL-S
Grounding
Contact
Grounding
“Route from
FLA to”
OWL-S
Address
Grounding
STEER
Web Service Call
with no input
Result
(OWL String)
“My Contact”
Web Service
UPnP Call
with a string
Result
(None)
“Route from
FLA to” UPnP
Route from FLA to Business Address of My Contact
TC Service Execution (Instance View)
Semantic Contact Instance
<rdf:RDF …> …
<Contact
rdf:ID="Contact_Ryusuke_Masuoka">
<hasBusinessAddress>
<Address>
<Country>USA</Country>
<StreetAddress>8400 Baltimore Ave
</StreetAddress>
<City>College Park</City>
<State>MD</State>
<ZipCode>20740<ZipCode>
</Address>
<hasBusinessAddress>
<hasHomeAddress>… </hasHomeAddress>
<FirstName>Ryusuke</co:FirstName>
<LastName>Masuoka<LastName>
… </Contact …> …
</rdf:RDF>
“Weather Info of”
Web Service
<soapenv:Envelope …>
<soapenv:Body>
<GetWeather …>
<zip type="xsd:string" …>
20740</zip>
</GetWeather>
</soapenv:Body>
</soapenv:Envelope>
Semantic Address Instance
<rdf:RDF …>
<Address …>
<Country>USA</Country>
<StreetAddress>8400 Baltimore Ave
</StreetAddress>
<City>College Park</City>
<State>MD</State>
<ZipCode>20740</ZipCode>
</Address>
</rdf:RDF>
“Business
Address of”
OWL-S
“Weather
Info of”
OWL-S
<soapenv:Envelope …>
“Aerial Photo of”
<soapenv:Body>
Web Service
<GetPhoto …>
<street type="xsd:string" …>
8400 Baltimore Ave</street>
<city type="xsd:string" ….>
College Park</city>
<state type="xsd:string" …>MD</state>
<zip type="xsd:string" …>20740</zip>
</GetPhoto>
</soapenv:Body>
</soapenv:Envelope>
“Aerial
Photo of”
OWL-S
“Route from
FLACP”
OWL-S
“Route from
<soapenv:Envelope …>
FLACP”
<soapenv:Body>
UPnP Service
<InitService …>
<address type="xsd:string" …>
8400 Baltimore Ave, College Park, MD 20740
</address>
</InitService>
</soapenv:Body>
</soapenv:Envelope>
Service Publishing
Lets the user “publish” services from OS/App/OWL
objects, and OWL-S
Publish service = Make service’s OWL-S through UPnP
Numerous ways of publishing services
White hole,
bank service,
multimedia publisher,
image generator, etc.
OS/Application
objects
Semantic
objects
Semantic
-ization
Semantic Service
Description
No
No
Processing Processing
White Hole
and PIPE
White
Hole
Semantic objects
Web Service API
Create a web service with
WSDL to publish the object
instance, and generate an
OWL-S file to describe the
web service
No
Processing
PIPE
OWL-S service description
with grounding to web service
Publish the OWL-S
description file
Allow Task Computing Client to discover
PIPE
- A Service Management Tool
Revisit the Problem
Most Structured data is stored in relational
databases.
We need to map it to OWL in order to use it
in the semantic context.
Important in Bio-Grid Task Computing
domain
Database Semanticizer
We have created a tool which enables easy
mappings between the databases and
commonly accepted ontologies.
It creates the semantic instance objects.
It can publish the object as a service in
order to enable us to pick it up from TCC.
Process Overview
Modules
Database Web Service Wrapper
Application
Service and Control UI.
System Architecture
Web Service Wrapper
Connects to a remote database or a remote
Grid.
Uses the OLE DB interface.
In grid environments, we may not be able
to directly connect to a database. Hence
this wrapper is a way of getting around the
problem.
contd…
Provides various Web methods
GetTables
GetTableDetails
ExecuteNonQuery
ExecuteQuery
Application Body
Contd…
GUI Interface
Displays the various Tables and Columns with details.
Helps the user grasp the schema of the database
before he makes any SQL queries
Execute SQL queries to reach the final object tuples
we want to use and convert to semantic objects
Enter Ontology URI using which semantic objects
need to be created.
Mapping Editor
Mapping Editor
Parses the ontology and creates a tree view of the
objects in the ontology.
Also shows the various datatype and object
properties.
Shows the various attribute elements for the selected
SQL query.
User can create a mapping using simple clicks.
Save these mappings if desired.
Use saved mapping.
Contd…
The mapping editor has been written using C#.
There is no OWL parser for C#.
C# OWL Parser built on top of the Drive RDF Parser from
CMU.
OWL Parser provides us a programmatic API to parse
OWL ontologies.
Service Control UI
Web page interface
giving the user control over the application
or accepting user input.
In our case,
displays the query results in the form of a table
allows the user pickup an object.
write semantic object file,
publish through PIPE
pass semantic object as output
Contd…
Related Work
MIT Simile Project
Java2rdf
Flat2rdf
Mindswap Lab
Excel2rdf
csv2rdf
Contd…
D2R Map –
declarative, XML-based language
to describe mappings between databases and
ontology
Limitations
can create RDF, not OWL objects.
also user expected to learn the new constructs
user is expected to be well versed with XML
OWL-S Service Descriptions
Service Profile – used for discovering the
service
Service Model – contains all functional
properties.
Service Grounding –
interface to plugin to WSDL description.
Provides XSLT for transforming between XML
and RDF/OWL.
Example
Fax Service available on the
Web.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Tra
nsform"
xmlns:contactOnt="http://www.flacp.fujitsula
bs.com/tce/ontologies/2004/03/object.owl"
xmlns:rdfs="http://www.w3.org/2000/01/rdf
-schema#" contactOnt:dummy="">
<xsl:template match="/">
<xsl:variable name="X1"
select="//contactOnt:number" />
<obj><xsl:value-of select="$X1"/></obj>
</xsl:template>
</xsl:stylesheet>
Bio-STEER- Application of Task
Computing
Bio-informatics
Databases and sequence matching:
Find similar proteins
Phylogenetic analysis
sampling properties of sequence data
Comparative genomics
genome content
genome structure
genome evolution
Motivation
Problems in Bioinformatics
Lots of tools: I/O
Lots of data: structure, formats
Lots of interaction b/w data and tools: workflow
Computationally expensive
Wide range of skills for Biologists
Motivation contd…
Technologies:
Semantic Web
Interactive composition of semantic web services
(workflows)
Search and information extraction
Grid Computing
Computational power
TCE
Web Services Composition
Usability Issues
Services for Bio-STEER
We have semanticized some services
available on the web. For e.g. –
BLAST service, Clustal-W.
Other services like Muscle, Phyml are
being semanticized.
Demo
Map to
ontology
Semantic
Instances
DB
Semanticizer
Access DB through WS
DB
WS
DB
DB
DB
Future Work
Mapping Object Properties directly to
multivalued attributes.
Link to RDF data stores like the
Kowari Metastore to assert the
instances.
Conclusion
Task Computing environments are now able
to access legacy databases and create
semantic instances from the same.
Extremely important in the evolution of
task computing applications like Bio Grid
Task Computing.
Thank You
Questions ?