Building a Database Semanticizer for Task Computing - Anubhav Sonthalia MS Thesis Defense, 12/06/04
Dec 27, 2015
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
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”
“Services” offer means Web services, UPnP services etc.
Filling the gap
Task Computing - Definition is a user-oriented framework that lets non-
expert 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 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) …
Task Computing Technology Major components are:
Service Discovery Service Composition Service Execution Service Publishing
Task Computing Architecture
DeviceApplication
E-service
Service ServiceService
Semantic Service
Description
Semantic Service
Description
DiscoveryEngine
Execution & Execution Monitoring
Engine
ServiceComposition
Engine
ManagementTools
Task Computing
ClientApplications
ServiceLayer
MiddlewareLayer
PresentationLayer
Content
Web-basedClient
Service
Semantic Service
Description
Task Computing Environment
User
Web Service API
Semantic Service
Description
RealizationLayer
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
Route from FLA to Addr
Add into Outlook Cont
Addr: AddressCont: ContactWP: Web Page
Discovered Services
View Locally File
View on Projector File
My FavoriteWP
My FileFile
Business Address of ContAddr
Dulles AirportCont
Contact from OutlookCont
Weather Info of AddrWP
Task Execution
“My Contact”OWL-S
Grounding
Web Service Callwith no input
Contact
“My Contact” Web Service
“Business Address of”
OWL-S
Grounding
Result(OWL String)
Address
“Route fromFLA to”OWL-S
Grounding
“Route from FLA to” UPnP
STEER
Result(None)
UPnP Callwith a string
Route from FLA to Business Address of My Contact
<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>
Semantic Contact Instance Semantic Address Instance
<soapenv:Envelope …><soapenv:Body> <GetWeather …> <zip type="xsd:string" …> 20740</zip> </GetWeather> </soapenv:Body></soapenv:Envelope>
“Weather Info of”Web Service
<soapenv:Envelope …><soapenv:Body> <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” Web Service <soapenv:Envelope …>
<soapenv:Body> <InitService …> <address type="xsd:string" …> 8400 Baltimore Ave, College Park, MD 20740 </address> </InitService> </soapenv:Body></soapenv:Envelope>
“Route fromFLACP”
UPnP Service
“Business Address of”
OWL-S
“Weather Info of”OWL-S
“Aerial Photo of”OWL-S
“Route fromFLACP”OWL-S
<rdf:RDF …><Address …> <Country>USA</Country> <StreetAddress>8400 Baltimore Ave </StreetAddress> <City>College Park</City> <State>MD</State> <ZipCode>20740</ZipCode> </Address></rdf:RDF>
TC Service Execution (Instance View)
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.
Semantic
-ization
Create a web service withWSDL to publish the object instance, and generate an OWL-S file to describe the
web service
OS/Applicationobjects
NoProcessing
NoProcessing
Semanticobjects
Semantic ServiceDescription
Publish the OWL-Sdescription file
Semantic objects
OWL-S service descriptionwith grounding to web service
Allow Task Computing Client to discover
White Hole
PIPE
NoProcessing
White Hole and PIPE
PIPE- A Service Management Tool
Web Service API
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.
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… 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 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… 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/Transform" xmlns:contactOnt="http://www.flacp.fujitsulabs.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.
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.