*Deprecated* See https://wiki.duraspace.org/display/VIVODOC/All+Documentation for current documentation

The ISF ontology is based on the Basic Formal Ontology (BFO) upper ontology [6]. BFO provides a model for how independent continuant entities (objects, people, and other physical things) can interact with each other over time in processes. A process is, more or less, a dynamic interaction or relationship between things and it usually implies actual activities and change over some period of time. The reified relationship model is our approach for representing relationships that are not processes (and that do not imply ongoing activities or change) but still exist over some time.

For example, if a student is assigned a mentor in an educational program, we would like to be able to capture and represent this relationship in our data. The RDF data model provides binary relationships and one can represent this example with a RDF statement such as “student_x has_mentor mentor_y” where the “has_mentor” is a directed binary relationship (a line) between the two people (the nodes) involved in the relationship. However, this binary relationship does not allow us to also capture the date the relationship started or ended, who assigned the mentoring relationship, and any other related facts. However, if we represent the “has_mentor” relationship as a first-class instance (a node instead of a line), we will be able to relate other things to the relationship. This also allows the relationship instance to have a unique identifier so that it can be referenced in other data if needed. This is the approach we take in the ISF and similar use is found in other projects such as Ontologyx [7].

The above allows us to represent a “mentorship” relationship without implying that there are any “mentoring processes”. When actual mentoring occurs, this can be captured with BFO processes, roles, and people. However, for the static aspect of the relationship we need this “reified relationship” approach. Figure 2 shows this for the “awarded degree” relationship. The instance “person X’s degree” is an instance of a reified relationship and it relates a person, a university, time/date, and the shared “PhD” degree type vocabulary entry. 

This model provides two general binary relationships to relate a reified relationship to other things. There is the “assigns” and “assigned by” pair that relates a reified relationship to an agent who asserted, created, etc. the relationship. The other general binary relationship is the “relates” and “related by” that captures the things that are being related in the reified relationship. The general model is very simple, it allows us to capture statements such as “agent_x created a relationship between things” but it is very flexible and allows for composing several relationships with each other to represent very complex data. Figure 2 above shows these relationships to indicate that a specific university was the agent that created the degree instance for a specific person and a specific degree type.


Next: ERO and VIVO migration/refactoring

  • No labels