Question

I basically have a large file of a few thousand names each on a new line in .txt. I am using Protege to build my ontology and I want a quicker way to insert these names as Individuals into the concept 'Person' in my Ontology. is there anyway that this can be done using Protege or the OWL API as clicking the add button in protege and typing/copying each name then adding it to the 'Person' concept will take some time.

Thanks for any suggestions.

Was it helpful?

Solution

If using the OWL API, there is an example of how to do just this in the examples provided in the documentation:

public void shouldAddClassAssertion() throws OWLOntologyCreationException,
        OWLOntologyStorageException {
    // For more information on classes and instances see the OWL 2 Primer
    // http://www.w3.org/TR/2009/REC-owl2-primer-20091027/#Classes_and_Instances
    // In order to say that an individual is an instance of a class (in an
    // ontology), we can add a ClassAssertion to the ontology. For example,
    // suppose we wanted to specify that :Mary is an instance of the class
    // :Person. First we need to obtain the individual :Mary and the class
    // :Person Create an ontology manager to work with
    OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
    OWLDataFactory dataFactory = manager.getOWLDataFactory();
    // The IRIs used here are taken from the OWL 2 Primer
    String base = "http://example.com/owl/families/";
    PrefixManager pm = new DefaultPrefixManager(base);
    // Get the reference to the :Person class (the full IRI will be
    // <http://example.com/owl/families/Person>)
    OWLClass person = dataFactory.getOWLClass(":Person", pm);
    // Get the reference to the :Mary class (the full IRI will be
    // <http://example.com/owl/families/Mary>)
    OWLNamedIndividual mary = dataFactory
            .getOWLNamedIndividual(":Mary", pm);
    // Now create a ClassAssertion to specify that :Mary is an instance of
    // :Person
    OWLClassAssertionAxiom classAssertion = dataFactory
            .getOWLClassAssertionAxiom(person, mary);
    // We need to add the class assertion to the ontology that we want
    // specify that :Mary is a :Person
    OWLOntology ontology = manager.createOntology(IRI.create(base));
    // Add the class assertion
    manager.addAxiom(ontology, classAssertion);
    // Dump the ontology to stdout
    manager.saveOntology(ontology, new StreamDocumentTarget(
            new ByteArrayOutputStream()));
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top