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
    Futur Membre du Club
    Restriction de type de donnés dans une Ontologie + OWLDatatypeRestriction
    Bonjour,
    Je travaille sur une base de connaissance sur des indices. J'utilise OWLAPI sous eclipse.

    Lorsque j'ajoute des restriction de type de données et que j'execute j'obtiens le message d'erreur suivant:
    Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    The type OWLDataFactoryImpl must implement the inherited abstract method OWLDataFactory.getOWLDatatypeDefinitionAxiom(OWLDatatype, OWLDataRange)

    at uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryImpl.getOWLDatatypeDefinitionAxiom(OWLDataFactoryImpl.java:61)

    voici un extrait de mon code:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    OWLDatatype floatdatatype = factory.getFloatOWLDatatype();
    OWLDatatype integerdatatype = factory.getIntegerOWLDatatype();
    //Restriction sur l'interval des données NDVI
    OWLDatatype ndviInterval = factory.getOWLDatatype(IRI.create(ontologyIRI + "#hasNdviInterval"));
    OWLFacetRestriction maxNDVI = factory.getOWLFacetRestriction(OWLFacet.MAX_EXCLUSIVE, 1);
    OWLFacetRestriction minNDVI = factory.getOWLFacetRestriction(OWLFacet.MIN_INCLUSIVE, 0);
    OWLDatatypeRestriction NDVIrestriction = factory.getOWLDatatypeRestriction(floatdatatype, maxNDVI,minNDVI);
    OWLDatatypeDefinitionAxiom ndviIntervaldatatypeDefaxiom = factory.getOWLDatatypeDefinitionAxiom (ndviInterval , NDVIrestriction);


    Quelqu'un a t il une idée pour la solution?
    Merci

  2. #2
    Membre régulier
    je croie que la solution se trouve dans ton message d'erreur :
    Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    The type OWLDataFactoryImpl must implement the inherited abstract method OWLDataFactory.getOWLDatatypeDefinitionAxiom(OWLDatatype, OWLDataRange
    je pense que tu dois implémenter ta classe par OWLDatatype ou OWLDataRange.