Download Building a Database Semanticizer for Task Computing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
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 ?