Search code examples
semantic-webowlowl-api

How to add rdfs:label to OWLIndividual via OWLAPI?


I would like to add an rdfs:label to an OWLIndividual, I have the following:

OWLIndividual newIndividual = factory.getOWLNamedIndividual(IRI.create(name));
OWLLiteral lbl = factory.getOWLLiteral(name);
OWLAnnotation label =
  factory.getOWLAnnotation( 
    factory.getOWLAnnotationProperty(OWLRDFVocabulary.RDFS_LABEL.getIRI()), lbl);

Now, how can I associate the label to the individual?


Solution

  • You can associate the label the following way:

    OWLAxiom axiom = factory.getOWLAnnotationAssertionAxiom(newIndividual.asOWLNamedIndividual().getIRI(), label);
    manager.applyChange(new AddAxiom(ontology, axiom));
    

    In this case you need to work with a NamedIndividual in order to retrieve the IRI to assert the annotation.