73
www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu Prof. Dimitar Trajanov Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services integration using semantic web technologies

Www.finki.ukim.mk Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

Embed Size (px)

Citation preview

Page 1: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Prof. Dimitar TrajanovProf. Dimitar Trajanov08 Jun 2011, CERTH, Greece08 Jun 2011, CERTH, Greece

Semantic Sky:Cloud services integration using

semantic web technologies

Page 2: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

AgendaAgenda

o Introduction: o Semantic web technologies basicso Semitic sky architectureo Exampleso Conclusion

Page 3: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

Introduction

Page 4: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o Cloud computing refers to the on-demand provision of computational resources (data, software) via a computer network

o Cloud Computing Stack• SaaS - Software as a Service• PaaS - Platform as a Service• IaaS - Infrastructure as a Service

Cloud computingCloud computing

Page 5: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Cloud computing typesCloud computing types

Page 6: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o Obtained from different sources:• Web (Facebook, Twitter, …)• Intranet (e-mail, Enterprise applications, …)• Local data (local documents, …)

o The number of information sources is increasing rapidly• Increased number of publicly available services• Increasing number of cloud services with specialized functionalities• Increased number of enterprise application

o Depending on information type, we mainly take some actions, e.g. we share them or add them into a ToDo list

The information we work The information we work with in our every day livewith in our every day live

Page 7: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o Interchange data among information sources

o Need of complex and composite actions

o Actions require a certain amount of time (get/copy the data, change the context, transfer the data, execute an action in destination service)

o Services and the data are placed on different locations and infrastructures

The problemThe problem

Page 8: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o To develop a software platform which will provide the users with a unified and simple composite approach to the different services they use, and with a simple flow of information from one infrastructure to another.

o To come to such a design, a large number of partial problems will have to be solved• Mechanisms for detection of the entities which are found within texts and

information that we get from different services.• Based on the context in which the user is working, to offer actions

(services) that can be performed on the entities.• Integration with local working environment of the user.

MotivationMotivation

Page 9: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o The system is called “SemanticSky”, because it is an environment where many cloud services will exist and interact with each-other

o It is based on semantic web technologieso Reuse of known ontologies (FOAF, AIISO, University

Ontology,GeoNames, …)

Solution: Semantic SkySolution: Semantic Sky

Page 10: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o There are projects that are focused on the connectivity of different cloud infrastructures (mOSAIC, SITIO, …)

o Microsoft Outlook plug-in• Xobni ffers fast search and people-based navigation of email archives.• Mashin organizes information extracted from email history contextually.

o Google mail plug-in

Related workRelated work

Page 11: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o Babylon-Enterprise is a web-configured client-server system based on a Windows program (Babylon- Enterprise Client) installed on the end-user’s workstation and an enterprise application server (Babylon-Enterprise Server).• Gives the ability to access all enterprise information and data from

every working environment.

o Greplin is a personal search engine that allows you to search all your online data in one place.

Related workRelated work

Page 12: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

Semantic Web Technologies

Page 13: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Chapter 1

A Semantic Web Primer

13

A Layered ApproachA Layered Approach

o The development of the Semantic Web proceeds in steps• Each step building a layer on top of another

Principles:o Downward compatibility o Upward partial understanding

Page 14: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Current Semantic Web Current Semantic Web StackStack

Chapter 1

A Semantic Web Primer

14

Page 15: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Semantic Web Open Semantic Web Open StandardsStandards

o RDF – Store data as “triples” o OWL – Define systems of concepts called

“ontologies”o Sparql – Query data in RDFo SWRL – Define ruleso GRDDL – Transform data to RDF

Page 16: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

RDF “Triples”RDF “Triples”

o the subject, which is an RDF URI reference or a blank node

o the predicate, which is an RDF URI reference o the object, which is an RDF URI reference, a literal or

a blank node

Source: http://www.w3.org/TR/rdf-concepts/#section-triples

Subject ObjectPredicate

Page 17: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

RDBMS vs Triplestore

S P OPerson Table

f_namejimnovachrislew

ID001002003004

l_namewissnerspivackjonestucker

Colleagues Table

SRC-ID001001001001002002002002003003003003004004004004

TGT-ID001002003004001002003004001002003004001002003004

Subject Predicate Object001 isA Person001 firstName Jim001 lastName Wissner001 hasColleague 002002 isA Person002 firstName Nova002 lastName Spivack002 hasColleague 003003 isA Person003 firstName Chris003 lastName Jones003 hasColleague 004004 isA Person004 firstName Lew004 lastName Tucker

Page 18: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Merging Databases in RDF is EasyMerging Databases in RDF is Easy

S P OS P O S P O

Page 19: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

19

OntologiesOntologies

o The term ontology originates from philosophy • The study of the nature of existence

o Different meaning from computer science• An ontology is an explicit and formal specification of a

conceptualization

o Ontologies provide a shared understanding of a domain (semantic interoperability)• overcome differences in terminology • mappings between ontologies

o There are many available onotologies for different domains

Page 20: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Chapter 1

A Semantic Web Primer

20

Typical Components of Typical Components of OntologiesOntologies

o Terms denote important concepts (classes of objects) of the domain • e.g. professors, staff, students, courses, departments

o Relationships between these terms: typically class hierarchies• a class C to be a subclass of another class C' if every object in

C is also included in C' • e.g. all professors are staff members

Page 21: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

21

Further Components of Further Components of OntologiesOntologies

o Properties: • e.g. X teaches Y

o Value restrictions • e.g. only faculty members can teach courses

o Disjointness statements • e.g. faculty and general staff are disjoint

o Logical relationships between objects • e.g. every department must include at least 10 faculty

Page 22: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

Semantic Sky Architecture

Page 23: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

System OverviewSystem Overview

Desktop-client

Browser Plug-in

Semantic Sky Resource Retrieval

Action Invocation

Semantic Sky

Sparql Endpoint

Ontology

Cloud Service 1

Cloud Service 1

Cloud Service 2

Cloud Service 2

Cloud Service 3

Cloud Service 3

Cloud plug-in

Page 24: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

System Architecture

Page 25: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Knowledge base Knowledge base

o RDF data storeo Apache Lucene is used as indexing engineo Each triple (statement), rdf:class and rdf:property are

indexed as separated entities (Lucene Document)o Extensible

Page 26: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Knowledge base Knowledge base extensionextension

o Owl/Rdf file upload• Using Jena API to extract semantic resources• Calls the indexer to index resources

o Owl/Rdf URI• Paste the link to the Owl or Rdf document• Jena extract the resources and passes them to the Lucena indexer

o SPARQL endpoints • By providing a URL to the endpoint• Connect to the endpoint address and fetch all data• Lucene indexes the fetched data from the endpoint

Page 27: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Web service repositoryWeb service repository

o Used for faster service discoveryo Semantically annotated web services

• Service input types• Service output types

o Any ontology can be used for annotation of the web services

o Extensible

Page 28: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Extending the WS Extending the WS RepositoryRepository

o Using existing web services• Annotating using the SAWSDL standard• Annotation tool developed• Import the annotated WSDL file into the repository

o Creating new web services• Develop the web service• Repeat the steps for existing web services

o Using REST web services• Tool for semantic mapping of REST services (in progress)

Page 29: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Extensibility in actionExtensibility in action

o We have system that enables Task Management and exports web services for this.

o We want to add new functionality about Task Management.

o What do we do to enable this?• Import the ontology for this domain, if there is no any• Annotate the services (Preferably with our tool)• Define actions • It is on and can be used

Page 30: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Data Linking and Data Linking and Inference EngineInference Engine

o System entry point • Accepts text • Return semantic resources correlated with the text

o For each token (word) in the text, we extract all resources related to it

o Extraction is made using Apache Lucene Searcho All Lucene entities retrieved from the search are

converted to semantic resources

Page 31: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

For each resource, get its properties

Ontology

SPARQL endpoints

Find the resources for the text

from the index

Ontology index

Group resources by type

Type : [ {p1:v1,p2:v2,..,uri:#res1}, {p1:v1',p3:v3',..,uri:#res2}]

Data Linking and Inference Engine

Data Linking and Inference Engine

Page 32: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Type : [ {p1:v1,p2:v2,..,uri:#res1}, {p1:v1',p3:v3',..,uri:#res2}]

Action Search

Align resource types as inputs

Semantically annotated

web services

Find all operations from the Repository for these inputs

SemanticWS

Repository

Are there entries in the

repository

Find all compositions with these inputs and store

them in the repository

Assemble action XML result

<Action><id>uid</id><inputs>....</inputs>

</Action>

Action Search

noyes

Page 33: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Operations RetrievalOperations Retrieval

o Searching operations (web service methods) from the repository

o Service compositions are made when possibleo Uses the types of the extracted resources to find the

operationso User_Defined_Input

• rdfs:Class used to denote that this input will be rendered as input text at the client side

• Implicit input type • it will be placed in the inputs list, even when no resource from this type is

extracted• The user must provide the value for this type

Page 34: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Action FormAction Form

User_Defined_Input

Page 35: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Find transformer forResource typeTransformers

<Action><id>uid</id><inputs>....</inputs>

</Action>

Type : [ {p1:v1,p2:v2,..,uri:#res1}, {p1:v1',p3:v3',..,uri:#res2}]

Transform the resource

Transform the actions

UI Generator

UI Generator

Page 36: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Action InvocationAction Invocation

o The generated form contains all parameters for action invocation

o Single service for action invocation• It assembles the parameters and invokes the actual services• The result is returned back to the user

Page 37: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

Implementation details

Data integration- Enterprise data- Opening the data

Page 38: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Example:Example:University dataUniversity data

o Most of today information systems (IS) store their data in relational databases

o This data is published in a structured way, in RDF format on the Semantic Web

o What we publish? basic information about the Faculties and deeper information about our CSE Faculty (Institutes, Modules, Programs, Courses, Subjects, Employees)

o Few universities, most of them in the UK, have already started open data projects, which are still in development

Page 39: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Semantic data publishingSemantic data publishing

o There are many tools for publishing the content of relational databases on the Semantic Web like D2R Server, Oracle Spatial 11g, Asio Semantic Bridge, SquirrelRDF and many others

o We use the D2R Servero D2R Server enables RDF and HTML browsers to

navigate the content of the database,and allows applications to query the database using the SPARQL query language

o http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/

Page 40: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

The stepsThe steps

Page 41: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Open Linked dataOpen Linked data

o Our goal is five star data – data linked to other people’s data to provide context

o We connect to well known ontologies, which already have definitions for our types of data

o D2RQ Mapping Language is a declarative mapping language for describing the relation between an ontology and an relational data model

Page 42: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Ontologies Ontologies

o For describing our data we need few well known ontologieso The Web Ontology Language (OWL)o FOAF - ontology describing persons, their activities and

their relations to other people and objects, it is used for the employees

o The Academic Institution Internal Structure Ontology (AIISO) - provides classes and properties to describe the internal organizational structure of an academic institution

o University Ontology – same purpose as AIISO, but contains some additional features needed for describing our data

o GeoNames Ontology - makes it possible to add geospatial semantic information to the Word Wide Web

Page 43: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Sparql EndpointSparql Endpoint

o Changes in the mapping .n3 file for connecting with the ontologies have to be made manually

o After the .n3 file is edited, it can be run with D2R Server and in the Sparql Endpoint, queries can be written using the prefixes from the ontologies

o The Sparql Endpoint shows the data in triples: subject, predicate and object

o http://e-tech2.feit.ukim.edu.mk/open-data/snorql/

Page 44: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

University Open Data ExampleUniversity Open Data Example

o This query shows basic information about the Professor Trajanov and the courses he teaches

o http://e-tech2.feit.ukim.edu.mk/open-data/snorql/?describe=http%3A%2F%2Fe-tech2.feit.ukim.edu.mk%2Fopen-data%2Fresource%2Fdbo.EMPLOYEES%2F64

Page 45: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

University Open Data ExampleUniversity Open Data Example

o This query shows basic information about the subject Network Programming and the courses of that subject

o http://e-tech2.feit.ukim.edu.mk/open-data/snorql/?describe=http%3A%2F%2Fe-tech2.feit.ukim.edu.mk%2Fopen-data%2Fresource%2Fdbo.SUBJECTS%2F1

Page 46: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

D2R Server Mapping tool D2R Server Mapping tool

o Manually editing the .n3 file is time consuming, so we created application called the D2R Server Mapping Tool to connect to the ontologies

o The user first enters the database which wants to be published, then the application generates .n3 file using the D2R server

o The Mapping tool then converts the .n3 file to .rdf file, format which can be easily shown in a visual xml-alike tree

o The user can choose some class or property from the tree and just add or remove reference from an ontology

o Ontologies can also be added and removed from the application

Page 47: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

D2R Server Mapping tool D2R Server Mapping tool

Page 48: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

Implementation details

Data access•Cloud plug-in•Desktop application

Page 49: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Google GadgetsGoogle Gadgets

Embed application's UI into Gmail, Calendar, Spreadsheets and Sites, using the OpenSocial standard

Page 50: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

What are Gmail Gadgets?What are Gmail Gadgets?

o Custom HTML & JavaScript componentso Run within an iframeo Extend Gmail with additional functionalityo Implement the Google gadgets APIo Two types of Gmail Gadgets

• Sidebar Gadgets• Contextual Gadgets

Page 51: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Gmail Sidebar GadgetGmail Sidebar Gadget

Page 52: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Gmail Contextual GadgetGmail Contextual Gadget

o Displayed at the bottom of individual email messages

o Triggered by contextual clues• E-mail subject• E-mail sender• E-mail body

o Example: the YouTube contextual gadget• Triggered whenever a YouTube link appears in the e-mail body.

Page 53: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Gmail Contextual Gadget Gmail Contextual Gadget ImplementationImplementation

o Extractor• Detects contextual clues• Determines which types of content will trigger the gadget• Passes the triggering content to the gadget

o Gadget Specification• Takes action based on the content passed in from an extractor• Client-side logic and UI

Page 54: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Semantic Sky Contextual Semantic Sky Contextual GadgetGadget

o Uses an email body extractor to extract data• Triggered on every e-mail message *• Extracts the e-mail body text

o Sends the extracted text to Semantic Sky server via the services provided by the core module

o Receives and parses the JSON responseo Generates contextual action forms based on the response receivedo Renders the UI HTML in the gadget iframe

*Except on e-mails containing non ASCII letters. This is a known Google Gadget API bug

Page 55: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Generating Action FormsGenerating Action Forms

o Generated dynamically by the client script, depending on the response received from the server

o A list of available actions for the identified entities, along with the types of their input parameters are received in the response JSON object.

o The client script generates input fields for each input parameter. The input fields are either select fields, or plain text input fields depending on the type of the input parameter the field is generated for.

o Select fields are pre-populated with entities identified and returned from the server that match the input type of the input parameter

Page 56: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Action FormAction Form

User_Defined_Input

Page 57: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Action FormAction Form

Page 58: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Action Form ExamplesAction Form Examples

Page 59: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Invoking ActionsInvoking Actions

o Input values are extracted from each input field in the action form

o Values are packed into a JSON objecto Request is sent to the service responsible for

receiving action invocation requests on the servero The server parses the received object, and invokes

the requested action

Page 60: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Desktop context Desktop context extracorextracor

• Internet based infrastructure for collaboration with desktop application

• Desktop side interconnection with the services• The communication with the public services is

established with public API’s• Semantic annotated web services connection with the

Semnatic sky cloud• The OpenCalais web service used for automatic

semantic annotation

• Selected text search

Page 61: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Technology used and OS Technology used and OS interaction interaction

• C# .NET (framework v4.0) platform is used for developing the application

• Win32 API for interaction with the OS• System hook intercepts windows messages and detects mouse and

keyboard activity while the application runs in background.

• Hotkey activation of the application• Initiates copying of the selected text in the Clipboard• Gets whole text from the currently active window for the semantic search• Activates the application

• Clipboard data retrieval (text or image)• When the application is activated, data from the Clipboard is retrieved

automatically.• Processing of the data begins

Page 62: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

ArchitectureArchitecture

• The application is based on 4 main objects• Sources• Objects• Types• Actions

• Other parts of the system• External ontology• Web services

Page 63: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

SourcesSources

• Information from the external services based on the selected text search

• Classes which make the connection to the external web services on the cloud• Facebook API• Gmail API• Wikipedia public SOAP web service• Open Calais public SOAP web service• Semantic sky RESTfull web services

Page 64: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Objects and typesObjects and types

• The information retrieved from the services is parsed into objects

• Every object has a type• Object information depends on the type• Object type is determined by semantic search on

external ontology

Page 65: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

ActionsActions

• Based on the type, different actions can be performed on the objects• Simple actions

• Write email• Write on facebook wall etc

• Semantic sky web services• Gets all actions for the annotated objects

Page 66: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Use case of the Use case of the applicationapplication

• Select text on any window• Hotkey click

• gets the selected text in the application for processing

• Found object are shown by type and by source

• Actions for the found objects on the right side of the application

• Execute actions

Page 67: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Use of the Gmail and Use of the Gmail and Facebook APIFacebook API

• Semantic desktop application uses API libraries to connect to Gmail and Facebook

• Login is needed for both services to retrieve contacts

• Simple actions with contacts• Write on the wall• Write email

Page 68: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Use of the Wikipedia and Use of the Wikipedia and Open CalaisOpen Calais

• Connection to Wikipedia information is established by SOAP web service• Retrieves related terms to the input search string

• Open Calais service uses the CalaisDotNet library API• Uses semantic search to recognize objects, their type and

relevance

Page 69: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

Use of the Semantic Sky Use of the Semantic Sky sourcesource

• The desktop application is connected to the Semantic Sky source with 3 web services• textAnnotations – gets information about the semantic

resources found in the text input• actionsForText – gets all actions for the semantic

resources• invokeAction – invokes the selected action for a specific

semantic resource

Page 70: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

Conclusion

Page 71: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

ConclusionConclusiono Semantic Sky is the framework which enables connectivity

and integration, not only of different cloud services, but also of local data placed on the user machine.

o Automation of the use of different serviceso Intelligent engine that proposes actions that could (or

should) be executed by the usero Google contextual gadget developedo Desktop application developed (includes additional cloud

integration)o We join the Open Data trend by publishing some of the

faculty data

Page 72: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

o Extending the core system with some public cloud services

o Develop browser plug-ino Add personalizationo Add system learning by example

o Creating semantic copy/paste for entity transfer between applications (copy a person form Facebook and paste it in your CRM)

Future workFuture work

Page 73: Www.finki.ukim.mk   Prof. Dimitar Trajanov 08 Jun 2011, CERTH, Greece Semantic Sky: Cloud services

www.finki.ukim.mk www.facebook.com/FINKI.ukim.mk www.twitter.com/FINKIedu

THANK YOU !!!THANK YOU !!!

http://www.finki.ukim.mk/

[email protected]