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

Edelweiss and Services

Embed Size (px)

Citation preview

edelweiss edelweiss & services& services

ou pourquoi mettre des ontologies dans les rouages

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

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)

ontologie

• conceptualisation partielle

• propriétés de catégories

• formalisation pour traitement

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)

W3CW3C

web services sémantiques

• gestion de connaissances

• gestion de ressources

• intégration d’applications

• services distribués

• des ressources comme les autres

service Webservice Webapplication accessible à travers les protocoles du Web

fournisseurservice

annuaire moteur de recherche

1

clientdemandeur

2

3

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

descriptions de services

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

fournisseurserviceclientdemandeur

annuaire

3

12

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>

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>

compose a chain of servicescompose a chain of 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

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

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

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>

<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

to web servicesmobile accesses on CMU’s campus =

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

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”

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

SAWSDLSAWSDLsemantic annotation of WSDL (W3C Rec. 2007)

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

SAWSDL…

annoter du WSDL 2.0

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

SAWSDL RDFGRDDL

that’s all folks…fabien l. gandon