Cliquez ici.
Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.

 
Cliquez ici.

websemantique@xmlfr.org : liste de discussion de la communauté francophone du Web Sémantique

[websemantique] Re: Une ontologie pour Getting Thing Done

[websemantique] Re: Une ontologie pour Getting Thing Done

Auteur: Gautier Poupeau <gotpoupeau@infonie.fr>
Date: 15/11/2006 - 09:50

Bonjour à tous,

Quelques remarques sur ta proposition et sur les réponses d'Alexandre et
de Charles.

Il est effectivement possible de récupérer une propriété ou une classe
définie par une autre ontologie (ou domaine de namespaces). Je suis du
même avis que Charles, c'est même une bonne pratique, il ne faut pas
réinventer la roue et les concepts quand ils existent, les namespaces
sont là pour ça. Il existe en fait plusieurs moyens de faire cela :

- Importation d'une ontologie avec la propriété <owl:imports
rdf:resource="URL_de_ontologie"/> de la classe Ontology :

<owl:Ontology rdf:about="">
      <rdfs:label xml:lang="fr">Ontologie trucmuche</rdfs:label>
      <owl:imports rdf:resource="http://www.w3.org/2006/time"/>
</owl:Ontology>

Dans ce cas, tu n'as pas besoin de redéclarer les propriétés et classes
de l'ontologie que tu importes, elles sont automatiquement récupérées,
il te suffit ensuite de raccorder ta propre ontologie à celle que tu as
importé. Mais, attention l'import ne fonctionne qu'avec des ontologies
décrites en OWL et non en RDFS (ce qui est logique, puisque les règles
d'inférence sont différentes). Donc pour Dublin Core, ça ne fonctionne
pas. De plus, cela peut ne pas se révéler intéressant, si tu n'as besoin
que d'une propriété ou d'une classe d'une autre ontologie.

- "Redéclaration" de classes ou de propriétés. Si tu veux que ton
ontologie soit consistante et que tu n'importes pas ou ne peut pas
importer, il te faut redéclarer les propriétés et classes dans ton
ontologie, comme tu l'as fait. Comme l'ont fait remarquer Charles et
Alex, il faut que les concepts soient les mêmes, sinon les agents ne
pourront pas appliquer les mêmes traitements à ton ontologie et à celles
d'origine. Je ne connais pas la notation que tu utilises, mais si je
comprends bien, ça a l'air bon, en RDF/XML ça donne cela :
<owl:Class
rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> pour
une classe. Comme tu le vois, on ne peut pas utiliser le namespace à cet
endroit, il faut absolument déclarer l'URI ce qui n'empêche pas de
déclarer le namespace dans le RDF et que tu peux l'utiliser dans tes
instances.
 <owl:DatatypeProperty
rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#long">
    <rdfs:label xml:lang="fr">longitude</rdfs:label>
    <rdfs:domain
rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/>
  </owl:DatatypeProperty> pour une propriété

Tu as l'air de confondre propriété d'objet et propriété de type de
données. C'est une différence importante avec RDFS, il existe deux types
de propriétés de base en OWL :

- ObjectProperty qui désigne une propriété qui relie deux classes et
donc qui a besoin d'une propriété domain et d'une propriété range (qui
au passage appartiennent à RDFS et non à OWL), tu aura donc par exemple :
<owl:ObjectProperty rdf:ID="isPartOf">
      <rdfs:label>is Part of</rdfs:label>
      <rdfs:domain rdf:resource="#task"/>
      <rdfs:range rdf:resource="#project"/>
</owl:ObjectProperty>

- DatatypeProperty qui désigne une propriété qui unit une classe avec
une données (une chaîne de caractères, un nombre entier, une URL, une
date...). C'est le cas par exemple de la propriété titre. Dans ce cas,
la propriété domain désigne la classe concernée et la propriété range le
type de données.
<owl:DatatypeProperty
rdf:about="http://purl.org/dc/elements/1.1/description">
    <rdfs:label xml:lang="fr">Description de la tâche</rdfs:label>
    <rdfs:domain rdf:resource="#task"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</owl:DatatypeProperty>

N'hésite pas à valider ton ontologie. Pour ce faire, je te conseille
deux validateurs que j'utilise assez souvent (surtout quand tu commences
à faire des ontologies) :
- Pellet OWL reasoner qui propose de vérifier la consistance d'une
ontologie dans la démo en ligne :
http://www.mindswap.org/2003/pellet/demo.shtml (dans le menu déroulant,
tu as un item dédié à cela)
- Un validateur OWL : http://phoebus.cs.man.ac.uk:9999/OWL/Validator

La dernière solution consiste à importer ton ontologie dans Protégé qui
est une très bonne solution (http://protege.stanford.edu/), de
l'enregistrer et de voir les modifs qu'a apporté Protégé automatiquement.

J'espère que cela t'aidera, bon courage !!
A+
Gautier

PS : c'est bien, je voulais écrire un billet sur ce sujet, tu m'as mis
le pied à l'étrier ;-)

Simon Rozet a écrit :
> Bonjour,
>
> J'ai écrit une ontologie pour décrire un système d'organisation
> de type Getting Thing Done [1] avec deux but en tête :
>
> - apprendre à écrire une ontologie
> - améliorer le petit - mais génial - programme b.py [2] de Sean B. Palmer
>
> Le début de l'ontologie :
>
> @prefix : <#> .
> @prefix rdfs: <http://www.w3.org/TR/rdf-schema/> .
> @prefix owl: <http://www.w3.org/2002/07/owl#> .
> @prefix dc: <http://purl.org/dc/elements/1.1/> .
>
> <> a owl:Ontology;
> dc:title "Geting Things Done";
> dc:creator "Simon Rozet";
> dc:description "An Ontology for describing the Getting Thing Done action management method."@en .
>
> :Task a owl:Class;
> rdfs:label "a task"@en .
>
> :Project a owl:Class;
> rdfs:label "a projet"@en .
>
> dc:title a owl:ObjectProperty;
> rdfs:comment "Description de la tâche."@fr;
> owl:domain :Task .
>
> dc:created a owl:ObjectProperty;
> rdfs:label "task creation date"@en;
> owl:domain :Task, :Project .
>
> dc:completed a owl:ObjectProperty;
> rdfs:label "task completion date"@en;
> owl:domain :Task .
>
> :tasks a owl:ObjectProperty;
> rdfs:label "tasks";
> owl:domain :Project .
>
> Et voici un exemple d'utilisation :
>
> @prefix : <#> .
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
> @prefix dc: <http://purl.org/dc/elements/1.1/> .
> @prefix gtd: <http://atonie.org/ns/gtd#> .
>
> :garage a gtd:Project;
> dc:title "re-peindre le garage";
> dc:created "2006-09-25";
> gtd:tasks [
> a rdf:Seq;
> rdf:_1 :a;
> rdf:_2 :b ] .
>
> :a a gtd:Task;
> dc:title "choisir la couleur";
> dc:created "2006-11-09";
> gtd:completed "2006-11-11" .
>
> :b a gtd:Task;
> dc:title "acheter la peinture";
> dc:created "2006-11-09" .
>
> L'ontologie est-elle bien écrite (j'ai notamment des doutes sur dc:completed a owl:ObjectProperty;), bien pensée ?
> Il reste aussi à intégrer les "Someday/Maybe", "Waiting for" et "Next actions".
>
> Merci d'avance pour vos remarques :)
>
> [1] http://fr.wikipedia.org/wiki/Getting_Things_Done
>
>

--
Liste de diffusion "websemantique@xmlfr.org"
(http://xmlfr.org/communautes/websemantique/listes/websemantique).

Contribuez au developpement du Web Semantique francophone
(http://websemantique.org) !

Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a websemantique-request@xmlfr.org
(mailto:websemantique-request@xmlfr.org?Subject=unsubscribe)
Received on Wed Nov 15 10:50:27 2006


Archive générée par hypermail 2.1.8 le 29/11/2006 - 07:22 UTC

webmaster@xmlfr.org

 

dev@xmlfr.org

Liste de discussion de la communauté du Web Sémantique francophone.

Cette liste publique est dédiée aux discussions en français concernant le Web Sémantique.



Cliquez ici.
Cliquez ici.

Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot  

Conception, réalisation et hébergement
Questions ou commentaires
  redacteurs@xmlfr.org