ShareDoc:Search API: Difference between revisions

(Created page with "==<span class="mw-headline">Stats</span>== The /stats endpoint returns high-level aggregations about the whole knowledge base. There's an "extended" boolean parameter which drives the response format, specifically: When it is set to false, the response is very concise, see the following example:<syntaxhighlight lang="json"> { "item": 137, "agent": { "person": 54, "organization": 16, "family": 16, "meeting": 9 }, "instance": 146, "opus": 120,...")
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div style="border:1px solid #f5c6cb; background:#f8d7da; padding:10px; margin:10px 0;">
'''Warning:''' The root searches <code>/works</code>, <code>/instances</code>,
<code>/items</code> and <code>/dates</code> require the '''svde-editor-base''' role and are not
accessible with the <code>svde-resource-read</code> scope alone. A read-only integrator must use
hierarchical navigation instead.
</div>
==<span class="mw-headline">Stats</span>==
==<span class="mw-headline">Stats</span>==
The /stats endpoint returns high-level aggregations about the whole knowledge base. There's an "extended" boolean parameter which drives the response format, specifically:
The /stats endpoint returns high-level aggregations about the whole knowledge base. There's an "extended" boolean parameter which drives the response format, specifically:
Line 56: Line 63:
</syntaxhighlight>
</syntaxhighlight>
==<span id="Resource_2" class="mw-headline">Resource</span>==
==<span id="Resource_2" class="mw-headline">Resource</span>==
<div style="border:1px solid #ffeeba; background:#fff3cd; padding:10px; margin:10px 0;">
'''Note:''' this endpoint is temporarily unavailable on some environments (a server-side error is being
fixed). Check its status before relying on it in an integration.
</div>
A ShareVDE resource is an abstract and high-level concept which maps agents and opuses.
A ShareVDE resource is an abstract and high-level concept which maps agents and opuses.


Line 70: Line 84:
|-
|-
|q
|q
|String
| String
|An agent query expressed in [[ShareVDEmembers:APIdoc/Query Languages#SvdeQL|SVDEQL]] or TermsQL (terms)
|An agent query expressed in [[ShareVDEmembers:APIdoc/Query Languages#SvdeQL|SVDEQL]] or TermsQL (terms)
|1
|1
Line 78: Line 92:
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
| 0...1
|N.A.
|N.A.  
|-
|-
|offset
| offset
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
|0...1
|0
| 0
|-
|-
|rows
|rows
Line 91: Line 105:
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
|10
|10  
|-
|-
|partialMatch
|partialMatch
Line 101: Line 115:
|[[ShareDoc:API documentation#Filters|filter]]
|[[ShareDoc:API documentation#Filters|filter]]
|String
|String
|A filter clause used for refining search results
|A filter clause used for refining search results  
|0...n
|0...n
|N.A.
|N.A.
|}
|}
==<span id="Agent" class="mw-headline">Agent</span>==
==<span id="Agent" class="mw-headline">Agent</span>==
The Agent is an abstract concept which concretely maps people, organisations, conferences, families, jurisdictions, etc., that play a role (or even multiple roles) such as authors, editors, distributors, illustrator, publisher, etc.
The Agent is an abstract concept which concretely maps people, organisations, conferences, families, jurisdictions, etc., that play a role (or even multiple roles) such as authors, editors, distributors, illustrator, publisher, etc.
Line 125: Line 141:
|N.A.
|N.A.
|-
|-
|mode
|mode  
|Enum
|Enum
|One among '''fts''' (fulltext search) and '''typeahead'''
|One among '''fts''' (fulltext search) and '''typeahead'''
|0...1
|0...1  
|fts
|fts
|-
|-
|sort
|sort
|String
|String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
|N.A.
|N.A.  
|-
|-
|offset
|offset
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
| 0...1
|0
|0
|-
|-
|rows
|rows  
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
Line 151: Line 167:
|fuzzy
|fuzzy
|Boolean
|Boolean
|Enables / disables the fuzzy logic (typeahead mode only)
|Enables / disables the fuzzy logic (typeahead mode only)  
|0...1
|0...1
|true
|true
Line 193: Line 209:
|0
|0
|-
|-
|rows
| rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
|10
|10  
|-
|-
|sort
|sort
Line 208: Line 224:
|String
|String
|A filter clause used for refining search results
|A filter clause used for refining search results
|0...n
| 0...n
|N.A.
|N.A.
|-
|-
|role
|role
|String
|String
|The relator code used for refining the type of contribution
| The relator code used for refining the type of contribution
|0...1
|0...1
|N.A.
| N.A.  
|}<span id="Examples_2" class="mw-headline">'''Examples'''</span>
|}<span id="Examples_2" class="mw-headline">'''Examples'''</span>
*[https://sit2-base-svde.atcult.it/agents.json?q=agents%20whose%20name%20contains%20carroll Agents whose names contains carroll]
*[https://sit2-base-svde.atcult.it/agents.json?q=agents%20whose%20name%20contains%20carroll Agents whose names contains carroll]
Line 223: Line 239:
*[https://sit2-base-svde.atcult.it/agents.json?q=carto&mode=typeahead&fuzzy=false Agents typeahead search using '''carto''' (no fuzzy)]
*[https://sit2-base-svde.atcult.it/agents.json?q=carto&mode=typeahead&fuzzy=false Agents typeahead search using '''carto''' (no fuzzy)]
*[https://sit2-base-svde.atcult.it/agents/201.json Lewis Carroll]
*[https://sit2-base-svde.atcult.it/agents/201.json Lewis Carroll]
===Works by an agent vs. works about an agent===
For each agent type (<code>agents</code>, <code>people</code>, <code>organizations</code>, <code>meetings</code>, <code>families</code>) there are two distinct navigations, not to be confused:
* <code>GET /{type}/{id}/opuses</code> — works the agent is the '''author/contributor''' of.
*<code>GET /{type}/{id}/opuses/about</code> — works that have the agent '''as their subject''' (the
  agent is the topic of the work, not its author).
Parameters of <code>/opuses/about</code> (all optional): <code>sort</code>, <code>rows</code>, <code>offset</code>, <code>filter</code> (repeatable).
Example: <code>GET /people/{id}/opuses</code> returns the books written by a person; <code>GET /people/{id}/opuses/about</code> returns the books written '''about''' that person.
==<span id="Person" class="mw-headline"><span id="Agent" class="mw-headline">Person</span></span>==
==<span id="Person" class="mw-headline"><span id="Agent" class="mw-headline">Person</span></span>==
A person is an individual or identity established by an individual (either alone or in collaboration with one or more other individuals). It is a concrete subclass of Agent and provides a set of attributes, both datatype and object properties which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.
A person is an individual or identity established by an individual (either alone or in collaboration with one or more other individuals). It is a concrete subclass of Agent and provides a set of attributes, both datatype and object properties which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.
Line 255: Line 279:
|N.A.
|N.A.
|-
|-
|offset
|offset  
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
|0...1  
|0
|0
|-
|-
Line 271: Line 295:
|Enables / disables the fuzzy logic (typeahead mode only)
|Enables / disables the fuzzy logic (typeahead mode only)
|0...1
|0...1
|true
| true
|-
|-
|edits
|edits
|Integer
|Integer
|Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only)
|Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only)
|0...1
|0...1  
|1
|1
|-
|-
Line 288: Line 312:
|String
|String
|A filter clause used for refining search results
|A filter clause used for refining search results
|0...n
| 0...n  
|N.A.
|N.A.
|}<span id=".2Fpeople.2F.7Bid.7D" class="mw-headline">'''/people/{id}'''</span>
|}<span id=".2Fpeople.2F.7Bid.7D" class="mw-headline">'''/people/{id}'''</span>
Line 313: Line 337:
|rows
|rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
| A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
|10
|10
|-
|-
|sort
|sort
|String
| String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
|N.A.
|N.A.  
|-
|-
|[[ShareVDEmembers:APIdoc#Filters|filter]]
|[[ShareVDEmembers:APIdoc#Filters|filter]]
|String
|String
|A filter clause used for refining search results
|A filter clause used for refining search results
|0...n
| 0...n
|N.A.
|N.A.
|-
|-
Line 390: Line 414:
|-
|-
|rows
|rows
|Integer
| Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
| 0...1
|10
|10  
|-
|-
|fuzzy
|fuzzy  
|Boolean
|Boolean
|Enables / disables the fuzzy logic (typeahead mode only)
|Enables / disables the fuzzy logic (typeahead mode only)  
|0...1
|0...1
|true
| true
|-
|-
|edits
|edits
|Integer
|Integer  
|Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only)
|Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only)
|0...1
| 0...1  
|1
| 1
|-
|-
|partialMatch
|partialMatch
Line 441: Line 465:
|rows
|rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
| A positive integer indicating the returned page size (fts mode only)  
|0...1
|0...1
|10
|10
|-
|-
|sort
|sort
|String
| String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
Line 453: Line 477:
|[[ShareVDEmembers:APIdoc#Filters|filter]]
|[[ShareVDEmembers:APIdoc#Filters|filter]]
|String
|String
|A filter clause used for refining search results
|A filter clause used for refining search results  
|0...n
|0...n  
|N.A.
|N.A.
|-
|-
|role
|role
|String
| String
|The relator code used for refining the type of contribution
|The relator code used for refining the type of contribution
|0...1
| 0...1  
|aut
|aut
|}<span id="Examples_4" class="mw-headline">'''Examples'''</span>
|}<span id="Examples_4" class="mw-headline">'''Examples'''</span>
Line 468: Line 492:
*[https://sit2-base-svde.atcult.it/meetings.json?q=iat&mode=typeahead&fuzzy=false Meetings typeahead search using '''iat''' (no fuzzy)]
*[https://sit2-base-svde.atcult.it/meetings.json?q=iat&mode=typeahead&fuzzy=false Meetings typeahead search using '''iat''' (no fuzzy)]
*[https://sit2-base-svde.atcult.it/meetings/3.json Annual J. Lloyd Eaton Conference on Science Fiction and Fantasy Literature]
*[https://sit2-base-svde.atcult.it/meetings/3.json Annual J. Lloyd Eaton Conference on Science Fiction and Fantasy Literature]
==<span id="Organisation" class="mw-headline">Organisation</span>==
==<span id="Organisation" class="mw-headline">Organization</span>==
A corporation or group of persons and/or organisations that acts, or may act, as a unit. It is a concrete subclass of Agent and provides a set of attributes, both datatype and object property which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.
A corporation or group of persons and/or organisations that acts, or may act, as a unit. It is a concrete subclass of Agent and provides a set of attributes, both datatype and object property which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.


<span id=".2Forganisations" class="mw-headline">'''/organisations'''</span>
<span id=".2Forganisations" class="mw-headline">'''/organizations'''</span>


Fulltext or Typeahead search across Share-VDE organisations.
Fulltext or Typeahead search across Share-VDE organisations.
Line 513: Line 537:
|-
|-
|fuzzy
|fuzzy
|Boolean
| Boolean
|Enables / disables the fuzzy logic (typeahead mode only)
|Enables / disables the fuzzy logic (typeahead mode only)
|0...1
|0...1
Line 524: Line 548:
|1
|1
|-
|-
|partialMatch
| partialMatch
|Boolean
|Boolean
|Forces a partial match search (simple search only)
|Forces a partial match search (simple search only)
Line 535: Line 559:
|0...n
|0...n
|N.A.
|N.A.
|}<span id=".2Forganisations.2F.7Bid.7D" class="mw-headline">'''/organisations/{id}'''</span>
|}<span id=".2Forganisations.2F.7Bid.7D" class="mw-headline">'''/organizations/{id}'''</span>


Returns the organisation associated with the given identifier.
Returns the organisation associated with the given identifier.


<span id=".2Forganisations.2F.7Bid.7D.2Fopuses" class="mw-headline">'''/organisations/{id}/opuses'''</span>
<span id=".2Forganisations.2F.7Bid.7D.2Fopuses" class="mw-headline">'''/organizations/{id}/opuses'''</span>


Returns the opuses of the organisation associated with the given identifier.
Returns the opuses of the organisation associated with the given identifier.
Line 552: Line 576:
|offset
|offset
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)  
|0...1
|0...1
|0
|0
|-
|-
|rows
| rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
Line 575: Line 599:
|-
|-
|role
|role
|String
|String  
|The relator code used for refining the type of contribution
|The relator code used for refining the type of contribution
|0...1
| 0...1  
|aut
|aut
|}<span id="Examples_5" class="mw-headline">'''Examples'''</span>
|}<span id="Examples_5" class="mw-headline">'''Examples'''</span>
Line 607: Line 631:
|-
|-
|mode
|mode
|Enum
| Enum  
|One among '''fts''' (fulltext search) and '''typeahead'''
|One among '''fts''' (fulltext search) and '''typeahead'''
|0...1
| 0...1
|fts
|fts
|-
|-
|sort
|sort  
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
Line 618: Line 642:
|N.A.
|N.A.
|-
|-
|offset
| offset
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
| A positive integer indicating the start offset of results (fts mode only)
|0...1
|0...1
|0
|0
Line 626: Line 650:
|rows
|rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
| A positive integer indicating the returned page size (fts mode only)
|0...1
| 0...1  
|10
|10
|-
|-
|fuzzy
|fuzzy  
|Boolean
|Boolean
|Enables / disables the fuzzy logic (typeahead mode only)
|Enables / disables the fuzzy logic (typeahead mode only)
Line 645: Line 669:
|Boolean
|Boolean
|Forces a partial match search (simple search only)
|Forces a partial match search (simple search only)
|0...1
| 0...1
|false
|false
|-
|-
Line 675: Line 699:
|-
|-
|rows
|rows
|Integer
|Integer  
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
Line 681: Line 705:
|-
|-
|sort
|sort
|String
| String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
Line 689: Line 713:
|String
|String
|A filter clause used for refining search results
|A filter clause used for refining search results
|0...n
| 0...n
|N.A.
| N.A.
|-
|-
|role
| role
|String
|String
|The relator code used for refining the type of contribution
|The relator code used for refining the type of contribution
Line 710: Line 734:
Fulltext search across Share-VDE opuses.
Fulltext search across Share-VDE opuses.
{| class="wikitable"
{| class="wikitable"
|+Request Parameters
|+ Request Parameters
!'''Name'''
!'''Name'''
!'''Type'''
!'''Type'''
Line 730: Line 754:
|-
|-
|offset
|offset
|Integer
|Integer  
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
| 0...1
|0
|0
|-
|-
|rows
| rows  
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
Line 741: Line 765:
|10
|10
|-
|-
|partialMatch
| partialMatch
|Boolean
|Boolean  
|Forces a partial match search (simple search only)
|Forces a partial match search (simple search only)  
|0...1
|0...1
|false
| false
|-
|-
|[[ShareVDEmembers:APIdoc#Filters|filter]]
|[[ShareVDEmembers:APIdoc#Filters|filter]]
Line 769: Line 793:
|offset
|offset
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)  
|0...1
|0...1
|0
| 0
|-
|-
|rows
|rows
|Integer
|Integer  
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
Line 780: Line 804:
|-
|-
|sort
|sort
|String
| String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
Line 792: Line 816:
|-
|-
|role
|role
|String
|String  
|The relator code used for refining the type of contribution
|The relator code used for refining the type of contribution
|0...1
|0...1
Line 814: Line 838:
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
| 0...1  
|0
|0
|-
|-
|rows
|rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
| A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
|10
|10
Line 825: Line 849:
|sort
|sort
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
| A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
|N.A.
|N.A.
Line 842: Line 866:
Returns the works of a given opus.
Returns the works of a given opus.
{| class="wikitable"
{| class="wikitable"
|+Request Parameters
|+ Request Parameters
!'''Name'''
!'''Name'''
!'''Type'''
!'''Type'''
Line 852: Line 876:
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
| 0...1  
|0
|0
|-
|-
|rows
|rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
| A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
|10
| 10
|-
|-
|sort
|sort
|String
| String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
Line 880: Line 904:
Returns the instances of a work of a given opus.
Returns the instances of a work of a given opus.
{| class="wikitable"
{| class="wikitable"
|+Request Parameters
|+ Request Parameters
!'''Name'''
!'''Name'''
!'''Type'''
!'''Type'''
Line 890: Line 914:
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
| 0...1  
|0
|0
|-
|-
Line 896: Line 920:
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1  
|10
|10  
|-
|-
|sort
|sort  
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
Line 909: Line 933:
|A filter clause used for refining search results
|A filter clause used for refining search results
|0...n
|0...n
|N.A.
| N.A.
|}<span id=".2Fopuses.2F.7Bid.7D.2Fworks.2F.7BworkId.7D.2Finstances.2F.7BinstanceId.7D" class="mw-headline">'''/opuses/{id}/works/{workId}/instances/{instanceId}'''</span>
|}<span id=".2Fopuses.2F.7Bid.7D.2Fworks.2F.7BworkId.7D.2Finstances.2F.7BinstanceId.7D" class="mw-headline">'''/opuses/{id}/works/{workId}/instances/{instanceId}'''</span>


Line 928: Line 952:
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
| 0...1
|0
|0
|-
|-
|rows
|rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
| A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
|10
|10
|-
|-
|sort
|sort
|String
| String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
Line 947: Line 971:
|A filter clause used for refining search results
|A filter clause used for refining search results
|0...n
|0...n
|N.A.
| N.A.
|}<span id=".2Fopuses.2F.7Bid.7D.2Fworks.2F.7BworkId.7D.2Finstances.2F.7BinstanceId.7D.2Fitems.2F.7BitemId.7D" class="mw-headline">'''/opuses/{id}/works/{workId}/instances/{instanceId}/items/{itemId}'''</span>
|}<span id=".2Fopuses.2F.7Bid.7D.2Fworks.2F.7BworkId.7D.2Finstances.2F.7BinstanceId.7D.2Fitems.2F.7BitemId.7D" class="mw-headline">'''/opuses/{id}/works/{workId}/instances/{instanceId}/items/{itemId}'''</span>


Line 954: Line 978:
<span id="Examples_7" class="mw-headline">'''Examples'''</span>
<span id="Examples_7" class="mw-headline">'''Examples'''</span>


Note that since the exact type of the agent cannot be known in advance, the request makes use of the ...on <type> construct.
Note that since the exact type of the agent cannot be known in advance, the request makes use of the ...on <type> construct.  
*[https://sit2-base-svde.atcult.it/opuses.json?q=opuses%20whose%20title%20contains%20alice Opuses whose title contains alice]
*[https://sit2-base-svde.atcult.it/opuses.json?q=opuses%20whose%20title%20contains%20alice Opuses whose title contains alice]
*[https://sit2-base-svde.atcult.it/opuses/401.json Alice in Wonderland (Opus)]
*[https://sit2-base-svde.atcult.it/opuses/401.json Alice in Wonderland (Opus)]
Line 996: Line 1,020:
|sort
|sort
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
| A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
|N.A.
|N.A.
Line 1,006: Line 1,030:
|N.A.
|N.A.
|-
|-
|role
| role
|String
|String
|The relator code used for refining the type of contribution
|The relator code used for refining the type of contribution
|0...1
| 0...1
|aut
|aut
|}<span id=".2Fworks.2F.7Bid.7D.2Fcontributors.2F.7BcontributorId.7D" class="mw-headline">'''/works/{id}/contributors/{contributorId}'''</span>
|}<span id=".2Fworks.2F.7Bid.7D.2Fcontributors.2F.7BcontributorId.7D" class="mw-headline">'''/works/{id}/contributors/{contributorId}'''</span>
Line 1,029: Line 1,053:
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
| 0...1  
|0
|0
|-
|-
|rows
|rows
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
| A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1
|10
| 10
|-
|-
|sort
|sort
|String
| String  
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
Line 1,057: Line 1,081:
Returns the items of an instance of a work.
Returns the items of an instance of a work.
{| class="wikitable"
{| class="wikitable"
|+Request Parameters
|+ Request Parameters
!'''Name'''
!'''Name'''
!'''Type'''
!'''Type'''
!'''Description'''
!
'''Description'''
!'''Cardinality'''
!'''Cardinality'''
!'''Default Value'''
!'''Default Value'''
Line 1,078: Line 1,103:
|sort
|sort
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
| A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|0...1
|0...1
|N.A.
|N.A.
Line 1,093: Line 1,118:
<span id="Examples_8" class="mw-headline">'''Examples'''</span>
<span id="Examples_8" class="mw-headline">'''Examples'''</span>


Note that since the exact type of the agent cannot be known in advance, the request makes use of the ...on <type> construct.
Note that since the exact type of the agent cannot be known in advance, the request makes use of the ...on <type> construct.  
*[https://sit2-base-svde.atcult.it/works/401-1/instances.json Alice in Wonderland (Instances of a Work)]
*[https://sit2-base-svde.atcult.it/works/401-1/instances.json Alice in Wonderland (Instances of a Work)]
*[https://sit2-base-svde.atcult.it/works/401-1/instances/I0001.json Alice in Wonderland (an Instance)]
*[https://sit2-base-svde.atcult.it/works/401-1/instances/I0001.json Alice in Wonderland (an Instance)]
Line 1,149: Line 1,174:
|Integer
|Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1  
|10
|10  
|-
|-
|sort
|sort  
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
Line 1,180: Line 1,205:
Returns a specific item.
Returns a specific item.


<span id="Examples_10" class="mw-headline">'''Examples'''</span>
<span id="Examples_10" class="mw-headline">'''Examples'''</span>  
*[https://sit2-base-svde.atcult.it/items/501.json An item, literal attributes and an object properties (availability)]
*[https://sit2-base-svde.atcult.it/items/501.json An item, literal attributes and an object properties (availability)]
==<span id="Publication" class="mw-headline">Publication</span>==
==<span id="Publication" class="mw-headline">Publication</span>==
Line 1,217: Line 1,242:
|-
|-
|sort
|sort
|String
|String
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
|A valid [[ShareVDEmembers:APIdoc#Sort|sort]] clause (fts mode only)
Line 1,224: Line 1,250:
|offset
|offset
|Integer
|Integer
|A positive integer indicating the start offset of results (fts mode only)
|A positive integer indicating the start offset of results (fts mode only)
|0...1
|0...1
|0
|0
|-
|-
|rows
|rows  
|Integer
| Integer
|A positive integer indicating the returned page size (fts mode only)
|A positive integer indicating the returned page size (fts mode only)
|0...1
|0...1  
|10
|10  
|-
|-
|[[ShareVDEmembers:APIdoc#Filters|filter]]
|[[ShareVDEmembers:APIdoc#Filters|filter]]
Line 1,242: Line 1,269:


Returns the publication associated with the given identifier.
Returns the publication associated with the given identifier.
===Similar publications: /publications/{id}/like===
Returns publications '''similar''' to a given publication.
<code>GET /publications/{id}/like</code>
Parameters (optional): <code>sort</code>, <code>rows</code> (default 10), <code>offset</code> (default 0), <code>filter</code> (repeatable), <code>refinementQuery</code>. The response includes <code>totalMatches</code>.
==<span id="Controlled_Vocabulary_Entities" class="mw-headline">Controlled Vocabulary Entities</span>==
==<span id="Controlled_Vocabulary_Entities" class="mw-headline">Controlled Vocabulary Entities</span>==
Other than the entities described above, referred as "core entities", the Share-VDE domain model includes some other entities that are gathered from external sources, assigned a Share-VDE URI and linked to core entities.
Other than the entities described above, referred as "core entities", the Share-VDE domain model includes some other entities that are gathered from external sources, assigned a Share-VDE URI and linked to core entities.
Line 1,277: Line 1,310:
   <span class="p">}</span>
   <span class="p">}</span>
  <span class="p">}</span>
  <span class="p">}</span>
The list includes:
The list includes:
*Format
*Format
*Role
*Role
*Language
*Language
*Agent Type
* Agent Type
*Genre
*Genre
*Occupation
*Occupation
Line 1,314: Line 1,347:
|Enables / disables the fuzzy logic (typeahead mode only)
|Enables / disables the fuzzy logic (typeahead mode only)
|0...1
|0...1
|true
| true
|-
|-
|edits
|edits
|Integer
|Integer
|Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only)
|Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only)
|0...1
| 0...1
|1
| 1
|}<span id=".2FresourceType.2F.7Bid.7D" class="mw-headline">'''/resourceType/{id}'''</span>
|}<span id=".2FresourceType.2F.7Bid.7D" class="mw-headline">'''/resourceType/{id}'''</span>



Latest revision as of 12:39, 3 July 2026

Warning: The root searches /works, /instances, /items and /dates require the svde-editor-base role and are not accessible with the svde-resource-read scope alone. A read-only integrator must use hierarchical navigation instead.

Stats

The /stats endpoint returns high-level aggregations about the whole knowledge base. There's an "extended" boolean parameter which drives the response format, specifically:

When it is set to false, the response is very concise, see the following example:

{
  "item": 137,
  "agent": {
    "person": 54,
    "organization": 16,
    "family": 16,
    "meeting": 9
  },
  "instance": 146,
  "opus": 120,
  "work": 138,
  "subject": 103
}

The response returns the counts for each entity type. The "agent" is actually a group that contains the agent types counts. It is possible to set a request parameter called "provenance" that will cause the response to return only provenance-specific values. The response in this case has exactly the same shape but counts refer only to the requested provenance. In case the extended parameter is set to true, then the response is more articulated because counts are broken by provenance:

  "https://svde.org/agents/NLF": {
    "item": 3,
    "agent": {
      "person": 4,
      "organization": 2,
      "family": 1
    },
    "instance": 4,
    "work": 5,
    "opus": 3,
    "totalCount": 22
  },
  "https://svde.org/agents/NYU": {
    "item": 7,
    "agent": {
      "person": 4,
      "organization": 1,
      "family": 3,
      "meeting": 2
    },
    "instance": 7,
    "work": 8,
    "opus": 8,
    "totalCount": 40
  },
  "https://svde.org/agents/NORTHWESTERN": {
    "agent": {
      "person": 1,
      "meeting": 1
    },
    "instance": 1,
    "work": 2,
    "opus": 2,
    "totalCount": 7
  },
  ...

Resource

Note: this endpoint is temporarily unavailable on some environments (a server-side error is being fixed). Check its status before relying on it in an integration.


A ShareVDE resource is an abstract and high-level concept which maps agents and opuses.

/resources

Simple search across Share-VDE resources.

Request Parameters
Name Type Description Cardinality Default Value
q String An agent query expressed in SVDEQL or TermsQL (terms) 1 N.A.
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
partialMatch Boolean Forces a partial match search (entered query terms are considered optional) 0...1 false
filter String A filter clause used for refining search results 0...n N.A.


Agent

The Agent is an abstract concept which concretely maps people, organisations, conferences, families, jurisdictions, etc., that play a role (or even multiple roles) such as authors, editors, distributors, illustrator, publisher, etc.

/agents

Fulltext or Typeahead search across Share-VDE agents.

Request Parameters
Name Type Description Cardinality Default Value
q String An agent query expressed in SVDEQL or TermsQL (terms) 1 N.A.
mode Enum One among fts (fulltext search) and typeahead 0...1 fts
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
fuzzy Boolean Enables / disables the fuzzy logic (typeahead mode only) 0...1 true
edits Integer Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only) 0...1 1
partialMatch Forces a partial match search (simple search only) 0...1 false
filter String A filter clause used for refining search results 0...n N.A.

/agents/{agentId}

Returns the agent associated with the given identifier.

/agents/{agentId}/opuses

Returns the opuses of the agent associated with the given identifier.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.
role String The relator code used for refining the type of contribution 0...1 N.A.

Examples

Works by an agent vs. works about an agent

For each agent type (agents, people, organizations, meetings, families) there are two distinct navigations, not to be confused:

  • GET /{type}/{id}/opuses — works the agent is the author/contributor of.
  • GET /{type}/{id}/opuses/about — works that have the agent as their subject (the
 agent is the topic of the work, not its author).

Parameters of /opuses/about (all optional): sort, rows, offset, filter (repeatable).

Example: GET /people/{id}/opuses returns the books written by a person; GET /people/{id}/opuses/about returns the books written about that person.

Person

A person is an individual or identity established by an individual (either alone or in collaboration with one or more other individuals). It is a concrete subclass of Agent and provides a set of attributes, both datatype and object properties which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.

/people

Fulltext or Typeahead search across Share-VDE people.

Request Parameters
Name Type Description Cardinality Default Value
q String A people query expressed in SVDEQL or TermsQL (terms) 1 N.A.
mode Enum One among fts (fulltext search) and typeahead 0...1 fts
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
fuzzy Boolean Enables / disables the fuzzy logic (typeahead mode only) 0...1 true
edits Integer Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only) 0...1 1
partialMatch Boolean Forces a partial match search (simple search only) 0...1 false
filter String A filter clause used for refining search results 0...n N.A.

/people/{id}

Returns the agent associated with the given identifier.

/people/{id}/opuses

Returns the opuses of the person associated with the given identifier.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.
role String The relator code used for refining the type of contribution 0...1 aut

/people/{id}/occupations

Returns the occupations of the person associated with the given identifier.

/people/{id}/occupations/{occupationId}

Returns the occupation (related with a specific person) associated with the given identifier.

Examples

Meeting

Gathering of individuals or representatives of various bodies for the purpose of discussing and/or acting on topics of common interest. It is a concrete subclass of Agent and provides a set of attributes, both datatype and object property which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.

/meetings

Fulltext or Typeahead search across Share-VDE meetings.

Request Parameters
Name Type Description Cardinality Default Value
q String A meeting query expressed in SVDEQL or TermsQL (terms) 1 N.A.
mode Enum One among fts (fulltext search) and typeahead 0...1 fts
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
fuzzy Boolean Enables / disables the fuzzy logic (typeahead mode only) 0...1 true
edits Integer Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only) 0...1 1
partialMatch Boolean Forces a partial match search (simple search only) 0...1 false
filter String A filter clause used for refining search results 0...n N.A.

/meetings/{id}

Returns the meeting associated with the given identifier.

/meetings/{id}/opuses

Returns the opuses of the meeting associated with the given identifier.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.
role String The relator code used for refining the type of contribution 0...1 aut

Examples

Organization

A corporation or group of persons and/or organisations that acts, or may act, as a unit. It is a concrete subclass of Agent and provides a set of attributes, both datatype and object property which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.

/organizations

Fulltext or Typeahead search across Share-VDE organisations.

Request Parameters
Name Type Description Cardinality Default Value
q String An organisation query expressed in SVDEQL or TermsQL (terms) 1 N.A.
mode Enum One among fts (fulltext search) and typeahead 0...1 fts
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
fuzzy Boolean Enables / disables the fuzzy logic (typeahead mode only) 0...1 true
edits Integer Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only) 0...1 1
partialMatch Boolean Forces a partial match search (simple search only) 0...1 false
filter String A filter clause used for refining search results 0...n N.A.

/organizations/{id}

Returns the organisation associated with the given identifier.

/organizations/{id}/opuses

Returns the opuses of the organisation associated with the given identifier.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.
role String The relator code used for refining the type of contribution 0...1 aut

Examples

Family

Two or more persons related by birth, marriage, adoption, civil union, or similar legal status, or who otherwise present themselves as a family. It is a concrete subclass of Agent and provides a set of attributes, both datatype and object property which interconnect the entity to opuses and other bibliographic entities in the Share-VDE domain model.

/families

Fulltext or Typeahead search across Share-VDE families.

Request Parameters
Name Type Description Cardinality Default Value
q String A family query expressed in SVDEQL or TermsQL (terms) 1 N.A.
mode Enum One among fts (fulltext search) and typeahead 0...1 fts
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
fuzzy Boolean Enables / disables the fuzzy logic (typeahead mode only) 0...1 true
edits Integer Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only) 0...1 1
partialMatch Boolean Forces a partial match search (simple search only) 0...1 false
filter String A filter clause used for refining search results 0...n N.A.

/families/{id}

Returns the family associated with the given identifier.

/families/{id}/opuses

Returns the opuses of the family associated with the given identifier.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.
role String The relator code used for refining the type of contribution 0...1 aut

Examples

Opus

The highest level of abstraction, a Work, in the BIBFRAME context, reflects the conceptual essence of the cataloged resource: authors, languages, and what it is about[2].

/opuses

Fulltext search across Share-VDE opuses.

Request Parameters
Name Type Description Cardinality Default Value
q String An opus query expressed in SVDEQL 1 N.A.
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
partialMatch Boolean Forces a partial match search (simple search only) 0...1 false
filter String A filter clause used for refining search results 0...n N.A.

/opuses/{id}

Returns the opus associated with the given identifier.

/opuses/{id}/contributors

Returns the contributors of a given opus.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.
role String The relator code used for refining the type of contribution 0...1 aut

/opuses/{id}/contributors/{contributorId}

Returns the contributor of a given opus.

/opuses/{id}/publications

Returns the publications of a given opus.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.

/opuses/{id}/publications/{publicationId}

Returns a specific publication of a given opus.

/opuses/{id}/works

Returns the works of a given opus.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.

/opuses/{id}/works/{workId}

Returns a specific work of a given opus.

/opuses/{id}/works/{workId}/instances

Returns the instances of a work of a given opus.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.

/opuses/{id}/works/{workId}/instances/{instanceId}

Returns a specific work of a given opus.

/opuses/{id}/works/{workId}/instances/{instanceId}/items

Returns the items of an instance of a work of a given opus.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.

/opuses/{id}/works/{workId}/instances/{instanceId}/items/{itemId}

Returns a specific item.

Examples

Note that since the exact type of the agent cannot be known in advance, the request makes use of the ...on <type> construct.

Work

An intermediate level of abstraction which reflects an expression of a given Opus.

/works/{id}

Returns the work associated with the given identifier.

/works/{id}/contributors

Returns the contributors of a given work.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.
role String The relator code used for refining the type of contribution 0...1 aut

/works/{id}/contributors/{contributorId}

Returns the contributor of a given work.

/works/{workId}/instances

Returns the instances of a work.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.

/works/{workId}/instances/{instanceId}

Returns a specific work.

/works/{workId}/instances/{instanceId}/items

Returns the items of an instance of a work.

Request Parameters
Name Type

Description

Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.

/works/{workId}/instance/{instanceId}/items/{itemId}

Returns a specific item.

Examples

Note that since the exact type of the agent cannot be known in advance, the request makes use of the ...on <type> construct.

Instance

A Work may have one or more individual, material embodiments, for example, a particular published form. These are Instances of the Work. An Instance reflects information such as its publisher, place and date of publication, and format[2].

/instance/{instanceId}

Returns a specific instance. The Instance entity provides a connection to the bibliographic records that contributed to its definition. Specifically, when at least one of those connections is available, the instance resource representation will contain an additional set of links under the "opac" category. Each link provides the URL and the owning provenance (code). Here's an example:

{
  "preferredHeading": "Lewis Carroll's Alice's adventures in Wonderland",
  ...
  "_links": {
    "self": {
      "href": "https://svde.org/instances/I0001"
    },
    "opac": [
        {
            "type": "STANFORD"
            "href": "https://searchworks.stanford.edu/view/9386906"
        }, 
        ... (other opacs)
    },
    "format": {
      "href": "https://svde.org/formats/nc"
    },
    "publicationPlace": {
      "href": "https://svde.org/places/4930956"
    },
    "items": {
      "href": "https://svde.org/instances/I0001/items"
    }
  }
}

/instances/{instanceId}/items

Returns the items of an instance.

Request Parameters
Name Type Description Cardinality Default Value
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
sort String A valid sort clause (fts mode only) 0...1 N.A.
filter String A filter clause used for refining search results 0...n N.A.

/instances/{instanceId}/items/{itemId}

Returns a specific item.

Examples

Note that since the exact type of the agent cannot be known in advance, the request makes use of the ...on <type> construct.

Item

An item is an actual copy (physical or electronic) of an Instance. It reflects information such as its location (physical or virtual), shelf mark, and barcode[2].

/items/{itemId}

Returns a specific item.

Examples

Publication

A publication is a logical entity which wraps together an instance (including the items) plus the parent Work. Being the instance the central entity, its local identifier is used also for denoting the corresponding publication identity (and URI)

The representation is therefore very simple as it consists of the following:

{
  "_links": {
    "self": {
      "href": "https://share.vde.org/publications/I0003"
    },
    "instance": {
      "href": "https://share.vde.org/instances/I0003"
    },
    "work": {
      "href": "https://share.vde.org/works/401-2"
    }
  }
}

/publications

Fulltext search across Share-VDE publications.

Request Parameters
Name Type Description Cardinality Default Value
q String A publication query expressed in SVDEQL 1 N.A.
sort String A valid sort clause (fts mode only) 0...1 N.A.
offset Integer A positive integer indicating the start offset of results (fts mode only) 0...1 0
rows Integer A positive integer indicating the returned page size (fts mode only) 0...1 10
filter String A filter clause used for refining search results 0...n N.A.

/publications/{id}

Returns the publication associated with the given identifier.

Similar publications: /publications/{id}/like

Returns publications similar to a given publication.

GET /publications/{id}/like

Parameters (optional): sort, rows (default 10), offset (default 0), filter (repeatable), refinementQuery. The response includes totalMatches.

Controlled Vocabulary Entities

Other than the entities described above, referred as "core entities", the Share-VDE domain model includes some other entities that are gathered from external sources, assigned a Share-VDE URI and linked to core entities.


IMPORTANT: at time of writing the controlled vocabulary entities do not provide any content negotiation capability. That means the available endpoints always returns JSON according to HATEOAS specs.


"format" typeahead search results:

  "_embedded": {
    "otherLanguages": [
      {
        "language": "fra",
        "preferredHeading": "<b>Bo</b>bine de bande informatique",
        "uri": "https://svde.org/formats/ch"
      },
      {
        "language": "ita",
        "preferredHeading": "<b>Bo</b>bina di nastro per computer",
        "uri": "https://svde.org/formats/ch"
      },
      ...

A single format

{
  "preferredHeading": "Computer tape reel",
  "comingFromSolr": true,
  "_links": {
    "self": [
      {
        "href": "http://id.loc.gov/vocabulary/carriers/ch",
        "type": "other"
      },
      {
        "href": "http://sit2-base-svde.atcult.it/formats/ch"
      }
    ]
  }
}

The list includes:

  • Format
  • Role
  • Language
  • Agent Type
  • Genre
  • Occupation
  • Availability
  • Form
  • Place
  • OpusType
  • PublicationType

Each entity of this type provide two endpoints: a collection, which provides in turn typeahead search capabilities, and a single resource endpoint.

/{resourceType}

Typeahead search across Share-VDE controlled vocabulary entity.Note that the URI uses the plural form (e.g. /languages, /occupations, /forms)

Request Parameters
Name Type Description Cardinality Default Value
q String A typeahead query expressed in TermsQL (terms) 1 N.A.
fuzzy Boolean Enables / disables the fuzzy logic (typeahead mode only) 0...1 true
edits Integer Max edit distance in fuzzy logic. Can be 1 or 2 (typeahead mode only) 0...1 1

/resourceType/{id}

Returns the controlled vocabulary entity associated with the given identifier. Note that the URI uses the plural form (e.g. /languages, /occupations, /forms)

---------------

  1. Jump up https://en.wikipedia.org/wiki/Representational_state_transfer
  2. Jump up to:2.0 2.1 2.2 https://www.loc.gov/bibframe/docs/bibframe2-model.html