Deprecated. This material represents early efforts and may be of interest to historians. It doe not describe current VIVO efforts.
...
The standard way of requesting Linked Open data is an HTTP request to the URI of the individual in question, with the Accept
header on the request indicating the desired format. If there is no Accept
header, it is assumed to be text/html
, and the standard profile page is returned.
Response format | URL | Accept header | RDF/XMLResponse format | Response MIME type | |
---|---|---|---|---|---|
http://vivo.mydomain.edu/individual/n3639 | application/rdf+xml | RDF/XML | application/rdf+xml N3 | ||
http://vivo.mydomain.edu/individual/n3639 | text/n3 | N3Turtle | text/n3 | ||
http://vivo.mydomain.edu/individual/n3639 | text/turtle | Turtle | text/turtle JSON-LD | ||
http://vivo.mydomain.edu/individual/n3639 | application/json | JSON-LD | application/json |
The different responses may also be explicitly requested by URL. In fact, the requests listed above will simply redirect the browser to these URLs:
URL | Response format | URL | RDF/XMLResponse MIME type | |
---|---|---|---|---|
http://vivo.mydomain.edu/individual/n3639/n3639.rdf | RDF/XML | application/rdf+xml | ||
http:/ | N3 | http://vivo.mydomain.edu/individual/n3639/n3639.n3 | N3Turtle | text/n3 |
http://vivo.mydomain.edu/individual/n3639/n3639.ttl | Turtle | text/turtle JSON-LD | ||
http://vivo.mydomain.edu/individual/n3639/n3639.jsonld | JSON-LD | application/json |
Finally, VIVO allows you to request Linked Open Data in a way that is not specified by the standard. You can make an HTTP GET request to the URI of the individual, and include a format
parameter that specifies the format of the response.
URL | Response format | URL | RDF/XMLResponse MIME type |
---|---|---|---|
http://vivo.mydomain.edu/individual/n3639?format=rdfxml | RDF/XML | application/rdf+xml N3 | |
http://vivo.mydomain.edu/individual/n3639?format=n3 | N3Turtle | text/n3 | |
http://vivo.mydomain.edu/individual/n3639?format=ttl | Turtle | text/turtle JSON-LD | |
http://vivo.mydomain.edu/individual/n3639?format=jsonld | JSON-LD | application/json |
...
This statement over-simplifies slightly. In VIVO, object properties and data properties can be public, or restricted to some extent. The RDF for an individual will contain only public properties.
Let's say that we have a faculty member with just a few items on his profile page. It might look like this:
...
Here is the RDF for this person, produced by a request for http://vivo.mydomain.edu/individual/n3639
. In this example, the RDF is expressed in for the example, in N3 format.
Code Block |
---|
@prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix vcard: <http://www.w3.org/2006/vcard/ns#> . @prefix obo: <http://purl.obolibrary.org/obo/> . @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#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix vivo: <http://vivoweb.org/ontology/core#> . <http://vivo.mydomain.edu/individual/n3639> a vivo:FacultyMember , foaf:Person , owl:Thing , foaf:Agent , obo:BFO_0000002 , obo:BFO_0000001 , obo:BFO_0000004 ; rdfs:label "Baker, Able "^^xsd:string ; obo:ARG_2000028 <http://vivo.mydomain.edu/individual/n3972> ; obo:RO_0000053 <http://vivo.mydomain.edu/individual/n475> , <http://vivo.mydomain.edu/individual/n7850> ; vitro:mostSpecificType vivo:FacultyMember ; vivo:freetextKeyword "Potrezebie, Chattanooga" ; vivo:hasCollaborator <http://vivo.mydomain.edu/individual/n7429> ; vivo:relatedBy <http://vivo.mydomain.edu/individual/n3401> , <http://vivo.mydomain.edu/individual/n5855> , <http://vivo.mydomain.edu/individual/n2421> ; vivo:researchOverview "Whatever strikes my fancy." ; vivo:scopusId "abaker" . <http://vivo.mydomain.edu/individual/n3972> a vcard:Kind , obo:BFO_0000031 , owl:Thing , obo:ARG_2000379 , obo:IAO_0000030 , obo:BFO_0000002 , obo:BFO_0000001 , vcard:Individual ; obo:ARG_2000029 <http://vivo.mydomain.edu/individual/n3639> . <http://vivo.mydomain.edu/individual/n475> a owl:Thing , obo:BFO_0000023 , vivo:InvestigatorRole , obo:BFO_0000002 , obo:BFO_0000017 , vivo:PrincipalInvestigatorRole , obo:BFO_0000020 , obo:BFO_0000001 , vivo:ResearcherRole ; obo:RO_0000052 <http://vivo.mydomain.edu/individual/n3639> . <http://vivo.mydomain.edu/individual/n7850> a owl:Thing , obo:BFO_0000023 , obo:BFO_0000017 , obo:BFO_0000002 , obo:BFO_0000020 , obo:BFO_0000001 , vivo:LeaderRole ; rdfs:label "Lead Guitarist"^^xsd:string ; obo:RO_0000052 <http://vivo.mydomain.edu/individual/n3639> . <http://vivo.mydomain.edu/individual/n7429> a foaf:Person , vivo:FacultyMember , foaf:Agent , owl:Thing , obo:BFO_0000002 , obo:BFO_0000001 , obo:BFO_0000004 ; rdfs:label "Dog, Charlie" . <http://vivo.mydomain.edu/individual/n3401> a owl:Thing , vivo:Relationship , obo:BFO_0000002 , obo:BFO_0000020 , obo:BFO_0000001 , vivo:Authorship ; vivo:relates <http://vivo.mydomain.edu/individual/n3639> . <http://vivo.mydomain.edu/individual/n5855> a vivo:FacultyPosition , owl:Thing , vivo:Relationship , obo:BFO_0000002 , obo:BFO_0000020 , obo:BFO_0000001 , vivo:Position ; rdfs:label "Functionary"^^xsd:string ; vivo:relates <http://vivo.mydomain.edu/individual/n3639> . <http://vivo.mydomain.edu/individual/n2421> a owl:Thing , vivo:Relationship , obo:BFO_0000002 , obo:BFO_0000020 , obo:BFO_0000001 , vivo:Grant ; rdfs:label "Cosmogenic Lassitude in Phlegmatic Axolotls" ; vivo:relates <http://vivo.mydomain.edu/individual/n3639> . obo:BFO_0000001 a owl:Class ; rdfs:label "Entity" . obo:BFO_0000002 a owl:Class ; rdfs:label "Continuant" . obo:BFO_0000004 a owl:Class ; rdfs:label "Independent Continuant"@en-US . vivo:FacultyMember a owl:Class ; rdfs:label "Faculty Member"@en-US . foaf:Person a owl:Class ; rdfs:label "Person"@en-US . foaf:Agent a owl:Class ; rdfs:label "Agent"@en-US . owl:Thing a owl:Class . <http://vivo.mydomain.edu/individual/n3639/n3639.n3> a foaf:Document ; rdfs:label "RDF description of Baker, Able - http://vivo.mydomain.edu/individual/n3639" ; <http://purl.org/dc/elements/1.1/date> "2014-03-10T11:08:39"^^xsd:dateTime ; <http://purl.org/dc/elements/1.1/publisher> <http://vivo.mydomain.edu> ; <http://purl.org/dc/elements/1.1/rights> <http://vivo.mydomain.edu/termsOfUse> . |
The RDF information can be expressed graphically , like this:
Note |
---|
How to make them public or private, and how to obtain the private ones by logging in before requesting LOD. |
Note |
---|
List the formats we provide, with references to definitions, especially for JSONLD |
Note |
---|
A table of request URLs, accept headers, response formats and response mime types |
...
You can exclude a property from Linked Open Data, or include it, by editing the property within VIVO. Perhaps the easiest way to edit a property is to log in as a VIVO administrator, navigate to an individual's profile page, and turn on the verbose display:
Once the verbose display is turned on, scroll through the profile page to find the property you are interested in. You can see what it's current restriction levels are for display, update, and publishing. You also have a link to the control panel for that property:
Note that all Linked Open Data requests are treated as public, so any setting other than all users, including public
will exclude the property.
Navigate to the control panel for the property, and then to the editing form for the property.
Set the Publish level
as you like, and submit the changes.
Properties in VIVO can be restricted from Linked Open Data, by attaching the vitro:hiddenFromPublishBelowRoleLevelAnnot
annotation to the property.
For example, this triple in VIVO's display model would mean that the eRACommonsId
property would not be published in Linked Open Data
Code Block |
---|
<http://vivoweb.org/ontology/core#eRACommonsId>
<http://vitro.mannlib.cornell.edu/ns/vitro/0.7#hiddenFromPublishBelowRoleLevelAnnot>
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> . |
Note, however, that the standard VIVO distribution includes this triple in the display model:
Code Block |
---|
<http://vivoweb.org/ontology/core#:eRACommonsId>
<http://vitro.mannlib.cornell.edu/ns/vitro/0.7#:hiddenFromPublishBelowRoleLevelAnnot>
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> . |
You would need to remove this triple in order for the more restrictive triple to take effect.
If you ask for Linked Open Data for a non-existent individual, regardless of the form you use, VIVO will return a response code of 404 not found
.
If you ask for an unsupported format, either in the Accept
header or the format
parameter, VIVO will treat your request as a request for HTML, and will return the standard profile page for the individual. The response code will be 200 OK
.