O.Curé [1 ] Le web sémantique

Dimension: px
Commencer à balayer dès la page:

Download "O.Curé [1 ] Le web sémantique"

Transcription

1 O.Curé [1 ] 3 Le web sémantique

2 O.Curé [2 ] Une extension du Web actuel "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." [1]. Comment y parvenir? À l'aide de structures XML En développant des ontologies.

3 O.Curé [3 ] XML n'est pas suffisant XML est comme HTML mais il permet de définir ses propres balises. Mais avec XML, on ne peut pas exprimer le sens des balises. C'est le rôle des ontologies qui : expriment la sémantique dans un formalisme interprétable par les machines. permettent à des programmes indépendants d'échanger des données / connaissances.

4 O.Curé [4 ] L'architecture du web sémantique

5 O.Curé [5 ] URI et espace de noms Le Web est un espace informationnelle Les ressources sont les points de cet espace. URI : nom ou adresse dénotant une ressource. Espace de noms Ensemble de noms utilisés comme éléments et attributs. Identifié par une URI.

6 RDF et RDFS O.Curé [6 ]

7 O.Curé [7 ] Présentation de RDF (Resource Description Framework) Un langage pour décrire des ressources Exploite les métadonnées pour décrire les ressources du Web. Propose donc une interopérabilité entre applications qui partagent des informations (interprétables par les machines) sur le Web. Possède une syntaxe XML (mais ce n'est pas l'unique syntaxe).

8 O.Curé [8 ] RDF, pour faire quoi? Amélioration de la découverte de ressources sur le Web. Etablir des catalogues de ressources (décrire le contenu et les relations). Développement d'agents intelligents. Spécifier la sémantique des données d'un document XML.

9 Modèle de données RDF Equivalent aux réseaux sémantiques [Staab 2000] : graphe orienté avec labels. Les noeuds représentent des concepts, des instances et les valeurs des propriétés. Les arcs représentent des propriétés entre concepts. [Stabb2000] : Staab, S. Erdmann, M. Maedche, A., Decker, S. : An extensible approach for modeling ontologies ins RDF(S). ECDL 2000 O.Curé [9 ]

10 Modèle de données RDF (2) 3 composants Resources : des données décrites en RDF. Elles sont décrites à l'aide d'expressions RDF et sont référencées par des URI. Properties (predicates) : elles définissent les attributs ou relations utilisés pour décrire les ressource. Statements : elles assignent une valeur à une propriété pour une ressource. C'est donc un triplet. [Stabb2000] : Staab, S. Erdmann, M. Maedche, A., Decker, S. : An extensible approach for modeling ontologies ins RDF(S). ECDL 2000 O.Curé [10 ]

11 O.Curé [11 ] RDF triplet Une déclaration RDF est un triplet constitué d'un sujet, d'une propriété et d'un objet. D'un sujet (resource) Un objet du domaine Pointé par un identifiant (URI) D'une propriété (predicat relation) Relation binaire sur le domaine entre un sujet et un objet. Également une ressource (URI). D'un objet

12 O.Curé [12 ] Concepts clés de RDF Modèle les déclarations sous forme d'un graphe (orienté labellisé). Exploite les URI, espace de noms Possibilité de typer les données Proposer des litéraux Plusieurs présentations (XML, N3, N- triples, graphique). Exprime des faits simples

13 O.Curé [13 ] Modélisation avec RDF Primitives : 7 pour les classes, 7 pour les propriétés et une pour les instances Classe : rdf:statement : la classe des triplets contenant un sujet, une propriété et un objet. rdf:property : la classe des propriétés rdf:bag, rdf:seq et rdf:alt : les classes des collections. rdf:list : la classe des listes RDF. rdf:xmlliteral : un type de donnée,qui permet de définir une classe pour les littéraux XML.

14 O.Curé [14 ] Modélisation avec RDF (2) Propriété : rdf:first et rdf:rest : représentent la relation entre une liste et son premier élément (le reste des éléments). rdf:predicate, rdf:subject et rdf:object : ils définissent les ressources propriété, le sujet et l'objet d'une déclaration (statement). rdf:type : pour définir la classe d'appartenance d'une ressource. rdf:value : pour définir la valeur d'une propriété lorsque celle-ci est une ressource structurée (un RDF statement). Instance rdf:nil : pour décrire une liste vide.

15 O.Curé [15 ] Sérialisation XML/RDF Code XML/RDF : <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" <rdf:description rdf:about=" <dc:title>page de olivier Cure</dc:title> <dc:author>olivier Cure</dc:author> </rdf:description> </rdf:rdf>

16 Représentation graphique Noeud : sujet et objet arc : prédicat Génération : O.Curé [16 ]

17 Formats N-triples et N3 Format N-triples < < "Page de olivier Cure". < < "Olivier Cure". Format dc: rdf: < < dc:author "Olivier Cure"; dc:title "Page de olivier Cure". Génération : O.Curé [17 ]

18 O.Curé [18 ] Liaisons entre déclarations Le sujet d'une déclaration peut être l'objet d'une autre déclaration. On obtient alors de graphes orientés labellisés. <rdf:rdf xmlns:rsrc=" xmlns:dc=" xmlns:rdf=" <rdf:description rdf:about=" <dc:author>olivier Cure</dc:author> <dc:title>page Web de Olivier Cure</dc:title> <rsrc:univ rdf:resource=" </rdf:description> <rdf:description rdf:about=" <rsrc:propb>valeur propb</rsrc:propb> </rdf:description> </rdf:rdf>

19 Liaisons entre déclarations O.Curé [19 ]

20 O.Curé [20 ] On pouvait aussi écrire <rdf:rdf xmlns:rsrc=" xmlns:dc=" xmlns:rdf=" <rdf:description rdf:about=" <dc:author>olivier Cure</dc:author> <dc:title>page Web de Olivier Cure</dc:title> <rsrc:univ> <rdf:description rdf:about=" <rsrc:propb>valeur propb</rsrc:propb> </rdf:description> </rsrc:univ> </rdf:description> </rdf:rdf>

21 O.Curé [21 ] Sérialisation XML Racine RDF et espace de nommage <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" rdf-syntax-ns#">... </rdf:rdf>

22 O.Curé [22 ] Description d'éléments Les attributs About : pour se référer à une URI d'une ressource existante. Id : pour spécifier la création d'une nouvelle ressource <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" <rdf:description about= >... </rdf:description> </rdf:rdf>

23 O.Curé [23 ] Propriétés et éléments Syntaxe : <propriété>valeur</propriété> Utiliser des espaces de noms pour qualifier les propriétés Les valeurs sont des éléments ou bien des chaînes de caractères. <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc= > <rdf:description about= > <dc:creator>olivier Curé</dc:creator> </rdf:description> </rdf:rdf>

24 O.Curé [24 ] Ressources multiples <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc= > <rdf:description about= > <dc:creator>olivier Curé</dc:creator> <dc:title>page sur l'enseignement en Master 2 IST</dc:title> <dc:date> </dc:date> </rdf:description> <rdf:description about= > <dc:creator>olivier Curé</dc:creator> <dc:title>page sur l'enseignement Ingenieurs 2000</dc:title> <dc:date> </dc:date> </rdf:description> </rdf:rdf>

25 O.Curé [25 ] Imbrication de ressources <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" #" xmlns:dc= xmlns:vcard= > <rdf:description about= /enseignement/ist > <dc:creator> <vcard:fn>olivier Curé</vcard:FN> <vcard: >ocure@univ-mlv.fr</vcard: > </dc:creator> </rdf:description> </rdf:rdf>

26 O.Curé [26 ] Références entre ressources <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc= xmlns:vcard= > <rdf:description about= /enseignement/ist > <dc:creator rdf:resource= /> </rdf:description> <rdf:description about= > <vcard:fn>olivier Curé</vcard:FN> <vcard: >ocure@univ-mlv.fr</vcard: > </rdf:description> </rdf:rdf> Faire référence à un objet décrit dans le document.

27 Blank nodes "A blank node is a node that is not a URI reference or a literal... A blank node is just a unique node that can be used in one or more RDF statements" (*). Equivalent à des variables quantifiées existentiellement. 2 avantages: Relations n-ary (n>2). Ecrire des descriptions sur des ressources pouvant ne pas avoir d'uris mais ayant des relations avec des ressources ayant des URIs. * : Resource Description Framework : Concepts and abstract syntax (W3C) O.Curé [27 ]

28 O.Curé [28 ] Blank nodes (2) En RDF/XML, on fait référence à un noeud vide à l'aide de l'attribut: rdf:nodeid

29 O.Curé [29 ] Blank node exemple <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:exterms=" <rdf:description rdf:about=" <exterms:pred1 rdf:nodeid="x1"/> </rdf:description> <rdf:description rdf:about=" <exterms:pred1 rdf:nodeid="x1"/> </rdf:description> <rdf:description rdf:nodeid="x1"> <exterms:pred3>val3</exterms:pred3> <exterms:pred4>val4</exterms:pred4> </rdf:description> </rdf:rdf>

30 Comme un graphe O.Curé [30 ]

31 O.Curé [31 ] Conteneurs RDF 3 types : rdf:bag : une liste non ordonnée avec duplicats. rdf:seq : liste ordonnée avec duplicats rdf:alt : une liste d'alternatives (choix) Avec ces collections RDF, il est possible de décrire des groupes contenant des membres sélectionnes.

32 O.Curé [32 ] rdf:bag exemple <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc= > <rdf:description about= urn:isbn: > <dc:creator> <rdf:bag> <rdf:li>pierre</rdf:li> <rdf:li>paul</rdf:li> <rdf:li>jean</rdf:li> </rdf:bag> </dc:creator> </rdf:description> </rdf:rdf>

33 Réification* Lorsqu'une déclaration est modelée comme la ressource d'une autre déclaration. Exemple : Gabriella déclare que Olivier est le créateur de la page Web Exprime la provenance (information sur la source d'une description), la ressemblance, le contexte ou des relations temporelles. Dans WordNet : regarding something abstract as a material thing O.Curé [33 ]

34 O.Curé [34 ] Réification le code <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" xmlns:s=" <rdf:description> <rdf:subject rdf:resource=" <rdf:predicate rdf:resource=" <rdf:object>olivier</rdf:object> <rdf:type rdf:resource=" rdf-syntax-ns#statement"/> <s:attributedto>gabriella</s:attributedto> </rdf:description> </rdf:rdf>

35 Réification le graphe O.Curé [35 ]

36 O.Curé [36 ] Syntaxe abrégée On peut convertir les propriétés en attributs <rdf:description about= /enseignement/ist > <dc:creator>olivier Curé</dc:creator> <dc:title>page sur l'enseignement en Master 2 IST</dc:title> <dc:date> </dc:date> </rdf:description> devient <rdf:description about= /enseignement/ist dc:creator= Olivier Curé dc:title= Page sur l'enseignement en Master 2 IST dc:date= />

37 O.Curé [37 ] Syntaxe abrégée (2) La description d'un élément imbriqué peut être réécrit à l'aide d'attributs <rdf:description about= /enseignement/ist > <dc:creator> <rdf:description about= > <vcard:fn>olivier Curé</vcard:FN> <vcard: >ocure@univ-mlv.fr</vcard: > </rdf:description> </dc:creator> </rdf:description> devient <rdf:description about= /enseignement/ist > <dc:creator rdf:resource= vcard:fn= Olivier Curé vcard: = ocure@univ-mlv.fr /> </rdf:description>

38 O.Curé [38 ] Syntaxe abrégée (3) La valeur d'un rdf:type devient un élément <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" <rdf:description about=" <rdf:type rdf:resource=" <dc:creator>olivier Curé</dc:creator> <dc:title>programmation Java XML</dc:title> <dc:date> </dc:date> </rdf:description> </rdf:rdf> Devient <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" xmlns:s=" <s:webpage about=" dc:creator= Olivier Curé dc:title= Programmation Java XML dc:date= /> </rdf:rdf>

39 O.Curé [39 ] Outils RDF Parser/serializer Converter/Scraper Microformat: permet de structurer l'information d'une page web à l'aide de vocabulaire (calendrier, geo,etc.). GRDDL (Gleaning Resource Descriptions from Dialects of Languages): supporte le mapping de microformats vers RDF. RDFa utilise les tags HTML pour intégrer de l'information pouvant être 'parsée' en RDF. RDF store (stokage, requête, fusion de données)

40 O.Curé [40 ] Du RDF dans du HTML <html> <head> <rdf:rdf xmlns:rdf=" xmlns:dc=" <rdf:description about="" dc:creator="olivier Curé" dc:title="programmation Java et XML" dc:date=" "/> </rdf:rdf> <title>programmation Java et XML pour les M2 IST</title> </head> <body>... </body> </html>

41 O.Curé [41 ] RDF Schema (RDFS) Un langage pour décrire des langages RDF. Permet de définir les types de ressources (personne, livre, etc.) ainsi que leurs propriétés (diplôme, titre, auteur, etc.). RDFS propose de l'information sur l'interprétation des déclarations RDF.

42 RDFS (2) Etendre RDF à la description d'ontologies. Hiérarchies de classes et propriétés : SubClassOf, subpropertyof range, domain sur les propriétés. Annotations seealso, isdefinedby, label, range, domain, member Préfixe : rdfs et URI : O.Curé [42 ]

43 O.Curé [43 ] Les primitives de RDFS Les primitives de RDF plus 16 nouvelles primitives (6 classes et 9 propriétés). Pour les classes :

44 O.Curé [44 ] Les primitives de RDFS (propriétés)

45 O.Curé [45 ] Classes et propriétés Une ressource peut-être une instance de plusieurs classes. Indication à l'aide de 'rdf:type'. La ressource est du type enseignant, personne, etc.. Enseignant est une sous-classe de personne. L'approche est centrée sur les propriétés.

46 O.Curé [46 ] Les classes rdf:property : une propriété est une ressource du type rdf:property. rdfs:class : Identique à la notion de classe en POO. rdfs:subclassof : indique un relation d'héritage.

47 O.Curé [47 ] Les propriétés rdf:type : indique qu'une ressource est un membre de cette classe. rdfs:subpropertyof : indique qu'une propriété est une spécialisation d'une autre propriété. rdfs:seealso : indique une propriété proposant des informations complémentaires.

48 O.Curé [48 ] Contraintes dans RDFS Spécifier domain et range sur les propriétés rdfs:range (le co-domaine) indique la classe à laquelle la valeur d'une propriété doit appartenir (rdf:class). rdfs:domain (le domaine) Indique la classe des membres de la propriété.

49 O.Curé [49 ] Documentation rdfs:comment : documentation (pour l'être humain) d'une ressource rdfs:label : description du nom d'une ressource.

50 O.Curé [50 ] Exemple - RDFS <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:rdfs=" <rdfs:class rdf:id= Personne > <rdfs:comment>la classe personne</rdfs:comment> </rdfs:class> <rdfs:class rdf:id= Vehicule > <rdfs:comment>la classe vehicule</rdfs:comment> </rdfs:class> <rdfs:class rdf:id= Voiture > <rdfs:comment>la classe voiture</rdfs:comment> <rdfs:subclassof rdf:resource= #Vehicule /> </rdfs:class> <rdf:property rdf:id= conducteur > <rdfs:domain rdf:resource= #Vehicule /> <rdfs:range rdf:resource= #Personne /> </rdf:property> </rdf:rdf>

51 O.Curé [51 ] Exemple RDF <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns=" > <Voiture rdf:id= vo001 > <conducteur> <Personne rdf:id= p101 /> </conducteur> </Voiture> <Voiture rdf:id= vo002 /> <conducteur> <Personne rdf:id= p102 /> </conducteur> </Voiture> </rdf:rdf>

52 O.Curé [52 ] Constats sur RDF(S) Puissance expressive insuffisante, il manque : Cardinalités (min et max) Décomposition (disjoint, exhaustivité). Axiomes Négation Ne permet pas de tester la consistance de la KB

53 O.Curé [53 ] RDF/RDFS problèmes Pas de distinctions entre classes et instances <Espece, type, Class> <Lion, type, Espece> <Simba, type, Lion> Les propriétés peuvent avoir des propriétés Pas de distinctions entre constructeurs du langage et les termes de l'ontologie.

54 O.Curé [54 ] Exercice Ecrire le document RDFS qui va définir les concepts suivants : une personne, un étudiant, un enseignant et un cours. Et les propriétés suivantes : estenseignant qui va retourner le nom d'un enseignant pour un cours donné, liste étudiants qui va rendre la liste des étudiants pour un cours donné, possèdenom, valable pour une personne et un cours et le co-domaine est alors une ressource du type : Ecrire un document respectant le schéma précédent pour ce cours. Valider avec le validateur RDF suivant :

55 O.Curé [55 ] Solution : RDFS (1) <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" rdf-syntax-ns#" xmlns:rdfs=" <rdfs:class rdf:id="personne"/> <rdfs:class rdf:id="etudiant"> <rdfs:subclassof rdf:resource="personne"/> </rdfs:class> <rdfs:class rdf:id="enseignant"> <rdfs:subclassof rdf:resource="personne"/> </rdfs:class> <rdfs:class rdf:id="cours"/> <rdfs:property rdf:id="estenseignant"> <rdfs:domain rdf:resource="#cours"/> <rdfs:range rdf:resource="#enseignant"/> </rdfs:property>

56 O.Curé [56 ] Solution : RDFS (2) <rdfs:property rdf:id="etudiantscours"> <rdfs:domain rdf:resource="#cours"/> <rdfs:range rdf:resource=" </rdfs:property> <rdfs:property rdf:id="possedenom"> <rdfs:domain rdf:resource= Cours /> <rdfs:domain rdf:resource="personne"/> <rdfs:range rdf:resource= " </rdfs:property> </rdf:rdf>

57 O.Curé [57 ] Solution : RDF (1) <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" rdf-syntax-ns#" xmlns=" <Cours rdf:id="cours2"> <possedenom>ontologie conception et realisation </possedenom> <estenseignant> <Enseignant rdf:id="oc"> <possedenom>olivier Cure</possedeNom> </Enseignant> </estenseignant> <etudiantscours>

58 O.Curé [58 ] Solution : RDF (2) <rdf:seq> <rdf:li> <Etudiant rdf:id="etud01"> <possedenom>pierre Dupont</possedeNom> </Etudiant> </rdf:li> <rdf:li> <Etudiant rdf:id="etud02"> <possedenom>ialain Durand</possedeNom> </Etudiant> </rdf:li> <rdf:li> <Etudiant rdf:id="etud03"> <possedenom>marie Martin</possedeNom> </Etudiant> </rdf:li> </rdf:seq> </etudiantscours> </Cours> </rdf:rdf>

59 O.Curé [59 ] Une autre version Toujours avec le même schéma, on veut maintenant ajouter le cours XML et Java du même enseignant et avec la même classe.

60 O.Curé [60 ] Solution 2 : RDF (1) <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns=" <Cours rdf:id="cours1"> <possedenom>xml et Java </possedenom> <estenseignant rdf:nodeid="oc"/> <etudiantscours rdf:nodeid="classeist"/> </Cours> <Cours rdf:id="cours2"> <possedenom>ontologie conception et realisation </possedenom> <estenseignant rdf:nodeid="oc"/> <etudiantscours rdf:nodeid="classeist"/> </Cours> <Enseignant rdf:nodeid="oc"> <possedenom>olivier Cure</possedeNom> </Enseignant>

61 O.Curé [61 ] Solution 2 : RDF (2) <rdf:seq rdf:nodeid="classeist"> <rdf:li> <Etudiant rdf:id="etud01"> <possedenom>pierre Dupont</possedeNom> </Etudiant> </rdf:li> <rdf:li> <Etudiant rdf:id="etud02"> <possedenom>alain Durand</possedeNom> </Etudiant> </rdf:li> <rdf:li> <Etudiant rdf:id="etud03"> <possedenom>marie Martin</possedeNom> </Etudiant> </rdf:li> </rdf:seq> </rdf:rdf>

62 O.Curé [62 ] Ok mais comment exploiter cela pour développer des applications?

63 O.Curé [63 ] 5 Exploiter RDF avec Jena

64 O.Curé [64 ] JENA : Présentation Plateforme Java pour le Web sémantique Open-source Développé par un laboratoire de Hewlett-Packard

65 O.Curé [65 ] JENA : URL La page d'accueil de JENA : Un groupe de discussions : La javadoc

66 O.Curé [66 ] JENA : éléments Un analyseur RDF : ARP Another RDF Parser un langage de requêtes pour RDF : RDQL RDF Query Language Persistence des données, en particulier avec les SGBD (Oracle, MySQL, PostgreSQL) Support de RDF, RDFS, OWL Inférence

67 O.Curé [67 ] Modèle L'architecture de JENA est centrée sur la notion de modèle (model) : l'ensemble des déclarations qui composent un document, graphe ou instanciation d'un vocabulaire. A partir de JENA2.0, on doit créer un modèle en s'aidant de ModelFactory.

68 O.Curé [68 ] ModelFactory : code import java.util.iterator; import com.hp.hpl.jena.rdf.model.*; public class EtudRDF { private String etudns ="file:/home/olive/_mescours/kr/etudins2.rdf"; public static void main(string[] args) { EtudRDF etudrdf= new EtudRDF(); etudrdf.load(); } public void load() { Model model = ModelFactory.createDefaultModel(); } } model.read(etudns); model.write(system.out);

69 O.Curé [69 ] Création / Enrichissement d'un modèle (1) model = ModelFactory.createDefaultModel(); jean = model.createresource(familleuri+"jean"); marie = model.createresource(familleuri+"marie"); dominique = model.createresource(familleuri+"dominique"); alexandra = model.createresource(familleuri+"alexandra"); baptiste = model.createresource(familleuri+"baptiste"); pierre = model.createresource(familleuri+"pierre"); enfantde = model.createproperty(relationshipuri,"childof"); parentde = model.createproperty(relationshipuri,"parentof"); epousede = model.createproperty(relationshipuri,"spouseof"); dominique.addproperty(parentde, baptiste); dominique.addproperty(parentde, pierre); alexandra.addproperty(parentde, baptiste); alexandra.addproperty(parentde,pierre); alexandra.addproperty(epousede, dominique);

70 O.Curé [70 ] Création / Enrichissement d'un modèle (2) Statement statement = model.createstatement(dominique, enfantde, jean); model.add(statement); statement = model.createstatement(dominique, enfantde, marie); model.add(statement); Property prop = model.createproperty(relationshipuri,"knowsof"); //Création d'un noeud vide Resource blank = model.createresource( ).addproperty(prop, "personne1").addproperty(prop, "personne2").addproperty(prop, model.createliteral("personne3", "fr")); // Affichage du document RDF au format RDF/XML (par défaut) model.write(new PrintWriter(System.out));

71 O.Curé [71 ] Accès aux données On peut accéder aux données : à l'aide de programmes en s'appuyant sur les méthodes et classes de l'api À l'aide de langage de requêtes RDQL.

72 O.Curé [72 ] Via les données : code // Ensemble des déclarations StmtIterator iter = model.liststatements(); while (iter.hasnext()) { } Statement stmt = (Statement) iter.next(); System.out.println(stmt.getSubject()+"- ("+stmt.getpredicate()+")- >"+stmt.getobject().tostring());

73 O.Curé [73 ] Via les données : code (2) // Connaitre les parents ResIterator parents = model.listsubjectswithproperty(parentde); while (parents.hasnext()) { personne = parents.nextresource(); System.out.println(personne.getLocalName()+ " -> URI ="+personne.geturi()); } // Encore des parents avec enfantde NodeIterator parentssuite = model.listobjectsofproperty(enfantde); while (parentssuite.hasnext()) { Resource person = (Resource) parentssuite.nextnode(); System.out.println( person.getlocalname()+ " -> URI ="+person.geturi()); }

74 O.Curé [74 ] Via les données : code (3) System.out.println("Les ens :"); NodeIterator itnode = model.listobjectsofproperty(estens); while (itnode.hasnext()) { RDFNode node = (RDFNode) itnode.next(); System.out.println("Enseignant ="+node.tostring()); // on veut le nom Property nom = model.createproperty(" NodeIterator itnom = model.listobjectsofproperty((resource)node,nom); while (itnom.hasnext()) { System.out.println("Nom = "+itnom.next()); } }

75 O.Curé [75 ] Exercice 1 A partir du fichier RDF sur les cours, enseignants et etudiants : Afficher la liste des cours Afficher les enseignants, dans un premier temps le nom local des enseignants puis la valeur de l'attribut possedenom de chaque enseignant.

76 O.Curé [76 ] RDQL : présentation Syntaxe proche de SQL. Influence : SquishQL, RDFDB QL Les clauses sont : SELECT, WHERE, USING Les variables débutent par un?. Orienté données : les données explicites du modèle (pas implicites). Jena Tutorial : RDF provides a graph with directed edges - the nodes are resources or literals. RDQL provides a way of specifying a graph pattern that is matched against the graph to yield a set of matches. It returns a list of bindings - each binding is a set of name-value pairs for the values of the variables. All variables are bound (there is no disjunction in the query).

77 O.Curé [77 ] RDQL : le langage (1) BNF de RDQL à la page : Exemple : SELECT * WHERE (?s,?p,?o) (s, 129d96a8:10160ffc9cc:-8000) (p, (o, personne2) (s, 129d96a8:10160ffc9cc:-8000) (p, (o, personne3~fr) (s, (p, (o, (s, (p, (o, (s, (p, (o, (s, (p, (o,

78 O.Curé [78 ] RDQL : le langage (2) SELECT * WHERE (?s,<rel:parentof>,?o) USING rel FOR < SELECT?s WHERE (?s,<rel:parentof>,?o) USING rel FOR < Résultats : alexandra parent de pierre alexandra parent de baptiste dominique parent de pierre dominique parent de baptiste

79 O.Curé [79 ] RDQL : le langage (3) "SELECT?o,?o2 WHERE (?s,<rel:childof>,?o), (? s,<rel:parentof>,?o2) USING rel FOR rel FOR < Résultats : marie parent de pierre marie parent de baptiste jean parent de pierre jean parent de baptiste

80 O.Curé [80 ] RDQL : filtre On peut filtrer les valeurs des variables à l'aide de la clause AND. Exemple : AND?age > 18 On apeut aussi profiter des expressions régulières ( =~ egalité et!~ différence). Exemple : SELECT * WHERE (?s,<rel:parentof>,?o) AND?s =~ /dominique/i USING rel FOR < dominique parent de pierre dominique parent de baptiste Insensible à la casse

81 O.Curé [81 ] RDQL :programmation Java Mode de fonctionnement : On passe la requête à un objet instancié de la classe Query. On passe alors l'objet à un objet du type QueryEngine. Les résultats se trouvent dans un objet du type QueryResults On accède aux résultats via la classe ResultBinding Query qr1 = new Query("SELECT * WHERE (?s,?p,?o)"); qr1.setsource(model); QueryEngine qe = new QueryEngine(qr1); QueryResults results = qe.exec(); for(it=results; it.hasnext();) { ResultBinding res = (ResultBinding)it.next() ; } String x = (res.get("s").tostring()); String y = res.get("o").tostring(); System.out.println(x.substring(x. indexof('#')+1) +" parent de "+y.substring(y.indexof('#')+1));

82 O.Curé [82 ] Exercice 2 Toujours le fichier RDF de l'exercice 1, rédiger les requêtes RDQL suivantes : Afficher les cours Afficher les étudiants Afficher les enseignants Afficher l'enseignant du Cours1

83 O.Curé [83 ] Opérations sur les modèles On peut réaliser les opérations ensemblistes suivantes sur les modèles : union, intersection et différence. Exemple pour l'union Model modeli = ModelFactory.createDefaultModel(); modeli.read(instns); Model models = ModelFactory.createDefaultModel(); models.read(schemans); Model model = models.union(modeli); model.write(system.out); Idem pour intersection et difference

84 O.Curé [84 ] Inférence Jena propose de nombreuses fonctionnalités pour réaliser des inférences. Lire le document Inference engine user manual accessible depuis la page Documentation du site de Jena.

85 O.Curé [85 ] Exercice 3 Sur le fichier RDFS (schemaetud.rdf) afficher toutes les sous-classes de la classe Personne Rédiger une classe Thesard, sousclasse de la classe Etudiant. Demander à nouveau les sous-classes de la classe Personne.

86 O.Curé [86 ] Exercice 4 Réaliser l'union du modèle du schéma RDF et du modèle des instances RDF. Ecrire le code permettant d'obtenir les instances de la classe Etudiant puis Enseignant. Ecrire un modèle permettant l'inférence et écrire le code permettant d'obtenir les instances de la classe Personne.

87 SPARQL O.Curé [87 ]

88 O.Curé [88 ] Introduction Query language for RDF data Basic graph pattern matching Result forms: SELECT, CONSTRUCT, DESCRIBE, ASK with filters to restrict values Solution modifiers: ORDER BY, LIMIT/OFFSET, DISTINCT, REDUCED

89 O.Curé [89 ] Patterns Variables are prefixed with a '?' Patterns use triple forms Example: SELECT?s?p?o WHERE {?s?p?o} A pattern is a conjunction of triples: {?x rdf:type ex:person.?x ex:nom?name}

90 O.Curé [90 ] person: foaf: < person:a foaf:name "Alice". person:a foaf:mbox <mailto:alice@example.net>. person:b foaf:name "Bob". PREFIX person: < PREFIX foaf: < SELECT?name WHERE {?x foaf:name?name } name "Bob" "Alice"

91 O.Curé [91 ] Example person: foaf: < person:a foaf:name "Alice". person:a foaf:mbox <mailto:alice@example.net>. person:b foaf:name "Bob". PREFIX person: < PREFIX foaf: < SELECT?name WHERE {?person foaf:mbox <mailto:alice@example.net>.?person foaf:name?name. } name "Alice"

92 O.Curé [92 ] Example dc: stock: inv: < stock:book1 dc:title "SPARQL Query Language Tutorial". stock:book1 inv:price 10. stock:book1 inv:quantity 3. stock:book2 dc:title "SPARQL Query Language (2nd ed)". stock:book2 inv:price 20 ; inv:quantity 5. stock:book3 dc:title "Moving from SQL to SPARQL". stock:book3 inv:price 5 ; inv:quantity 0. stock:book4 dc:title "Applying XQuery". stock:book4 inv:price 20 ; inv:quantity 8.

93 O.Curé [93 ] Example (3b) PREFIX dc: < PREFIX stock: < PREFIX inv: < SELECT?book?title WHERE {?book dc:title?title.?book inv:price?price. FILTER (?price < 15 )?book inv:quantity?num. FILTER (?num > 0 ) } book title stock:book1 "SPARQL Query Language Tutorial"

94 O.Curé [94 ] Example person: <htp://example/person/> foaf: < person :a foaf:name "Alice". person :a foaf:nick "A-online". person:b foaf:name "Bob". PREFIX foaf: < SELECT?name?nick {?x foaf:name?name. OPTIONAL {?x foaf:nick?nick } } name nick "Alice" "A-online" "Bob

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES 1e partie : encoder et structurer les données Gautier Poupeau Antidot http://www.lespetitescases.net Twitter @lespetitescases Emmanuelle Bermès

Plus en détail

Web Sémantique. Examen

Web Sémantique. Examen Formations en Informatique de Lille 2012/2013 Web Sémantique mars 2013 Examen Durée 2h. Documents et dictionnaire électronique autorisés, appareils mobiles de communication interdits. Exercice 1 : Dans

Plus en détail

RDF Schema pour les ontologies légères

RDF Schema pour les ontologies légères RDF Schema pour les ontologies légères S 1 1 Bruit Précision Agences I RAM La Galère 148, rue Victor Hugo 76600 Le Havre L Agence de la Presse et des Livres 38, rue Saint Dizier BP 445 54001 Nancy Cédex

Plus en détail

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan RDF sur le Web Micro-formats Micro-données RDFa Vocabulaires communs Dublin Core, FOAF, SKOS Linked Open Data Architecture

Plus en détail

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht. Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques

Plus en détail

Vues d ensembles de documents RDF

Vues d ensembles de documents RDF Vues d ensembles de documents RDF Thomas Raimbault * Pierre Maillot *,** * ESILV, Pôle Universitaire Léonard De Vinci 92 916 Paris La Défense Cedex {thomas.raimbault,pierre.maillot@devinci.fr ** LERIA,

Plus en détail

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton Linked Open Data Le Web de données Réseau, usages, perspectives Sommaire Histoire du Linked Open Data Structure et évolution du réseau Utilisations du Linked Open Data Présence sur le réseau LOD Futurs

Plus en détail

JDev Atelier Datalift

JDev Atelier Datalift JDev Atelier Datalift RDF, Linked (Open) Data & Datalift Your business JDev technologists. - 6 septembre Powering 2013 progress Le Linked Data Publier des données structurées sur le Web en les reliant

Plus en détail

Web sémantique et pratiques documentaires

Web sémantique et pratiques documentaires Web sémantique et pratiques documentaires Jérôme Euzenat - Raphaël Troncy Si le web actuel contient une quantité d informations formidable, il reste difficile à exploiter. Ainsi, la recherche d «un livre

Plus en détail

Évaluation d une architecture de stockage RDF distribuée

Évaluation d une architecture de stockage RDF distribuée Évaluation d une architecture de stockage RDF distribuée Maeva Antoine 1, Françoise Baude 1, Fabrice Huet 1 1 INRIA MÉDITERRANÉE (ÉQUIPE OASIS), UNIVERSITÉ NICE SOPHIA-ANTIPOLIS, I3S CNRS prénom.nom@inria.fr

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Plan... as Architecture des Systèmes d Information. Constats. as Architecture des Systèmes d Information

Plan... as Architecture des Systèmes d Information. Constats. as Architecture des Systèmes d Information Plan... Web sémantique Partie I - Cours Document et Web Sémantique Nicol Delestre 1 Vers le Web sémantique 2 3 4 Publication, requêtage 5 Conclusion - v1.0 1 / 49 - v1.0 2 / 49 Vers le Web sémantique Les

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Bigdata et Web sémantique. les données + l intelligence= la solution

Bigdata et Web sémantique. les données + l intelligence= la solution Bigdata et Web sémantique les données + l intelligence= la solution 131214 1 big data et Web sémantique deux notions bien différentes et pourtant... (sable et silicium). «bigdata» ce n est pas que des

Plus en détail

Catalogue des formations Edition 2015

Catalogue des formations Edition 2015 Antidot - Formations Catalogue des formations Edition 2015 : catalogue_formation_2015 Révision du 06.01.2015 Sommaire!!"##$%&'( )! $*$+,(-'(."##'+.'&( /!,'.0+"1"2%'( /!!."3'( /! $(3&"3"!(-4(5(.$,$1"24'(-'!(6"&#$,%"+!(7('-%,%"+()89:(;(

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre

Plus en détail

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr Module BDWEB Maîtrise d informatique Cours 9 - Xquery Anne Doucet anne.doucet@lip6.fr 1 Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Navigation dans les documents

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Diplôme d'etudes Approfondies Réseaux de télécommunications

Diplôme d'etudes Approfondies Réseaux de télécommunications UNIVERSITE LIBANAISE (Faculté de Génie) UNIVERSITE SAINT-JOSEPH (Faculté d'ingénierie) Sous l'égide de l'agence Universitaire de la Francophonie AUF Diplôme d'etudes Approfondies Réseaux de télécommunications

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Tutoriel d installation de Hibernate avec Eclipse

Tutoriel d installation de Hibernate avec Eclipse Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création

Plus en détail

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Problématiques de recherche. Figure Research Agenda for service-oriented computing Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements

Plus en détail

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Journée organisée par le CRFCB Midi-Pyrénées / Languedoc-Roussillon

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Forthcoming Database

Forthcoming Database DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of

Plus en détail

Rapport technique : Création des ontologies CIDOC, FRBRoo et SUDOC

Rapport technique : Création des ontologies CIDOC, FRBRoo et SUDOC Rapport technique : Création des ontologies CIDOC, FRBRoo et SUDOC ABES/LIRMM Rédacteur : Cécile Ochman 14 avril 2011 Table des matières I. Le CIDOC, FRBR et SUDOC... 3 I.1 Définitions... 3 I.2 Les différentes

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Supervision des contributions dans un portail de travail collaboratif

Supervision des contributions dans un portail de travail collaboratif Institut de la Francophonie pour l'informatique Institut National de Télécommunications Mémoire de fin d'étude Supervision des contributions dans un portail de travail collaboratif Réalisé par : Xuan Sang

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

Compte-rendu re union Campus AAR 3 mars 2015

Compte-rendu re union Campus AAR 3 mars 2015 Compte-rendu re union Campus AAR 3 mars 2015 Table des matières Liste d actions... 2 I. Environnement d analyse : INA, Armadillo... 3 a. Connexion de l outil INA avec API Armadillo... 3 b. Outil d analyse

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Application Form/ Formulaire de demande

Application Form/ Formulaire de demande Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178 Thèse no. 7178 PROBLEMES D'OPTIMISATION DANS LES SYSTEMES DE CHAUFFAGE A DISTANCE présentée à l'ecole POLYTECHNIQUE FEDERALE DE ZURICH pour l'obtention du titre de Docteur es sciences naturelles par Alain

Plus en détail

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC lift 1 d j = ( + + Architecture Modularité Déploiements lift 2 plates-formes en 1 2 Se t Se Dat t Une architecture répondant à deux besoins : Elévation de la donnée Exploitation de la donnée publiée Des

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

BASE DE DONNÉES XML NATIVE

BASE DE DONNÉES XML NATIVE BASE DE DONNÉES XML NATIVE NXDB - exist - XQuery IvMad, 2011-2012 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles sur Internet

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes): Master Chimie Fondamentale et Appliquée : spécialité «Ingénierie Chimique» Examen «Programmation, Simulation des procédés» avril 2008a Nom : Prénom : groupe TD : I. Programmation I. 1 Ecrire un programme

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Approche de couplage de BD et d ontologie pour l aide à la décision sémantique : contribution pour la satisfaction des requêtes SQL et SPARQL.

Approche de couplage de BD et d ontologie pour l aide à la décision sémantique : contribution pour la satisfaction des requêtes SQL et SPARQL. Approche de couplage de BD et d ontologie pour l aide à la décision sémantique : contribution pour la satisfaction des requêtes SQL et SPARQL. Mariem Mahfoudh 1, Wassim Jaziri 2 1. Laboratoire MIPS, EA-2332

Plus en détail

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Master Web Intelligence 2005/2006. Web Sémantique. Philippe Beaune ENSM SE. mailto : Philippe.Beaune@emse.fr. Lundi 23 janvier 2006 1

Master Web Intelligence 2005/2006. Web Sémantique. Philippe Beaune ENSM SE. mailto : Philippe.Beaune@emse.fr. Lundi 23 janvier 2006 1 Master Web Intelligence 2005/2006 Web Sémantique Philippe Beaune ENSM SE mailto : Philippe.Beaune@emse.fr Lundi 23 janvier 2006 1 Bref retour sur le TP ontologies Modéliser une ontologie c'est pas confortable

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013 Cube de textes et opérateur d'agrégation basé sur un modèle vectoriel adapté Text Cube Model and aggregation operator based on an adapted vector space model Lamia Oukid, Ounas Asfari, Fadila Bentayeb,

Plus en détail

Public and European Business Law - Droit public et européen des affaires. Master I Law Level

Public and European Business Law - Droit public et européen des affaires. Master I Law Level Public and European Business Law - Droit public et européen des affaires Stéphane de La Rosa Master I Law Level Delivered Lectures Jean Monnet Chair «Droit de l Union Européenne et Mutations de l intégration

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

Création d objet imbriqué sous PowerShell.

Création d objet imbriqué sous PowerShell. Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.

Plus en détail

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Accès à l'information XML par des requêtes XQuery au travers de son XSchema Rapport projet de fin d étude ASR Accès à l'information XML par des requêtes XQuery au travers de son XSchema Réalisé par : DAB Marwa MGARRECH Oussama Encadré par : Mme LOPES GANCARSKI Alda 2011/2012 Remerciements

Plus en détail

UML : Unified Modeling Language

UML : Unified Modeling Language UML : Unified Modeling Language Recommended: UML distilled A brief guide to the standard Object Modeling Language Addison Wesley based on Frank Maurer lecture, Univ. of Calgary in french : uml.free.fr/index.html

Plus en détail

MEMOIRE DE STAGE. Amélioration de l'outillage support à une méthodologie de "Cartographie Sémantique"

MEMOIRE DE STAGE. Amélioration de l'outillage support à une méthodologie de Cartographie Sémantique PCO Innovation Parc technologique - Bat B3 12 allée Joliot Curie 69800 Saint Priest MEMOIRE DE STAGE Amélioration de l'outillage support à une méthodologie de "Cartographie Sémantique" Mission effectuée

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Knowledge Enabled Real-Time Recommendation System

Knowledge Enabled Real-Time Recommendation System Knowledge Enabled Real-Time Recommendation System Syed Gillani, Jules Chevalier syed.gillani@univ-st-etienne.fr jules.chevalier@univ-st-etienne.fr Institut Henri Fayol, École des Mines de Saint-Étienne

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Hervé Couturier EVP, SAP Technology Development

Hervé Couturier EVP, SAP Technology Development Hervé Couturier EVP, SAP Technology Development Hervé Biausser Directeur de l Ecole Centrale Paris Bernard Liautaud Fondateur de Business Objects Questions à: Hervé Couturier Hervé Biausser Bernard Liautaud

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Projet Java EE Approfondi

Projet Java EE Approfondi EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part

Plus en détail

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 ) P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes

Plus en détail

Présentation générale du projet data.bnf.fr

Présentation générale du projet data.bnf.fr Présentation générale du projet data.bnf.fr La Bibliothèque nationale a mis en œuvre un nouveau projet, qui a pour but de rendre ses données plus utiles sur le web. Ceci nécessite de transformer données

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager

HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager Hitachi Storage Command Suite Portfolio SAN Assets &

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Accès aux bases de données

Accès aux bases de données 13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.

Plus en détail

Bases de SQL. Hacks 1-6 CHAPITRE UN

Bases de SQL. Hacks 1-6 CHAPITRE UN CHAPITRE UN Bases de SQL Hacks 1-6 Même les commandes SQL les plus simples peuvent comporter des variantes curieuses ; ce chapitre vous montrera qu un programmeur astucieux peut exploiter les nombreuses

Plus en détail

Rapport de Mini-Projet en ArcGIS Engine

Rapport de Mini-Projet en ArcGIS Engine Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation

Plus en détail

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante

Plus en détail

Le Product Backlog, qu est ce c est?

Le Product Backlog, qu est ce c est? Le Product Backlog, qu est ce c est? Ludovic Larché Agile Tour 2012 à Rennes le 4 octobre 2012 Sommaire > Rappels théoriques : qu est ce qu un Product Backlog? > Le Product Backlog n est pas seul! > Techniques

Plus en détail