/**
* Copyright (c) 2015 Lemur Consulting Ltd.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package uk.co.flax.biosolr.ontology.core.owl;
import org.semanticweb.owlapi.vocab.OWLRDFVocabulary;
import uk.co.flax.biosolr.ontology.core.OntologyHelperConfiguration;
import java.util.List;
/**
* Ontology configuration details for an OWL-based ontology.
*
* @author Matt Pearce
*/
public class OWLOntologyConfiguration extends OntologyHelperConfiguration {
/** Default label property */
public static final String LABEL_PROPERTY_URI = OWLRDFVocabulary.RDFS_LABEL.toString();
/** Default synonym property */
public static final String SYNONYM_PROPERTY_URI = "http://www.geneontology.org/formats/oboInOwl#hasExactSynonym";
/** Default definition property */
public static final String DEFINITION_PROPERTY_URI = "http://purl.obolibrary.org/obo/IAO_0000115";
private final String ontologyUri;
private final List<String> labelPropertyUris;
private final List<String> synonymPropertyUris;
private final List<String> definitionPropertyUris;
private final List<String> ignorePropertyUris;
/**
* Build the OWL ontology configuration for an OWL OntologyHelper
* instance.
* @param ontologyUri the URI of the ontology.
* @param labelUris the label property or properties that should be used.
* @param synonymUris the synonym properties that should be used.
* @param definitionUris the definition properties that should be used.
* @param ignoreUris the properties that should be ignored. <b>Not used.</b>
*/
public OWLOntologyConfiguration(String ontologyUri, List<String> labelUris, List<String> synonymUris, List<String> definitionUris, List<String> ignoreUris) {
this.ontologyUri = ontologyUri;
this.labelPropertyUris = labelUris;
this.synonymPropertyUris = synonymUris;
this.definitionPropertyUris = definitionUris;
this.ignorePropertyUris = ignoreUris;
}
/**
* @return the URI of the ontology.
*/
public String getOntologyUri() {
return ontologyUri;
}
/**
* @return the label property or properties for this ontology.
*/
public List<String> getLabelPropertyUris() {
return labelPropertyUris;
}
/**
* @return the synonym properties for this ontology.
*/
public List<String> getSynonymPropertyUris() {
return synonymPropertyUris;
}
/**
* @return the definition properties for this ontology.
*/
public List<String> getDefinitionPropertyUris() {
return definitionPropertyUris;
}
public List<String> getIgnorePropertyUris() {
return ignorePropertyUris;
}
}