public OWLEntityFactory getOWLEntityFactory() { if(entityFactory == null) { entityFactory = new CustomOWLEntityFactory(this); } return entityFactory; }
public OWLEntityCreationSet<OWLClass> createOWLClass(String shortName, IRI baseIRI) throws OWLEntityCreationException { return createOWLEntity(OWLClass.class, shortName, baseIRI); }
protected <T extends OWLEntity> EntityNameInfo generateName(Class<T> type, String shortName, IRI baseURI) throws AutoIDException, URISyntaxException, OWLEntityCreationException { if (baseURI == null){ if (useDefaultBaseIRI() || mngr.getActiveOntology().getOntologyID().isAnonymous()){ baseURI = getDefaultBaseIRI(); } else{ baseURI = mngr.getActiveOntology().getOntologyID().getOntologyIRI(); } } IRI iri; String id = null; if (isFragmentAutoGenerated()){ do{ id = getAutoIDGenerator().getNextID(type); iri = createIRI(id, baseURI); } while (isIRIAlreadyUsed(iri)); // don't pun unnecessarily } else { iri = createIRI(shortName, baseURI); if (isIRIAlreadyUsed(type, iri)){ throw new OWLEntityCreationException("Entity already exists: " + iri); } if (isGenerateIDLabel()){ id = getAutoIDGenerator().getNextID(type); // critical it is unique? } } return new EntityNameInfo(iri, id, shortName); }
public <T extends OWLEntity> OWLEntityCreationSet<T> createOWLEntity(Class<T> type, String shortName, IRI baseURI) throws OWLEntityCreationException { try { EntityNameInfo name = generateName(type, shortName, baseURI); T entity = getOWLEntity(mngr.getOWLDataFactory(), type, name.getIri()); List<OWLOntologyChange> changes = getChanges(entity, name); return new OWLEntityCreationSet<>(entity, changes); } catch (URISyntaxException | AutoIDException e) { throw new OWLEntityCreationException(e); } }
protected <T extends OWLEntity > List<OWLOntologyChange> getChanges(T entity, EntityNameInfo name) { List<OWLOntologyChange> changes = new ArrayList<>(); if (isGenerateIDLabel() && name.getId() != null) { changes.addAll(createLabel(entity, name.getId())); } if (isGenerateNameLabel() && name.getShortName() != null) { changes.addAll(createLabel(entity, name.getShortName())); } OWLDataFactory df = mngr.getOWLDataFactory(); OWLAxiom ax = df.getOWLDeclarationAxiom(entity); changes.add(new AddAxiom(mngr.getActiveOntology(), ax)); changes.addAll(getEntityCreationMetadataChanges(entity)); return changes; }
protected <T extends OWLEntity > List<OWLOntologyChange> getChanges(T entity, EntityNameInfo name) { List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); if (isGenerateIDLabel() && name.getId() != null) { changes.addAll(createLabel(entity, name.getId())); } if (isGenerateNameLabel() && name.getShortName() != null) { changes.addAll(createLabel(entity, name.getShortName())); } OWLDataFactory df = mngr.getOWLDataFactory(); OWLAxiom ax = df.getOWLDeclarationAxiom(entity); changes.add(new AddAxiom(mngr.getActiveOntology(), ax)); return changes; }
public <T extends OWLEntity> OWLEntityCreationSet<T> preview(Class<T> type, String shortName, IRI base) throws OWLEntityCreationException { // There is probably a better way round this. if (getAutoIDGenerator() instanceof Revertable){ ((Revertable)getAutoIDGenerator()).checkpoint(); } try{ return createOWLEntity(type, shortName, base); } catch(OWLEntityCreationException e){ throw e; } finally{ if (getAutoIDGenerator() instanceof Revertable){ ((Revertable)getAutoIDGenerator()).revert(); } } }
private OWLEntityCreationSet<T> getCreationSetForIri(IRI iri) { OWLOntology ontology = owlEditorKit.getModelManager().getActiveOntology(); OWLDataFactory factory = owlEditorKit.getModelManager().getOWLDataFactory(); T owlEntity = CustomOWLEntityFactory.getOWLEntity(factory, type, iri); OWLOntologyChange addDecl = new AddAxiom(ontology, factory.getOWLDeclarationAxiom(owlEntity)); return new OWLEntityCreationSet<>(owlEntity, Collections.singletonList(addDecl)); }
private List<? extends OWLOntologyChange> createLabel(OWLEntity owlEntity, String value) { LabelDescriptor descr = getLabelDescriptor(); IRI iri = descr.getIRI(); String lang = descr.getLanguage(); OWLDataFactory df = mngr.getOWLDataFactory(); OWLLiteral con = df.getOWLLiteral(value, lang); OWLAnnotationProperty prop = df.getOWLAnnotationProperty(iri); OWLAxiom ax = df.getOWLAnnotationAssertionAxiom(prop, owlEntity.getIRI(), con); return Collections.singletonList(new AddAxiom(mngr.getActiveOntology(), ax)); }
protected <T extends OWLEntity> EntityNameInfo generateName(Class<T> type, String shortName, IRI baseURI) throws AutoIDException, URISyntaxException, OWLEntityCreationException { if (baseURI == null){ if (useDefaultBaseIRI() || mngr.getActiveOntology().getOntologyID().isAnonymous()){ baseURI = getDefaultBaseIRI(); if (isFragmentAutoGenerated()){ Set<IRI> tried = new HashSet<>(); do{ id = getAutoIDGenerator().getNextID(type); iri = createIRI(id, baseURI); if (!tried.contains(iri)) { tried.add(iri); throw new AutoIDException("Auto id generator ran out of new ids - fix this in the new entity preferences"); } while (isIRIAlreadyUsed(iri)); // don't pun unnecessarily iri = createIRI(shortName, baseURI); if (isIRIAlreadyUsed(type, iri)){ throw new OWLEntityCreationException("Entity already exists: " + iri); if (isGenerateIDLabel()){ id = getAutoIDGenerator().getNextID(type); // critical it is unique?
public <T extends OWLEntity> OWLEntityCreationSet<T> createOWLEntity(Class<T> type, String shortName, IRI baseURI) throws OWLEntityCreationException { try { EntityNameInfo name = generateName(type, shortName, baseURI); T entity = getOWLEntity(mngr.getOWLDataFactory(), type, name.getIri()); List<OWLOntologyChange> changes = getChanges(entity, name); return new OWLEntityCreationSet<>(entity, changes); } catch (URISyntaxException | AutoIDException e) { throw new OWLEntityCreationException(e); } }
protected <T extends OWLEntity > List<OWLOntologyChange> getChanges(T entity, EntityNameInfo name) { List<OWLOntologyChange> changes = new ArrayList<>(); if (isGenerateIDLabel() && name.getId() != null) { changes.addAll(createLabel(entity, name.getId())); } if (isGenerateNameLabel() && name.getShortName() != null) { changes.addAll(createLabel(entity, name.getShortName())); } OWLDataFactory df = mngr.getOWLDataFactory(); OWLAxiom ax = df.getOWLDeclarationAxiom(entity); changes.add(new AddAxiom(mngr.getActiveOntology(), ax)); changes.addAll(getEntityCreationMetadataChanges(entity)); return changes; }
protected <T extends OWLEntity > List<OWLOntologyChange> getChanges(T entity, EntityNameInfo name) { List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); if (isGenerateIDLabel() && name.getId() != null) { changes.addAll(createLabel(entity, name.getId())); } if (isGenerateNameLabel() && name.getShortName() != null) { changes.addAll(createLabel(entity, name.getShortName())); } OWLDataFactory df = mngr.getOWLDataFactory(); OWLAxiom ax = df.getOWLDeclarationAxiom(entity); changes.add(new AddAxiom(mngr.getActiveOntology(), ax)); return changes; }
public <T extends OWLEntity> OWLEntityCreationSet<T> preview(Class<T> type, String shortName, IRI base) throws OWLEntityCreationException { // There is probably a better way round this. if (getAutoIDGenerator() instanceof Revertable){ ((Revertable)getAutoIDGenerator()).checkpoint(); } try{ return createOWLEntity(type, shortName, base); } catch(OWLEntityCreationException e){ throw e; } finally{ if (getAutoIDGenerator() instanceof Revertable){ ((Revertable)getAutoIDGenerator()).revert(); } } }
public OWLEntityCreationSet<T> getOWLEntityCreationSet(EntityCreationMode preview) throws RuntimeException { try { if (isEntityIRI()) { IRI iri = getRawIRI(); OWLOntology ontology = owlEditorKit.getModelManager().getActiveOntology(); OWLDataFactory factory = owlEditorKit.getModelManager().getOWLDataFactory(); T owlEntity = CustomOWLEntityFactory.getOWLEntity(factory, type, iri); OWLOntologyChange addDecl = new AddAxiom(ontology, factory.getOWLDeclarationAxiom(owlEntity)); return new OWLEntityCreationSet<>(owlEntity, Collections.singletonList(addDecl)); } else { switch (preview) { case CREATE: return owlEditorKit.getModelManager().getOWLEntityFactory().createOWLEntity(type, getEntityName(), getBaseIRI()); case PREVIEW: return owlEditorKit.getModelManager().getOWLEntityFactory().preview(type, getEntityName(), getBaseIRI()); default: throw new IllegalStateException("Programmer error - report this (with stack trace) to the Protege 4 mailing list"); } } } catch (OWLEntityCreationException e) { throw new RuntimeException(e); } }
private List<? extends OWLOntologyChange> createLabel(OWLEntity owlEntity, String value) { LabelDescriptor descr = getLabelDescriptor(); IRI iri = descr.getIRI(); String lang = descr.getLanguage(); OWLDataFactory df = mngr.getOWLDataFactory(); OWLLiteral con = df.getOWLLiteral(value, lang); OWLAnnotationProperty prop = df.getOWLAnnotationProperty(iri); OWLAxiom ax = df.getOWLAnnotationAssertionAxiom(prop, owlEntity.getIRI(), con); return Collections.singletonList(new AddAxiom(mngr.getActiveOntology(), ax)); }
protected <T extends OWLEntity> EntityNameInfo generateName(Class<T> type, String shortName, IRI baseURI) throws AutoIDException, URISyntaxException, OWLEntityCreationException { if (baseURI == null){ if (useDefaultBaseIRI() || mngr.getActiveOntology().getOntologyID().isAnonymous()){ baseURI = getDefaultBaseIRI(); if (isFragmentAutoGenerated()){ Set<IRI> tried = new HashSet<IRI>(); do{ id = getAutoIDGenerator().getNextID(type); iri = createIRI(id, baseURI); if (!tried.contains(iri)) { tried.add(iri); throw new AutoIDException("Auto id generator ran out of new ids - fix this in the new entity preferences"); } while (isIRIAlreadyUsed(iri)); // don't pun unnecessarily iri = createIRI(shortName, baseURI); if (isIRIAlreadyUsed(type, iri)){ throw new OWLEntityCreationException("Entity already exists: " + iri); if (isGenerateIDLabel()){ id = getAutoIDGenerator().getNextID(type); // critical it is unique?
public <T extends OWLEntity> OWLEntityCreationSet<T> createOWLEntity(Class<T> type, String shortName, IRI baseURI) throws OWLEntityCreationException { try { EntityNameInfo name = generateName(type, shortName, baseURI); T entity = getOWLEntity(mngr.getOWLDataFactory(), type, name.getIri()); List<OWLOntologyChange> changes = getChanges(entity, name); return new OWLEntityCreationSet<T>(entity, changes); } catch (URISyntaxException e) { throw new OWLEntityCreationException(e); } catch (AutoIDException e) { throw new OWLEntityCreationException(e); } }
public OWLEntityCreationSet<OWLObjectProperty> createOWLObjectProperty(String shortName, IRI baseURI) throws OWLEntityCreationException { return createOWLEntity(OWLObjectProperty.class, shortName, baseURI); }
public <T extends OWLEntity> OWLEntityCreationSet<T> preview(Class<T> type, String shortName, IRI base) throws OWLEntityCreationException { // There is probably a better way round this. if (getAutoIDGenerator() instanceof Revertable){ ((Revertable)getAutoIDGenerator()).checkpoint(); } try{ return createOWLEntity(type, shortName, base); } catch(OWLEntityCreationException e){ throw e; } finally{ if (getAutoIDGenerator() instanceof Revertable){ ((Revertable)getAutoIDGenerator()).revert(); } } }