Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Inscrit en
    mai 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2011
    Messages : 18
    Points : 3
    Points
    3

    Par défaut Peut-on définir une relation ayant un domaine et plusieurs "ranges"

    Bonjour à tous,

    j'ai une question concernant la conception d'une ontologie OWL,
    une relation de type "object property" lient normalement un domaine à un range,
    par exemple si je veux exprimer que la classe "voiture" agrège au min 1 moteur et 2 sièges
    est-ce que cela peut être exprimé ainsi:

    je définis 3 classes: Car, Engine, Seat

    (sous protégé) au niveau de la classe Car, Superclasses, je définis ces deux superclasses:
    aggregates exactly 1 Engine
    aggregates min 2 Seat

    ce qui donne en OWL :

    <owl:Class rdf:about="http://www.example.org/CorpusOnto#Car">
    <rdfs:subClassOf>
    <owl:Restriction>
    <owl:onProperty rdf:resource="http://www.example.org/CorpusOnto#aggregates"/>
    <owl:onClass rdf:resource="http://www.example.org/CorpusOnto#Engine"/>
    <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
    </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
    <owl:Restriction>
    <owl:onProperty rdf:resource="http://www.example.org/CorpusOnto#aggregates"/>
    <owl:onClass rdf:resource="http://www.example.org/CorpusOnto#Seat"/>
    <owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minQualifiedCardinality>
    </owl:Restriction>
    </rdfs:subClassOf>
    </owl:Class>

    je voulais savoir si c'est faisable ?

    Merci d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations forums :
    Inscription : juillet 2005
    Messages : 87
    Points : 119
    Points
    119

    Par défaut

    Ici c'est pas plusieurs "ranges" que tu veux, mais faire des contraintes sur le nombre d'instances. Oui c'est possible.

    Avoir plusieurs "ranges" c'est possible aussi, mais c'est pas ce que tu cherches a faire.

  3. #3
    Invité de passage
    Inscrit en
    mai 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2011
    Messages : 18
    Points : 3
    Points
    3

    Par défaut

    merci pour votre réponse,
    mais le fait de définir deux restrictions, une pour Engine et une pour Seat, cela ne veut-il pas dire que je définis implicitement deux ranges pour la relation "aggregates" liée au Domain "Car" et aux ranges "Engine" et "Seat" en définissant en plus les contraintes d'occurence ?

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations forums :
    Inscription : juillet 2005
    Messages : 87
    Points : 119
    Points
    119

    Par défaut

    Si, aussi j'avais pas vu ca comme ca

  5. #5
    Membre confirmé Avatar de April Fool
    Homme Profil pro Information Inexacte
    Fou d'avril
    Inscrit en
    février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Nom : Homme Information Inexacte
    Localisation : France

    Informations professionnelles :
    Activité : Fou d'avril

    Informations forums :
    Inscription : février 2012
    Messages : 99
    Points : 214
    Points
    214

    Par défaut

    Citation Envoyé par jolla Voir le message
    j'ai une question concernant la conception d'une ontologie OWL,
    une relation de type "object property" lient normalement un domaine à un range,
    À proprement parler, non, une "object property" lie un individu à un individu. Pour fixer un domain ou un range, il faut le déclarer avec rdfs:domain et rdfs:range. Par exemple:
    Code :
    :aggregates  rdfs:domain  :Car .
    Citation Envoyé par jolla Voir le message
    (sous protégé) au niveau de la classe Car, Superclasses, je définis ces deux superclasses:
    aggregates exactly 1 Engine
    aggregates min 2 Seat
    Lorsque tu écris ça, tu ne donnes ni un domain ni un range. Prend cet exemple:
    Code :
    a_pour_parent  exactly  1  Femme
    Heureusement que cela ne force pas le range de a_pour_parent à être Femme, sinon on ne pourrait pas avoir de père !

    Citation Envoyé par jolla Voir le message
    ce qui donne en OWL :
    Ce qui donne en RDF/XML.

    Quand tu écris aggregates exactly 1 Engine, c'est autant du OWL que ton bout de code XML. C'est un peu comme si tu donnais d'abord des tables avec lignes et colonnes, et que tu indiquais ensuite "ce qui donne, en algèbre relationnelle" et tu mets ensuite le code SQL correspondant. RDF/XML, c'est une syntaxe, OWL c'est un formalisme.

    Citation Envoyé par jolla Voir le message
    je voulais savoir si c'est faisable ?
    Bien sûr puisque tu l'as fait.
    7susd bl'ham owsql wuul pô!

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •