Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 ?