Ta règle est correctement écrite.
Ce qu'il faut savoir, c'est que le conséquent d'une règle (ici, est_tante_de(...)) sera exécuté ssi l'antécédent est vrai.
Ors, dans ton cas, je pense que tu n'as pas associé les individus rami et marwa avec la propriété est_pere_de ainsi que jamila et rami par la propriété est_soeur_de
De plus, rami doit être une instance de pere, une instance de enfant et jamila une instance de soeur
Voici la règle telque je l'ai écrite:
Pere(RAMI) ^ Enfant(MARWA) ^ Soeur(JAMILA) ^ estPereDe(RAMI, MARWA) ^ estSoeurDe(JAMILA, RAMI) -> estTanteDe(JAMILA, MARWA)
(Je te suggère de prendre note de la notation qui est plus conforme aux bonne pratiques d'écriture dans une ontologie)
et voici l'ontologie sans la règle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?xml version="1.0"?>
<rdf:RDF
xmlns:xsp="http://www.owl-ontologies.com/2005/08/07/xsp.owl#"
xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
xmlns:swrla="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#"
xmlns="http://www.owl-ontologies.com/Ontology1339490025.owl#"
xmlns:swrl="http://www.w3.org/2003/11/swrl#"
xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:sqwrl="http://sqwrl.stanford.edu/ontologies/built-ins/3.4/sqwrl.owl#"
xml:base="http://www.owl-ontologies.com/Ontology1339490025.owl">
<owl:Ontology rdf:about="">
<owl:imports rdf:resource="http://sqwrl.stanford.edu/ontologies/built-ins/3.4/sqwrl.owl"/>
<owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl"/>
</owl:Ontology>
<owl:Class rdf:ID="Soeur"/>
<owl:Class rdf:ID="Enfant"/>
<owl:Class rdf:ID="Pere"/>
<owl:ObjectProperty rdf:ID="estTanteDe"/>
<owl:ObjectProperty rdf:ID="estSoeurDe">
<rdfs:range rdf:resource="#Pere"/>
<rdfs:domain rdf:resource="#Soeur"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="estPereDe">
<rdfs:range rdf:resource="#Enfant"/>
<rdfs:domain rdf:resource="#Pere"/>
</owl:ObjectProperty>
<Soeur rdf:ID="JAMILA">
<estSoeurDe>
<Pere rdf:ID="RAMI">
<estSoeurDe rdf:resource="#JAMILA"/>
<estPereDe>
<Enfant rdf:ID="MARWA"/>
</estPereDe>
</Pere>
</estSoeurDe>
</Soeur>
</rdf:RDF> |
Je t'invites à porter une attention particulière aux lignes 31 à 40 qui démontrent que JAMILA estSoeurDe RAMI et que RAMI estPereDe MARWA. Lorsque tu auras éxécuté la règle, le prédicat estTanteDe devrait associer JAMILA et MARWA
Pour ce qui est de ta question concernant les AXIOMES, le sens du terme varie beaucoup d'un contexte à l'autre, et d'un auteur à l'autre. Dans le cas de SWRL et de ton exemple, l'énonce estTanteDe(JAMILA, MARWA) est considéré comme un axiome.
Voilà et à bientôt.
Partager