Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Extraction de plusieurs domain et range pour la même property
    Bonsoir ,

    Je veux extraire les domain et range de chaque propriété de mon ontologie,j'ai déja fait l'extraction de chaque domain et range avec jena mais quand il s'agit d'une propriété qui a deux domain différents il m'affiche qu'un seul, comment faire pour savoir le deuxième domain??

    Merci.

  2. #2
    Membre éprouvé
    La javadoc de la méthode getDomain() dit bien : "Answer a resource that represents the domain class of this property. If there is more than one such resource, an arbitrary selection is made." je pense qu'il faut que tu utilises plutôt listDomain() si tu veux les récupérer tous.

    Es-tu bien consciente que quand on défini 2 domaines sur une propriété cela est interprété comme une _intersection_ des classes ? (http://www.w3.org/TR/owl-ref/#domain-def "Multiple rdfs:domain axioms are allowed and should be interpreted as a conjunction: these restrict the domain of the property to those individuals that belong to the intersection of the class descriptions"). C'est-à-dire que le domaine de la propriété sera l'ensemble des ressources qui sont instances des 2 classes en même temps.

  3. #3
    Candidat au Club
    Citation Envoyé par Sapience Voir le message
    La javadoc de la méthode getDomain() dit bien : "Answer a resource that represents the domain class of this property. If there is more than one such resource, an arbitrary selection is made." je pense qu'il faut que tu utilises plutôt listDomain() si tu veux les récupérer tous.

    Es-tu bien consciente que quand on défini 2 domaines sur une propriété cela est interprété comme une _intersection_ des classes ? (http://www.w3.org/TR/owl-ref/#domain-def "Multiple rdfs:domain axioms are allowed and should be interpreted as a conjunction: these restrict the domain of the property to those individuals that belong to the intersection of the class descriptions"). C'est-à-dire que le domaine de la propriété sera l'ensemble des ressources qui sont instances des 2 classes en même temps.
    J'ai le même pb et j'ai testé listDomain() et il sort toujours un seul valeur. Voici mon code

    while(nextP.listDomain().hasNext() && !newDomain.equals(nextP.listDomain().next().getLocalName())){
    OntResource domain = nextP.listDomain().next();
    newDomain = domain.getLocalName();
    System.out.println(domain.getLocalName());
    }