本文整理汇总了Java中org.semanticweb.owlapi.model.OWLOntologyID.getOntologyIRI方法的典型用法代码示例。如果您正苦于以下问题:Java OWLOntologyID.getOntologyIRI方法的具体用法?Java OWLOntologyID.getOntologyIRI怎么用?Java OWLOntologyID.getOntologyIRI使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.semanticweb.owlapi.model.OWLOntologyID
的用法示例。
在下文中一共展示了OWLOntologyID.getOntologyIRI方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: translate
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
/**
* Translate the given {@link GafDocument} into an OWL representation of the LEGO model.
*
* @param gaf
* @return lego ontology
* @throws OWLException
* @throws UnknownIdentifierException
*/
public OWLOntology translate(GafDocument gaf) throws OWLException, UnknownIdentifierException {
final OWLOntologyManager m = graph.getManager();
OWLOntology lego = m.createOntology(IRI.generateDocumentIRI());
OWLOntology sourceOntology = graph.getSourceOntology();
OWLOntologyID ontologyID = sourceOntology.getOntologyID();
if (ontologyID != null) {
Optional<IRI> ontologyIRI = ontologyID.getOntologyIRI();
if (ontologyIRI.isPresent()) {
OWLDataFactory f = m.getOWLDataFactory();
OWLImportsDeclaration importDeclaration = f.getOWLImportsDeclaration(ontologyIRI.get());
m.applyChange(new AddImport(lego, importDeclaration ));
}
}
translate(gaf.getGeneAnnotations(), lego);
return lego;
}
示例2: visit
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
@Override
public Void visit(OWLOntology ontology) {
this.ontology = Optional.of(ontology);
this.definingOntology = OwlApiUtils.getIri(ontology);
Long versionNodeID = null;
Long ontologyNodeID = null;
OWLOntologyID id = ontology.getOntologyID();
if (null == id.getOntologyIRI()) {
logger.fine("Ignoring null ontology ID for " + ontology.toString());
} else {
ontologyNodeID = getOrCreateNode(id.getOntologyIRI().toString(), OwlLabels.OWL_ONTOLOGY);
}
if (null != id.getVersionIRI()){
versionNodeID = getOrCreateNode(id.getVersionIRI().toString(), OwlLabels.OWL_ONTOLOGY);
}
if (null != ontologyNodeID && null != versionNodeID) {
graph.createRelationship(ontologyNodeID, versionNodeID, OwlRelationships.OWL_VERSION_IRI);
}
return null;
}
示例3: getTboxIRI
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
/**
* Executed before the init call {@link #init()}.
*
* @param graph
* @return IRI, never null
* @throws OWLOntologyCreationException
*/
protected IRI getTboxIRI(OWLGraphWrapper graph) throws OWLOntologyCreationException {
OWLOntology tbox = graph.getSourceOntology();
OWLOntologyID ontologyID = tbox.getOntologyID();
if (ontologyID != null) {
Optional<IRI> ontologyIRI = ontologyID.getOntologyIRI();
if (ontologyIRI.isPresent()) {
return ontologyIRI.get();
}
}
throw new OWLOntologyCreationException("No ontology id available for tbox. An ontology IRI is required for the import into the abox.");
}
示例4: appendOntologyId
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
private void appendOntologyId(OWLOntologyID ontologyID, StringBuilder sb) {
Optional<IRI> ontologyIRI = ontologyID.getOntologyIRI();
if (ontologyIRI.isPresent()) {
sb.append("Ontology(id=").append(ontologyIRI.get());
Optional<IRI> versionIRI = ontologyID.getVersionIRI();
if (versionIRI .isPresent()) {
sb.append(", version=").append(versionIRI.get());
}
sb.append(")");
}
else {
sb.append("Ontology with no ID");
}
}
示例5: EcoTools
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
/**
* Create an instance for the given graph and reasoner.
*
* @param graph
* @param reasoner
* @param disposeReasoner set to true, if the reasoner should also be disposed
* @throws UnknownOWLOntologyException
* @throws OWLOntologyCreationException
*
* @see #dispose()
*/
public EcoTools (OWLGraphWrapper graph, OWLReasoner reasoner, boolean disposeReasoner) throws UnknownOWLOntologyException, OWLOntologyCreationException {
// This has bitten me, so let's try and bew specific...
if( reasoner == null ){ throw new Error("No reasoner was specified for use with the EcoTools. Add a reasoner for the command line"); }
// assume the graph wrapper is more than eco
// try to find ECO by its purl
Set<OWLOntology> allOntologies = graph.getAllOntologies();
OWLOntology eco = null;
for (OWLOntology owlOntology : allOntologies) {
OWLOntologyID id = owlOntology.getOntologyID();
Optional<IRI> ontologyIRI = id.getOntologyIRI();
if (ontologyIRI.isPresent()) {
if (ECO_PURL.equals(ontologyIRI.get().toString())) {
eco = owlOntology;
}
}
}
if (eco != null) {
// found eco create new wrapper
this.eco = new OWLGraphWrapper(eco);
}
else {
// did not find eco, use whole wrapper
this.eco = graph;
}
this.reasoner = reasoner;
this.disposeReasonerP = disposeReasoner;
}
示例6: createTraversingEcoMapper
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
/**
* Create a {@link TraversingEcoMapper} instance using the given
* {@link OWLGraphWrapper}. It is assumed that ECO can be retrieved from the
* graph using its default IRI. The mappings are retrieved using the PURL.
* <p>
* Uses the given reasoner in the traversal methods. If disposeReasoner is
* set to true, dispose also the reasoner, while calling
* {@link TraversingEcoMapper#dispose()}.
*
* @param all
* graph containing all ontologies, including ECO
* @param reasoner
* reasoner capable of traversing ECO
* @param disposeReasoner
* set to true if the reasoner should be disposed, when calling
* {@link TraversingEcoMapper#dispose()}
* @return mapper
* @throws IOException
* @throws OWLException
* @throws IllegalArgumentException
* throw when the reasoner is null, or the
* {@link OWLGraphWrapper} does not contain ECO.
*
* @see EcoMapper#ECO_PURL_IRI
* @see EcoMapper#ECO_MAPPING_PURL
*/
public static TraversingEcoMapper createTraversingEcoMapper(OWLGraphWrapper all, OWLReasoner reasoner, boolean disposeReasoner) throws IOException, OWLException {
// This has bitten me, so let's try and be specific...
if( reasoner == null ) {
throw new IllegalArgumentException("No reasoner was specified for use with the EcoTools. Add a reasoner for the command line");
}
OWLOntology eco = null;
// assume the graph wrapper is more than eco
// try to find ECO by its purl
Set<OWLOntology> allOntologies = all.getAllOntologies();
for (OWLOntology owlOntology : allOntologies) {
OWLOntologyID id = owlOntology.getOntologyID();
Optional<IRI> ontologyIRI = id.getOntologyIRI();
if (ontologyIRI.isPresent()) {
if (EcoMapper.ECO_PURL_IRI.equals(ontologyIRI.get())) {
eco = owlOntology;
}
}
}
if (eco == null) {
throw new IllegalArgumentException("The specified graph did not contain ECO with the IRI: "+EcoMapper.ECO_PURL_IRI);
}
OWLGraphWrapper ecoGraph = new OWLGraphWrapper(eco);
Reader reader = null;
try {
reader = createReader(EcoMapper.ECO_MAPPING_PURL);
EcoMappings<OWLClass> mappings = loadEcoMappings(reader, ecoGraph);
return new TraversingEcoMapperImpl(mappings, reasoner, disposeReasoner);
}
finally {
IOUtils.closeQuietly(reader);
}
}
示例7: partition
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
/**
* Splits the given ontology into two partitions: The set of OWL EL
* compliant axioms and the set of axioms which are not compliant with the
* OWL EL profile. The EL compliant partition is stored in the left part of
* resulting pair, and the EL non-compliant partition is stored in the right
* part.
*
* @param sourceOnto
* The source ontology to be partitioned.
* @param compatibilityMode
* Specifies the reasoner with which the resulting partition
* should be compatible (e.g. Pellet has a different notion of EL
* than other reasoners).
* @return A pair containing two ontologies. The left part is the partition
* of the source ontology with all EL-compliant axioms. The right
* part is the partition of the source ontology with all
* non-EL-compliant axioms. If the source ontology already conforms
* to the OWL-EL profile, then the left part of the result contains
* the source ontology, and the right part is null.
* @throws OWLOntologyCreationException
* If there is an error loading the source ontology.
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static Pair<OWLOntology, OWLOntology> partition(OWLOntology sourceOnto, ReasonerCompatibilityMode compatibilityMode)
throws OWLOntologyCreationException, InstantiationException, IllegalAccessException {
OWLProfile elProfile = compatibilityMode.getProfileClass().newInstance();
OWLProfileReport report = elProfile.checkOntology(sourceOnto);
if (report.isInProfile()) {
return new ImmutablePair<OWLOntology, OWLOntology>(sourceOnto, null);
}
HashSet<OWLAxiom> nonELAxioms = new HashSet<OWLAxiom>();
Set<OWLProfileViolation> violations = report.getViolations();
for (OWLProfileViolation violation : violations) {
nonELAxioms.add(violation.getAxiom());
}
OWLOntologyID ontologyID = sourceOnto.getOntologyID();
IRI ontologyIRI = ontologyID.getOntologyIRI();
IRI targetELOntologyIRI = IRI.create(ontologyIRI.toString() + "/ELpart");
IRI targetNonELOntologyIRI = IRI.create(ontologyIRI.toString() + "/nonELpart");
OWLOntologyManager targetELOntoManager = OWLManager.createOWLOntologyManager();
targetELOntoManager.addIRIMapper(new NonMappingOntologyIRIMapper());
OWLOntology targetELOnto = targetELOntoManager.createOntology(new OWLOntologyID(targetELOntologyIRI));
OWLOntologyManager targetNonELOntoManager = OWLManager.createOWLOntologyManager();
targetNonELOntoManager.addIRIMapper(new NonMappingOntologyIRIMapper());
OWLOntology targetNonELOnto = targetNonELOntoManager.createOntology(new OWLOntologyID(targetNonELOntologyIRI));
Set<OWLAxiom> allAxioms = sourceOnto.getAxioms();
for (OWLAxiom axiom : allAxioms) {
if (nonELAxioms.contains(axiom)) {
targetNonELOntoManager.addAxiom(targetNonELOnto, axiom);
System.out.println("- " + axiom);
} else {
targetELOntoManager.addAxiom(targetELOnto, axiom);
System.out.println("+ " + axiom);
}
}
return new ImmutablePair<OWLOntology, OWLOntology>(targetELOnto, targetNonELOnto);
}
示例8: save
import org.semanticweb.owlapi.model.OWLOntologyID; //导入方法依赖的package包/类
public void save(File baseFolder, BufferedWriter w) throws IOException, OWLOntologyStorageException {
w.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n");
w.write("<catalog prefer=\"public\" xmlns=\"urn:oasis:names:tc:entity:xmlns:xml:catalog\">\n");
for (OWLOntology ont : ontology.getImportsClosure()) {
validateImports(ont);
OWLOntologyID ontologyID = ont.getOntologyID();
IRI actualIRI = null;
Optional<IRI> optional = ontologyID.getOntologyIRI();
if (optional.isPresent()) {
actualIRI = optional.get();
}
// Not really sure why this is here, but apparently we can get
// an ontology without an IRI, in which case we'll generate one
// that is 'sort of' unique (only fails if two different machines run
// this tool at the exact same time).
//
if (actualIRI == null) {
IRI generatedIRI = IRI.generateDocumentIRI();
actualIRI = generatedIRI;
}
// Always write the actualIRI
String actualLocalFile = createLocalFileName(actualIRI);
IRI outputStream = IRI.create(new File(baseFolder, actualLocalFile));
ont.getOWLOntologyManager().saveOntology(ont, outputStream);
if (LOGGER.isInfoEnabled()) {
LOGGER.info("name: "+ actualIRI +" local: "+actualLocalFile);
}
w.write(" <uri name=\""+ actualIRI +"\" uri=\""+ actualLocalFile +"\"/>\n");
//
// In case there is a difference between the source document IRI
// and the IRI of the resolved target (e.g., there is an HTTP
// redirect from a legacy IRI to a newer IRI), then write an entry
// in the catalog that points the legacy IRI to the newer, canonical one.
// Examples of this include:
// http://purl.obolibrary.org/obo/so.owl
// which redirects to:
// http://purl.obolibrary.org/obo/so-xp.obo.owl
//
IRI documentIRI = ont.getOWLOntologyManager().getOntologyDocumentIRI(ont);
if (documentIRI != actualIRI) {
String sourceLocalFile = createLocalFileName(actualIRI);
if (LOGGER.isInfoEnabled()) {
LOGGER.info("alias: "+ documentIRI + " ==> " + actualIRI + " local: "+ sourceLocalFile);
}
w.write(" <uri name=\""+ documentIRI +"\" uri=\""+ sourceLocalFile +"\"/>\n");
}
}
w.write("</catalog>\n");
w.flush();
}