Skip to content

Ontologies in VITRO

cuboideum edited this page Feb 18, 2016 · 7 revisions

In order to be properly imported into VITRO, filegraphs (i.e. ontologies designed to extend VITROs knowledge graph) need to use specific axioms. Some of these are defined in the VITRO ontology.

Ontology specifications

The information specified in these axioms will be displayed by VITRO in the list of loaded ontologies that can be accessed through Site Admin > Ontology list.

rdfs:label This standard rdf declaration will be listed under 'Ontology'. VIVO uses en-us as standard locale.
Example:
<rdfs:label xml:lang="en-us">RDF Bones</rdfs:label>

rdf:about
This standard rdf declaration will be listed under 'Namespace'.
Example:
<Ontology rdf:about="http://w3id.org/rdfbones/core">
</Ontology>

vitro:ontologyPrefixAnnot
The list will only display a prefix using this VITRO axiom. Other axioms (e.g. oboInOwl:default-namespace) will not be respected.
Example:
<vitro:ontologyPrefixAnnot rdf:datatype="&rdfs;Literal">rdfbones</vitro:ontologyPrefixAnnot>

Property specifications

Annotations for both object and data properties

Annotations addressing ontology editors

obo:IAO_0000112 ('example of usage')
The text is only displayed to logged-in administrators in the 'Property control panel'. So it should be targeted at persons writing new ontologies or ontology extensions. Example:
<obo:IAO_0000112 rdf:datatype="&xsd;string">A plaster cast from a Homo erectus mandible is a physical representation of the mandible itself.</obo:IAO_0000112>

vitro:descriptionAnnot
The value is only displayed to logged-in administrators in the 'Property control panel'. So it should be targeted at persons writing new ontologies or ontology extensions. If necessary, it can be rather long.
Example:
<vitro:descriptionAnnot rdf:datatype="&xsd;string">An artefact that has been specifically manufactured in order to resemble a specific material object is a physical representation of this particular object.</vitro:descriptionAnnot>

Annotations configuring display on profile pages

vitro:inPropertyGroupAnnot
References a previously defined property group. On VITRO profile pages, properties are grouped into tabs. A property's group affiliation configures in which tab it will be displayed. The VIVO property groups are defined in the file /VIVO/rdf/applicationMetadata/firsttime/propertygroups.rdf.
Example:
<vitro:inPropertyGroupAnnot rdf:resource="http://vivoweb.org/ontology#vitroPropertyGroupresearch"/>

rdfs:label
The label will be displayed in the VITRO GUI. So it should not be in camelCase or any other form that is undesirable for that purpose.
Example:
<rdfs:label xml:lang="en-us">is physical representation of</rdfs:label>

vitro:publicDescriptionAnnot
The text will appear as a tooltip while the cursor hovers over the object properties label in the VITRO GUI. So it should be targeted at end users, be short and pointedly explain when to use the property. Object properties and their inverse properties share the same public description."
Example:
<vitro:publicDescriptionAnnot rdf:datatype="&xsd;string">An object that this artefact is made to resemble.</vitro:publicDescriptionAnnot>

vitro:displayRankAnnot
An integer value that configures the 'Display tier' as it is called in VITRO's 'Property editing form'. The properties listed within a tab on a profile page are sorted according to this value.
Example:
<vitro:displayRankAnnot rdf:datatype="&xsd;int">11</vitro:displayRankAnnot>

vitro:displayLimitAnnot
An integer value that configures how many individuals addressed by this object property will be displayed directly on a profile page. Users will have to click a 'more...' link to display all individuals.
Example:
<vitro:displayLimitAnnot rdf:datatype="&xsd;int">33</vitro:displayLimitAnnot>

Annotations configuring entry forms

Entry forms appear after clicking on the '+' button displayed with each property.

vitro:customEntryFormAnnot
A string value, defining the path of a Java file within the VITRO directory /vitro/webapp/src/. Directories are separated by periods. The specified file configures the entry form that can be called with the '+' button displayed with the property. In addition to selecting (object properties only) and/or creating individuals to be referenced, there might be input fields for properties relating to newly created individuals.
Example:
<vitro:customEntryFormAnnot rdf:datatype="&xsd;string">edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DateTimeIntervalFormGenerator</vitro:customEntryFormAnnot>

Annotations configuring access rights

vitro:prohibitedFromUpdateBelowRoleLevelAnnot
The value must be a level defined in VITRO's access rights management. Lower levels will not be allowed to make changes to property instances through the GUI.
Example:
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>

Annotations exclusively for object properties

Annotations configuring display on profile pages

vitro:individualSortDirectionAnnot The annotation property can only render the string 'desc' and configures the 'Sort order' mentioned in VITRO's 'Property Editing Form. If it is set, displayed individuals referenced by the object property value will be listed alphabetically according to their 'rdfs:label' statements in descending order. Not setting the property will result in ascending sort order.
Example:
<vitro:individualSortDirectionAnnot rdf:datatype="&xsd;string">desc</vitro:individualSortDirectionAnnot>

vitro:collateBySubclassAnnot
A boolean value, configuring whether individuals referenced by the object property should be grouped according to their class affiliation or rendered in one list.
Example:
<vitro:collateBySubclassAnnot rdf:datatype="&xsd;boolean">true</vitro:collateBySubclassAnnot>

Annotations configuring entry forms

vitro:selectFromExistingAnnot
This boolean value defines whether VITRO will offer a selection of existing instances from the property's range or not.
Example:
<vitro:selectFromExistingAnnot rdf:datatype="&xsd;boolean">true</vitro:selectFromExistingAnnot>

vitro:offerCreateNewOptionAnnot
This boolean value defines whether VITRO will offer the option to create a new instance of a class from the property's range or not.
Example:
<vitro:offerCreateNewOptionAnnot rdf:datatype="&xsd;boolean">true</vitro:offerCreateNewOptionAnnot>

Annotations of uncertain use

vitro:hiddenFromPublishBelowRoleLevelAnnot
The value must be a level defined in VITRO's access rights management. The exact use is not quite clear, especially the difference to 'vitro:hiddenFromDisplayBelowRoleLevelAnnot' and 'vitro:prohibitedFromUpdateBelowRoleLevelAnnot'.
Example:
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#curator"/>

Class specifications

Annotations addressing ontology editors

obo:IAO_0000115 ('Definition')
The VITRO description, "Short definition to display publicly", is the same as for 'vitro:publicDescriptionAnnot' with properties. In the case of classes, however, the text is not exactly displayed publicly, but only to logged-in users who are able to access the class hierarchy display. There it is shown right underneath the class label.
Example:
<obo:IAO_0000115 rdf:datatype="&xsd;string">Short definition to display publicly.</obo:IAO_0000115>

obo:IAO_0000112 ('example of usage')
The text is only displayed to logged-in administrators in the 'Class control panel'. So it should be targeted at persons writing new ontologies or ontology extensions.

vitro:descriptionAnnot
The value is only displayed to logged-in administrators in the 'Class control panel'. So it should be targeted at persons writing new ontologies or ontology extensions. If necessary, it can be rather long.

vitro:inClassGroup
References a previously defined class group. Classes are sorted into such groups for easier access from ontology editing tools. The VIVO class groups are defined in the file /VIVO/rdf/applicationMetadata/firsttime/classgroups.rdf.
<vitro:inClassGroup rdf:resource="http://vivoweb.org/ontology#vitroClassGrouppublications"/>

Annotations configuring display on profile pages

rdfs:label
The value is displayed on the profile page, right next to the individual's title.
Example:
<rdfs:label xml:lang="en-us">Test Class</rdfs:label>

vitro:displayRankAnnot
An integer value that configures the 'Display rank' as it is called in VITRO's 'Class editing form'. Individuals are sorted according to the display rank in lists that are collated by class, i.e. 'vitro:collateBySubclassAnnot' is set to 'true' for the referencing object property.
<vitro:displayRankAnnot rdf:datatype="&xsd;int">11</vitro:displayRankAnnot>

vitro:hiddenFromDisplayBelowRoleLevelAnnot
The value must be a level defined in VITRO's access rights management. Lower levels will not have the property displayed in the GUI.
Example:
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>

Annotations configuring access rights

vitro:prohibitedFromUpdateBelowRoleLevelAnnot
The value must be a level defined in VITRO's access rights management. Lower levels will not be allowed to make changes to property instances through the GUI.
Example:
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>

Annotations of uncertain use

vitro:displayLimitAnnot
The annotation seems to be set automatically to the default value '-1'. It cannot be set from the VITRO GUI but would have to be edited with an external editor.
Example:
<vitro:displayLimitAnnot rdf:datatype="&xsd;int">-1</vitro:displayLimitAnnot>

vitro:customEntryFormAnnot
There is a filed for setting custom entry forms in VITRO's 'Class editing form' from which this annotation can be set for classes. However, there does not seem to be a VIVO class for which this has actually been done. Also, it is not clear what effect this would have, as custom entry forms are commonly defined for the properties for which a reference is to be established.

vitro:hiddenFromPublishBelowRoleLevelAnnot
The value must be a level defined in VITRO's access rights management. The exact use is not quite clear, especially the difference to 'vitro:hiddenFromDisplayBelowRoleLevelAnnot' and 'vitro:prohibitedFromUpdateBelowRoleLevelAnnot'.
Example:
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#curator"/>

Clone this wiki locally