Top Banner
edelweiss edelweiss & services & services ou pourquoi mettre des ontologies dans les rouages
27

Edelweiss and Services

Jul 15, 2015

Download

Technology

Fabien Gandon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Edelweiss and Services

edelweiss edelweiss & services& services

ou pourquoi mettre des ontologies dans les rouages

Page 2: Edelweiss and Services

mémoiresmémoires collectives collectivesmatérialiser et utiliser des

•hybrides : documents-représentations•intrawebs sémantiques, communautés•représentations et traitements à base de graphes•serveurs de connaissances distribué(e)s•utilisation et interaction

Page 3: Edelweiss and Services

cube(x) cube(y) cube(z)

couleur(x, bleu)

couleur(y, jaune)

couleur(z, rouge)

droite(z, y) droite(y, x)

ontologie:ontologie:o cube() couleur(,) gauche(,)cube() couleur(,) gauche(,)o cube(?a)cube(?a)⇒⇒objet(?a)objet(?a)o gauche(?a,?b)gauche(?a,?b)⇔⇔droite(?b,?a)droite(?b,?a)

Page 4: Edelweiss and Services

ontologie

• conceptualisation partielle

• propriétés de catégories

• formalisation pour traitement

Page 5: Edelweiss and Services

chercher(x) réserver(z)

entrée(x, ISBN)

entrée(y, BOOK_TITLE)

sortie(y, ISBN)

composable(y, x)

ontologie:ontologie:o service() entrée(,) sortie(,)service() entrée(,) sortie(,)o chercher(?a)chercher(?a)⇒⇒service(?a)service(?a)o sortie(?a,?v) sortie(?a,?v) ∧∧ entrée(?b,?v) entrée(?b,?v) ⇒⇒ composable (?a,?b) composable (?a,?b)

Page 6: Edelweiss and Services

W3CW3C

Page 7: Edelweiss and Services

web services sémantiques

• gestion de connaissances

• gestion de ressources

• intégration d’applications

• services distribués

• des ressources comme les autres

Page 8: Edelweiss and Services

service Webservice Webapplication accessible à travers les protocoles du Web

fournisseurservice

annuaire moteur de recherche

1

clientdemandeur

2

3

Page 9: Edelweiss and Services

services web sémantique(s)annotation sémantique des

descriptions de services

Page 10: Edelweiss and Services

sémantiquementsémantiquementservices annotés et recherchés

fournisseurserviceclientdemandeur

annuaire

3

12

Page 11: Edelweiss and Services

Service description (OWL-S)<service:Service rdf:ID="PosteService_Secretaire"> <service:presents rdf:resource="#Profile_Poste_Service_Secretaire"/> <service:describedBy rdf:resource="#PosteSecretaire"/> <service:supports rdf:resource="#PosteGrounding_Secretaire"/></service:Service>

<profile:Profile rdf:ID="Profile_Poste_Service_Secretaire"> <service:presentedBy rdf:resource="#PosteService_Secretaire"/> <profile:has_process rdf:resource="#PosteSecretaire"/> <profile:serviceName>PosteSecretaire</profile:serviceName> <profile:hasInput rdf:resource="#PosteSecr_input"/> <profile:hasOutput rdf:resource="#PosteSecr_output"/></profile:Profile>

Page 12: Edelweiss and Services

Service description (OWL-S)<process:AtomicProcess rdf:ID="PosteSecretaire"> <process:hasInput> <process:Input rdf:ID="PosteSecr_input"> <process:parameterType>&xsd;#string</process:parameterType> <process:semanticType rdf:resource="&doc;#EmployeeName"/> </process:Input> </process:hasInput> <process:hasOutput> <process:Output rdf:ID="PosteSecr_output"> <process:parameterType>&xsd;#string</process:parameterType> <process:semanticType rdf:resource="&doc;#AssistantPhone"/> </process:Output> </process:hasOutput> </process:AtomicProcess>

Page 13: Edelweiss and Services

compose a chain of servicescompose a chain of services

Page 14: Edelweiss and Services

composable !

?s1 rdf:type proc:Process?s2 rdf:type proc:Process?s1 proc:hasInput ?input ?s2 proc:hasOutput ?output ?input sawsdl:modelRef ?inType?output sawsdl:modelRef ?outType?outType rdfs:subPropertyOf ?inType⇒?s2 proc:composable ?s1

Page 15: Edelweiss and Services

composable ?

?s1 all::proc:composable[4] ?s2?s1 proc:hasInput ?param1 ?s2 proc:hasOutput ?param2 ?param1 sawsdl:modelRef c:employeeName?param2 sawsdl:modelRef c:assistantName

Page 16: Edelweiss and Services

services for memory & memory for servicesservices for memory & memory for services

• intelligence: composing services and knowledge

• mapping input types to queries

• corese as a semantic web service itself

Page 17: Edelweiss and Services

Input description & extension

<process:AtomicProcess rdf:ID="PosteSecretaire"> <service:describes rdf:resource="#PosteService_Secretaire"/> <process:hasInput> <process:Input rdf:ID="PosteSecr_input"> <process:parameterType>&xsd;#string</process:parameterType> <process:semanticType rdf:resource="&doc;#EmployeeName"/> </process:Input> </process:hasInput>

<process:hasOutput> <process:Output rdf:ID="PosteSecr_output"> <process:parameterType>&xsd;#string</process:parameterType> <process:semanticType rdf:resource="&doc;#AssistantPhone"/> </process:Output> </process:hasOutput> </process:AtomicProcess>

Page 18: Edelweiss and Services

<cos:rule> <cos:if> ?x rdf:type c:Employee

?x c:Name ?n </cos:if> <cos:then> ?x c:EmployeeName ?n </cos:then></cos:rule>

<c:Employee rdf:ID='ML'><c:Name>Moussa Lo</c:Name>

</c:Employee>

rule defining the predicaterule defining the predicate

Page 19: Edelweiss and Services

to web servicesmobile accesses on CMU’s campus =

Page 20: Edelweiss and Services

Directory FacilitatorAgent (FIPA)

Agent ManagementAgent (FIPA)

FIP

A A

CL

messages an

d O

WL

Con

tent

User InteractionAgent

e-Wallet Manager Agent

Ontologist Agent

Task-Specific Agents JADE platform

Page 21: Edelweiss and Services

e-e-

Déclarer besoins élémentaires en information et

autorisations nécessaires

Pré-vérification des autorisations

Post-vérification des autorisations

Faire appel connaissances

locales

Application règlesde révision

Déclarer contexte requête

Requête

Assertionconnaissance autorisée

Résultat

Faire appel services personnels /

publics

Exemple: Norman demande la position géographique de Fabien1- "l’expéditeur de la requête est Norman", "requête arrivée à 15H34"

2- besoins = "où se trouve Fabien" + autorisation accès localisation

3- (a) Norman peut-il demander à localiser Fabien d’après ce que l’on sait?

(b) "mes collègues de travail peuvent connaître le bâtiment où je me trouve,lorsque je suis sur le campus"

(c) Norman est-il un collègue de travail? Oui

4- Pas de réponse dans les connaissances statiques / locales.

5- Règles= le réseau sans-fil permet localisation; champ ‘lieu’ de l’agenda

6- Fabien est-il sur le campus? Oui

7- Fabien n'est disposé à révéler que le bâtiment où il se trouve

8- “Fabien est dans le bâtiment Borel”

Page 22: Edelweiss and Services

<wowl:ServiceRule wowl:salience="50"> <rdfs:label>provide location for IP Address</rdfs:label> <wowl:output> <mc:Entity rdf:ID="&variable;#entity"> <mc:location rdf:resource="&variable;#location" /> </mc:Entity> </wowl:output> <wowl:precondition> <mc:Entity rdf:ID="&variable;#entity"><mc:ip>&variable;#ip</mc:ip> </mc:Entity> </wowl:precondition> <wowl:call> <wowl:Service wowl:name="call-web-service"> <wowl:qname>http://mycampus/WiFiService#</wowl:qname> <wowl:endpoint>http://128.2.68.34:7788</wowl:endpoint> <wowl:method>GetLocation</wowl:method> <wowl:ip>&variable;#ip</wowl:ip> </wowl:Service> </wowl:call></wowl:ServiceRule>

Page 23: Edelweiss and Services

SAWSDLSAWSDLsemantic annotation of WSDL (W3C Rec. 2007)

http://www.w3.org/2002/ws/sawsdl/

Page 24: Edelweiss and Services

SAWSDL…

Page 25: Edelweiss and Services

annoter du WSDL 2.0

Page 26: Edelweiss and Services

GRDDL profile for SAWSDLhttp://ns.inria.fr/grddl/sawsdl/

SAWSDL RDFGRDDL

Page 27: Edelweiss and Services

that’s all folks…fabien l. gandon