Le langage RDFS

Le langage de schéma RDF [Dieng, 2001] permet de formaliser (sous la forme de schémas RDF) l’ontologie qui sera utilisée comme support aux descriptions RDF. Un schéma RDF permet de déclarer de nouveaux types de ressources et de propriétés ainsi que leurs interrelations : ils permettent de définir le vocabulaire qui sera utilisé dans des descriptions RDF. Chaque nouvelle ressource est définie à partir des ressources déjà existantes en terme de sous-classe, de sous-propriété, etc. On peut, par ailleurs, définir pour chaque propriété des contraintes sémantiques en imposant les valeurs permises et des types de ressources pouvant être décrites.

Une certaine analogie ressort entre le schéma XML pour un document XML et le Schéma RDF pour un modèle de donnée RDF. Néanmoins, une DTD permet de donner des contraintes structurelles sur les documents XML tandis qu’un Schéma RDF apportent des contraintes de consistance et des informations sur l’interprétation sémantique des déclarations RDF.

RDF fournit un standard permettant de représenter et d’échanger des ontologies et des connaissances. Il est entièrement tourné vers l’interopérabilité, notamment grâce à la possibilité d’échanger des connaissances ontologiques au travers des schémas RDF. De plus, un schéma RDF appelé OIL (Ontology Inference Layer), a été développé pour offrir un moyen d’échange d’ontologies « riches ». Cet interopérabilité est un avantage considérable dans une optique de travail coopératif (sur des systèmes et des lieux différents).

Malgré quelques faiblesses d’expressivité (par rapport à d’autres modèles de représentation de connaissances tels que les logiques de descriptions), RDF semble pouvoir devenir une technologie incontournable pour la gestion sémantique des documents. Dans cette optique, la technologie RDF est le complément logique pour une description sémantique dans le cas de documents semi-structurés en XML [Cranefiel-2001].

Des outils permettant d’exploiter RDF se développent (par exemple RDF gateway, Squish, Protégé). Ils fournissent notamment des langages de requête sur les descriptions RDF. Ces langages sont généralement inspirés de SQL. La comparaison de descriptions RDF ne se fait pas sur leur représentation XML, mais sur les représentations de leur modèle de donnée. En effet, il peut exister plusieurs représentations XML pour une même description RDF. De ce fait, les langages de requêtes pour RDF se distinguent du langage XQL pour les documents XML.

RDF et ses dérivés sont donc des technologies pouvant être un bon support à une gestion sémantique de documents et plus généralement de ressources, par le fait qu’ils fournissent un standard interopérable.

Les documents sont définis et structurés en XML permettant ainsi une adaptation aux préférences de l’utilisateur grâce à l’utilisation d’une feuille de traitement XSL.

Pour traiter, nous utilisons une architecture basée sur le schéma suivant.

Figure 81 : Processus de construction d’une fiche de connaissance
Figure 81 : Processus de construction d’une fiche de connaissance

L'architecture client/serveur désigne un mode de communication entre des ordinateurs et des logiciels.

  • Le serveur est à l'écoute d'un réseau informatique, prêt à répondre aux requêtes envoyées par des clients.
  • Les clients sont généralement pilotés par des utilisateurs. Ils prennent l'initiative d'envoyer des requêtes au serveur, puis attendent la réponse pour la transmettre, le cas échéant, à l'utilisateur.
  • L'architecture trois tiers est une extension de l'architecture client-serveur.

L'architecture client/serveur correspond à une architecture à deux niveaux :

  • les règles de gestion, les traitements et les accès aux données sont réalisés sur le serveur central,
  • les contrôles de saisie, les enchaînements des dialogues sont effectués sur les postes client.

Ce modèle minimise les flux sur le réseau et tire partie de la puissance des machines locale et centrale. Le serveur web envoie une page web au client qui l’interprète et l’affiche sur le poste client.

Afin de rendre les pages web dynamiques, fonctionnelles et ergonomiques, nous avons choisi de les réaliser en PHP (Protocol Hypertext Preprocessor). C’est un langage de script (partie dynamique d’une page web) open-source que l’on associe aux sources html (partie statique d’une page web) pour la conception d’application web. Le code php est inclus dans le code html et est reconnu par le serveur web grâce des balises de type <PHP>, ce qui permet ensuite à ce serveur web de passer en mode PHP et de réaliser les actions codées. Ainsi, lorsque le navigateur appel une page développée en PHP :

  • Le serveur reconnaît qu’il s’agit d’un fichier PHP et lit ce fichier, dès qu’il rencontre une balise PHP, il ne lit plus les instructions mais les fait passer à l’interprétateur PHP qui exécute le code PHP et envoie le résultat au serveur.
  • A la fin du fichier, le serveur transmet le résultat au navigateur sous la forme de code HTML.

Nous retiendrons le serveur web open source Apache reconnu et utilisé par une large communauté d’utilisateur. Nous associerons une base de données MySQL car elle est également open source, très facilement adaptable et utilisable grâce à l’utilisation d’interface d’administration très ergonomique telle que ‘PHP My admin’.

Figure 82 : Architecture 3 tiers
Figure 82 : Architecture 3 tiers