Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

VIVO provides the capability to add ontologies and use them to describe your data and for query.  You can add your own, or pre-existing ontologies.  In each case, the ontology to be added will appear in the VIVO Ontology List along with ontologies provided with VIVO.

If your ontology assertions contain an owl:Ontology assertion giving the URI of your ontology, your ontology will appear in Site Admin → Ontology List.  Otherwise, your ontology assertions will be added to be VIVO and will be fully functional as classes, object properties, and data properties, but will not be associated with a named ontology.

Using the Web Interface

Create an Ontology from the Web Interface

To create an ontology from the web interface, follow the steps in Create, Assign, and Use an Institutional Internal Class.  These instructions show how to create an ontology using the web interface.  Once your ontology is created, you can add an Institutional Class as described, additional classes, data properties and Object properties.  You may create as many additional ontologies as you need.

Load an Existing Ontology as Data

You can add an ontology from a file into VIVO using the Add/Remove RDF Data feature shown on the Site Admin page.  This method is simple, but not recommended for production sites.  Your ontology will be loaded into the VIVO main data graph and could be very difficult to remove.  Much preferred for production sites is the following method, Loading to a Named Graph.

Load an Existing Ontology to a Named Graph

Use Site Admin → Ingest Tools → Manage Jena Models → Create Jena Model

Give your named graph (Jena calls them models) a name such as myOntology.owl

Image Added

You will see your ontology represented as an empty named graph in the list of Graphs.  

Click Load RDF data, and upload your ontology file to your named graph.

In this way, you keep your ontology assertions separate from other VIVO assertions.  You can drop the graph, and/or reload it as needed.

Loading from Filegraphs

There is another mechanism for incorporating ontologies into VIVO.  This involves "filegraphs," and is how the VIVO ontology is included with the software.  Filegraphs are RDF documents stored in the VIVO home directory.  Each filegraph corresponds to a single named graph in the triple store.  Every time Tomcat starts, VIVO checks each of these graphs to ensure that its contents exactly match the triples found in the corresponding file.  If the file has changed, VIVO makes the necessary modifications to the corresponding named graph in the triple store.  If a filegraph is removed from its directory, its graph in the triple store will be deleted the next time Tomcat starts.

...

Modifying or removing the myOntology.owl file in the filegraph directory and restarting Tomcat will automatically remove the named graph.

Namespace Prefixes

Additional ontologies, whether directly imported via 'Add/Remove RDF data' or implemented as filegraphs, are listed in the ontology list ('Site Admin > Ontology list'). While the ontologies name and namespace are automatically added to the list, the prefix is not. Instead, the note '(not yet specified)' appears. This behavior occurs even if the prefix is correctly specified in the RDF file.

For ontologies that are added to an existing VIVO installation, the prefix needs to be entered manually into the ontology list. If the additional ontology is to be provided with the software before installation, however, the prefix to be added automatically during the build process can be specified beforehand.

Info
titleNote

The following procedure is only relevant if you want to add an ontology before the software is installed on a server.

VIVO keeps an internal record of prefixes that is read from the /rdf/tbox/firsttime/ directory. The prefixes of the ontologies that are loaded with VIVO are specified in the 'initialTBoxAnnotations.n3' file. You can add an additional prefix by adding the following lines either to this file or to a separate file:

Code Block
languagexml
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vitro:   <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://*URI/of/the/added/ontology*>
	rdfs:label "*Name of added ontology*" @en-US;
	vitro:ontologyPrefixAnnot "*OntologyPrefix*"^^xsd:string

owl:Ontology statements result in the ontology being added to VIVO's Ontology List.  You might see an entry such as:

Image Added

Indicating that the ontology you have added does not have a label or prefix.

Specify a label and a prefix for your ontology as shown below:

Code Block
    <owl:Ontology rdf:about="http://any.ontology.org/core/">
        <rdfs:label xml:lang="en-US">My Ontology</rdfs:label>
        <vitro:ontologyPrefixAnnot xml:lang="en-US">myo</vitro:ontologyPrefixAnnot>
    </owl:Ontology>

Restarting Tomcat to reload the filegraph will display your prefix and labelOf course, the strings enclosed by asterisks need to be adapted according to your custom ontology. After VIVO is built, you should find the new ontology in the ontology list, with its specified prefix.