...
Info | ||
---|---|---|
| ||
This material pertains to outdated versions of VIVO. Rather than archiving the material, it should be updated to reflect current versions of VIVO. |
SPARQL: Tools, Tips, Sample queries
Useful SPARQL queries
finding instances having only a single rdf:type assertion
- This example query looks for individuals that have
- ONLY a vivoc:AcademicDegreeGrantingAgent type assertion
- Tested by substituting vivo:Address and looking at 1 of the results
Panel |
---|
CONSTRUCT { |
Publications
Code Block |
---|
SELECT ?doi ?infoResource_label ?pmid $type ?journal ?issn ?pubVenue ?issue ?startPage ?endPage ?volume ?dateTime
WHERE{
?infoResource vivo:hasPublicationVenue ?pubVenue .
?pubVenue rdf:type bibo:Journal .
?infoResource rdf:type $anyType .
?infoResource bibo:doi ?doi .
?infoResource bibo:pmid ?pmid .
?infoResource bibo:pageStart ?startPage .
?infoResource bibo:pageEnd ?endPage .
?pubVenue bibo:issn ?issn .
OPTIONAL { ?pubVenue bibo:volume ?volume } .
OPTIONAL { ?pubVenue vivo:DateTimeValue ?dateTime } .
OPTIONAL { ?pubVenue bibo:issue ?issue } .
?pubVenue rdfs:label ?journal .
?anyType rdfs:label ?type .
?infoResource rdfs:label $infoResource_label .
} |
Authors
Code Block |
---|
SELECT ?infoResource_label ?type ?author ?firstName ?lastName ?position_label ?department ?pemail
WHERE {
?infoResource vivo:hasPublicationVenue ?pubVenue .
?pubVenue rdf:type bibo:Journal .
?infoResource rdf:type ?anyType .
?anyType rdfs:label ?type .
?infoResource vivo:informationResourceInAuthorship ?authorship .
?authorship rdf:type vivo:Authorship .
?authorship vivo:linkedAuthor ?authorURI .
?authorURI rdfs:label ?author .
?infoResource rdfs:label ?infoResource_label .
OPTIONAL { $authorURI foaf:firstName ?firstName } .
OPTIONAL { $authorURI foaf:lastName ?lastName } .
OPTIONAL { $authorURI vivo:primaryEmail ?pemail } .
?authorURI vivo:personInPosition ?position .
?position vivo:positionInOrganization $organization .
?organization rdfs:label ?department .
?position rdfs:label ?position_label .
} |
Find Authors with less than 5 publications
Useful for finding good test cases, for example. This is a Vivo 1.5 example, but could be updated pretty easily.
Code Block |
---|
SELECT ?person
WHERE
{
?person vivo:authorInAuthorship ?authorship.
}
GROUP BY ?person
HAVING (COUNT(?authorship) < 5)
LIMIT 1 |
|
SPARQL Queries for Publications and Authors
...