Old Release

This documentation relates to an old version of VIVO, version 1.9.x. Looking for another version? See all documentation.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Incomplete

This page is being written. Please contact Mike Conlon if you have suggestions for this page.

Overview

VIVO can be used to mange the hierarchical structure, or organizational chart, of any organization.  We describe how VIVO represents organizational structure, and how to create data that can be loaded into VIVO to represent the structure of an organization.  The Sample Data has a sample university, with sample colleges and departments, illustrating the techniques described here.

"hasPart, partOf"

VIVO uses the Basic Formal Ontology "hasPart" to indicate that organization A "hasPart" organization B.  Sample University has a College of Science.  We say College of Science "partOf" Sample University.  VIVO will automatically assert Sample University "hasPart" College of Science.

The Basic Formal Ontology has been implemented as part of the Open Biomedical Ontologies (OBO). They have coded "hasPart" as "BFO_0000051"  and "partOf" is "BFO_0000050"  VIVO uses the OBO representation which can be found here: http://purl.obolibrary.org/obo/

Your Organizational Data

To manage organizations in VIVO, you will need to create data representing your organizations and your organizational structure.  This is easy to do using a spreadsheet.  Simply create one row for each organization in your institution.  For example, the table below shows two colleges as part of Sample University, and each college has one or more departments.  The Department of Chemistry has a division – Organic Chemistry.

Your URI will contain your domain name.  In this example we have structured the URI.  VIVO URI always start with the domain, followed by "/individual/" followed by a URI of your choice.  Here we have used a tag "org" to indicate URIs for organizations.  This will make the URI easier to find.  We then use the name of the organization, with each word capitalized.  URI must be unique.  If two organizations within your institution have the same name, you will need to make unique URI for each – you might add a "1" to the end of one of the URI, for example.

Add as many rows as it takes to represent the organizations within your institution.  You can start with some, load them to VIVO (see below), and create more rows and reload, eventually building up a complete set of organizations.

OrgURITypeNamePartOfURI
http://vivo.mydomain.edu/individual/orgSampleUniversityuniversitySample University
http://vivo.mydomain.edu/individual/orgCollegeOfSciencecollegeCollege of Sciencehttp://vivo.mydomain.edu/individual/orgSampleUniversity
http://vivo.mydomain.edu/individual/orgPhysicsdepartmentPhysicshttp://vivo.mydomain.edu/individual/orgCollegeOfScience
http://vivo.mydomain.edu/individual/orgChemistrydepartmentChemistryhttp://vivo.mydomain.edu/individual/orgCollegeOfScience
http://vivo.mydomain.edu/individual/orgOrganicChemistrydivisionOrganic Chemistryhttp://vivo.mydomain.edu/individual/orgChemistry
http://vivo.mydomain.edu/individual/orgCollegeOfTheArtscollegeCollege of the Artshttp://vivo.mydomain.edu/individual/orgSampleUniversity
http://vivo.mydomain.edu/individual/orgTheaterAndDancedepartmentTheater and Dancehttp://vivo.mydomain.edu/individual/orgCollegeOfTheArt

Making Triples

To load data into VIVO, you will make triples out of your organizational data.  You can use Karma, SAS, python, XSLT, or your own scripts, or a text editor.

To load your organizational data into VIVO, you will transform your spreadsheet into triples.  Each row of the spreadsheet will result in three triples: 1) a triple that asserts that the OrgURI is an organization of a particular type; 2) a triple that asserts that the organization has a particular name; and 3) a triple that asserts that the organization is part of another organization.  Notice that the first row in the spreadsheet will generate two triples – Sample University is not part of another organization.  The other six rows will generate 3 triples each.  We will have 20 triples in all 2 + 3 * 6 = 20.  The triples are shown below.  Notes follow.

Sample Triples
<http://vivo.mydomain.edu/individual/orgSampleUniversity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#University> .
<http://vivo.mydomain.edu/individual/orgSampleUniversity> <http://www.w3.org/2000/01/rdf-schema#label> "Sample University"@en-US .
<http://vivo.mydomain.edu/individual/orgCollegeOfScience> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#College> .
<http://vivo.mydomain.edu/individual/orgCollegeOfScience> <http://www.w3.org/2000/01/rdf-schema#label> "College of Science"@en-US .
<http://vivo.mydomain.edu/individual/orgCollegeOfScience> <http://purl.obolibrary.org/obo/BFO_0000050>  <http://vivo.mydomain.edu/individual/orgSampleUniversity> .
<http://vivo.mydomain.edu/individual/orgPhysics> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Department> .
<http://vivo.mydomain.edu/individual/orgPhysics> <http://www.w3.org/2000/01/rdf-schema#label> "Physics"@en-US .
<http://vivo.mydomain.edu/individual/orgPhysics> <http://purl.obolibrary.org/obo/BFO_0000050>  <http://vivo.mydomain.edu/individual/orgCollegeOfScience> .
<http://vivo.mydomain.edu/individual/orgChemistry> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Department> .
<http://vivo.mydomain.edu/individual/orgChemistry> <http://www.w3.org/2000/01/rdf-schema#label> "Chemistry"@en-US .
<http://vivo.mydomain.edu/individual/orgChemistry> <http://purl.obolibrary.org/obo/BFO_0000050>  <http://vivo.mydomain.edu/individual/orgCollegeOfScience> .
<http://vivo.mydomain.edu/individual/orgOrganicChemistry> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Division> .
<http://vivo.mydomain.edu/individual/orgOrganicChemistry> <http://www.w3.org/2000/01/rdf-schema#label> "Organic Chemistry"@en-US .
<http://vivo.mydomain.edu/individual/orgOrganicChemistry> <http://purl.obolibrary.org/obo/BFO_0000050>  <http://vivo.mydomain.edu/individual/orgChmistry> .
<http://vivo.mydomain.edu/individual/orgCollegeOfTheArts> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#College> .
<http://vivo.mydomain.edu/individual/orgCollegeOfTheArts> <http://www.w3.org/2000/01/rdf-schema#label> "College of the Arts"@en-US .
<http://vivo.mydomain.edu/individual/orgCollegeOfTheArts> <http://purl.obolibrary.org/obo/BFO_0000050>  <http://vivo.mydomain.edu/individual/orgSampleUniversity> .
<http://vivo.mydomain.edu/individual/orgTheaterAndDance> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Department> .
<http://vivo.mydomain.edu/individual/orgTheaterAndDance> <http://www.w3.org/2000/01/rdf-schema#label> "Theater and Dance"@en-US .
<http://vivo.mydomain.edu/individual/orgTheaterAndDance> <http://purl.obolibrary.org/obo/BFO_0000050>  <http://vivo.mydomain.edu/individual/orgCollegeOfTheArts> .

Notes regarding the triples

  1. The triples are shown in N-triples format and should be stored in a file with the file type ".nt"  Elements of the triples are either URI (in brackets) or strings (in double quotes with a language tag). Each triple ends with a period.
  2. Each triple is of the form subject predicate object.  The subject is always a URI (in brackets) and is a URI you specify in your table of data.
  3. The predicates are from the ontologies VIVO uses to represent data.  They are also always URI (in brackets).  There are three kinds of assertions being made.  Each has its own predicate:
    1. The predicate to assert a type is  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
    2. The predicate to assert a name, known as a label, is <http://www.w3.org/2000/01/rdf-schema#label>
    3. The predicate to assert that the organization is part of another organization is <http://purl.obolibrary.org/obo/BFO_0000050>



  • No labels