VIVO Documentation
Page History
Table of Contents |
---|
Concepts
Frequently, we talk about "the data model" in VIVO. But this is an over-simplification which can be useful at times, but misleading at other times. In fact, VIVO contains a matrix of data models and sub-models, named graphs, datasets and other constructs.
...
In VIVO release 1.6, we are attempting to simplify this complex collection of models, and to produce a unified access layer. This is a work in progress. And regardless of how clean the design might eventually become, this will remain an area with complex requirements which cannot be satisfied by simplistic solutions.
Divisions in the knowledge base
Depending on what you want to do with the data, it can be useful to sub-divide it by one or more of the following criteria:
Types of statements
An RDF model is often divided into ABox (assertions) and TBox (terminology). In RDF, there is no technical distinction between TBox and ABox data. They are stored separately because they are used for different purposes. The combination of the two is informally called the Full model.
Data type | Example data | |
---|---|---|
TBox | "Terminological data" The data that defines classes, properties, and relationships in your ontology. |
|
ABox | "Assertion data" The data that enumerates the individual instances of your classes and describes them. |
|
Full | The TBox and the ABox together, treated as a single model. For example, when you use the RDF tools to remove statements, you want them removed regardless of whether they are found in the TBox or the ABox. |
Source of statements
An RDF model can also be divided into Assertions and Inferences. The combination of the two is informally called the Union.
Statement type | Meaning | Example data |
---|---|---|
Assertions | The RDF statements that you explicitly add to the model, either through setup, ingest, or editing. | local:tobyink rdfs:type core:FacultyMember . |
Inferences | The RDF statements that the semantic reasoner adds to the model, by reasoning about the assertions, or about other inferences. |
|
Union | The combination of Assertions and Inferences. For most purposes, this is the desired model. You want to know what statements are available, without regard to whether they were asserted or inferred. |
"Content" vs. "Context"
We sometimes distinguish between the data that VIVO is serving (Content) and the data that VIVO itself uses (Context). The Content is available for display, for searching, for serving as Linked Open Data. The Context controls how the content is displayed, who can access the data, and what VIVO itself looks like.
Model type | Purpose | Examples |
---|---|---|
Context | Data about the VIVO application itself. | Configuration data User Accounts Display options |
Content | The payload - the data that VIVO is intended to distribute. | People data Publications data Grant data etc. |
Model lifespan
The knowledge base exists for as long as VIVO is running. However, subsets or facets of the knowledge base are often used to satisfy a particular HTTP request, or through the length of a login session for a particular user. These subsets are created dynamically from the full knowledge base, used for as long as they are useful, and then discarded.
...