Base Interface
Base Interface
27 (March 2023)
BASE supplies a HTTP API. It can be used for non-commerical purposes only. The interface is
IP controlled or with an apikey and interested users have to register at https://www.base-
search.net/about/en/contact.php.
Once registered (i.e. an ip address or ip range or apikey has been configured) the interface can
be easily tested by editing the url in a browser (located in the activated ip range or the url is
appended with the apikey) and looking for the delivered xml responses.
Example for an apikey: apikey=54351320c8100da640f222b653977182
Method Description
ListProfile This method lists basic information about the requested repository
included in BASE (defined by the internal BASE string identifier)
PerformSearch This is the interface core function. It performs queries and delivers
the corresponding results. The BASE interface supports the SOLR
query term syntax.
I. ListRepositories
Syntax:
<interface-url>?func=ListRepositories&coll=<collection_name>
-1-
BASE Interface Guide – Version 1.27 (March 2023)
Examples:
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=ListRepositories&coll=ceu
Response:
<?xml version="1.0" encoding="utf-8"?>
<collection>
<collection_name>ceu</collection_name>
<list_repositories>
<repository>
<activation_date>2020-08-26</activation_date>
<name>OPUS - Publikationsserver der Hochschule Augsburg</name>
<name_en>OPUS - Publication Server of Hochschule Augsburg</name_en>
<internal_name>fthsaugsburg</internal_name>
</repository>
<repository>
<activation_date>2020-08-26</activation_date>
<name>Publikationsserver der Hochschule Landshut</name>
<name_en>Publication Server of Hochschule Landshut</name_en>
<internal_name>fthslandshut</internal_name>
</repository>
(...)
</list_repositories>
</collection>
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=ListRepositories&coll=de
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=ListRepositories&coll=denw
II. ListProfile
Syntax:
<interface-url>?func=ListProfile&target=<internal_name>
-2-
BASE Interface Guide – Version 1.27 (March 2023)
Example:
1. Basic information of the repository „ftubbiepub“ including number of all documents, Open
Access documents, Non-Open Access documents, documents with Creative Commons license
and documents with Public Domain license:
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=ListProfile&target=ftubbiepub
Response:
III. PerformSearch
PerformSearch is the essential method to search and retrieve BASE data. As a new feature the
current version supports the usage of facets.
Syntax:
<interface-url>?func=PerformSearch&coll=<collection>&query=<queryterm>&(...)
<interface-url>?func=PerformSearch&target=<internal_name>&query=<queryterm>&(…)
-3-
BASE Interface Guide – Version 1.27 (March 2023)
If the arguments „target“ or „coll“ are missing or the value for „target“ does not exist, the
query addresses all BASE repositories.
-4-
BASE Interface Guide – Version 1.27 (March 2023)
Examples:
1. Documents from the repository „ftubbiepub“ containing the terms „lossau“ and
„summann“ (search in the whole document):
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&target=ftubbiepub&query=lossau+summann
2. Documents from Italian repositories containing the term „manghi“ in the dccreator field
(author). The flag „boost“ pushes open access documents upwards in the result list:
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&coll=it&query=dccreator:manghi&boost=oa
3. Documents containing the terms („algebra“ and „linear“) or („algebra“ and „numerical“) or
(„algebra“ and „linear“ and „numerical“):
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&query=algebra+AND+(linear+OR+numerical)
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&query=(operator+OR+algorithms)+AND+(linear+OR+numerical)
5. Documents containing the terms „linear“ and „algebra“ but not „numerical“:
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&query=linear+algebra+NOT+numerical
6. Documents containing the terms „schmidt“ in dccreator field (author) and „biology“ in
dctitle. The response starts after record 5 (offset=5) and contains max. 5 hits with the fields
dctitle, dccreator and dcyear:
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&query=dccreator:schmidt+dctitle:biology&hits=5&offset=5&field
s=dctitle,dccreator,dcyear
7. Documents containing the term „unix“ and published between 1983 and 2009, sorted by
year of publication (dcyear) in descending order:
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&query=unix+dcyear:[1983+TO+2009]&sortby=dcyear+desc
-5-
BASE Interface Guide – Version 1.27 (March 2023)
8. Documents containing the term „unix“ with facets dcsubject and dcyear each with max. 10
hits (default facet sorting „count“):
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&query=unix&facets=dcsubject,dcyear&facet_limit=10
9. Documents containing the term „unix“ and the exact terms "computer science" in dcsubject
and „2008“ in dcyear; with facets „dcsubject“ and „dcyear“ each with max. 10 hits:
https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?
func=PerformSearch&query=unix&facets=dcsubject,dcyear&f_dcsubject=%22computer%20
science%22&f_dcyear=2008&facet_limit=10
Please note:
Results of the search „query=unix+dcsubject:education“ can differ from results of the faceted
search „query=unix&f_dcsubject=education“. Facets search for the exact term „education“ in
the dcsubject field, while the pure query search delivers records with dcsubject fields
containing the term „education“ also as a single keyword of a field's contents, e.g. "higher
education".
-6-
BASE Interface Guide – Version 1.27 (March 2023)
<str name="dcdocid">
a3e98a979171fc179135968f2e5bbf5d7e8696f2ff964b6f02050bb479bcdf8b
</str>
<str name="dccontinent">ceu</str>
<str name="dccountry">de</str>
<str name="dccollection">ftubbiepub</str>
<str name="dcprovider">PUB - Publications at Bielefeld
University</str>
<str name="dctitle">10 years BASE: A contribution to the worldwide
development of repositories</str>
<arr name="dccreator">
<str>Pieper, Dirk</str>
<str>Summann, Friedrich</str>
</arr>
<arr name="dcperson">
<str>Pieper, Dirk</str>
<str>Summann, Friedrich</str>
</arr>
<arr name="dcauthorid">
<str>Pieper, Dirk | orcid:0000-0002-6083-9348</str>
<str>Summann, Friedrich | orcid:0000-0002-6297-3348</str>
</arr>
<arr name="dcsubject">
<str>Bielefeld Academic Search Engine</str>
<str>ddc:020</str>
</arr>
<str name="dcdate">2014</str>
<int name="dcyear">2014</int>
<arr name="dctype">
<str>info:eu-repo/semantics/conferenceObject</str>
<str>doc-type:conferenceObject</str>
<str>text</str>
</arr>
<arr name="dctypenorm">
<str>13</str>
</arr>
<arr name="dcidentifier">
<str>https://pub.uni-bielefeld.de/record/2710028</str>
</arr>
<str name="dclink">https://pub.uni-bielefeld.de/record/2710028</str>
<str name="dcsource">Pieper D, Summann F. 10 years BASE: A
contribution to the worldwide development of repositories. Presented
at the China IR Seminar 2014.</str>
<arr name="dclanguage">
<str>eng</str>
</arr>
<str name="dcrights">info:eu-repo/semantics/openAccess</str>
<arr name="dcdeweyfull">
<str>020</str>
</arr>
<arr name="dcdeweyhuns">
<str>0</str>
-7-
BASE Interface Guide – Version 1.27 (March 2023)
</arr>
<arr name="dcdeweytens">
<str>02</str>
</arr>
<arr name="dcdeweyones">
<str>020</str>
</arr>
<arr name="dcclasscode">
<str>020</str>
</arr>
<int name="dcoa">1</int>
<arr name="dclang">
<str>eng</str>
</arr>
</doc>
(...)
</result>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="f_dcsubject">
<int name="ddc:020">42</int>
<int name="Bielefeld Academic Search Engine">12</int>
<int name="ddc:004">9</int>
<int name="Repositories">3</int>
<int name="Bibliothek">2</int>
<int name="Communication">2</int>
<int name="Comunicazione">2</int>
<int name="Informatica">2</int>
<int name="Informatics">2</int>
<int name="Informatik">2</int>
</lst>
<lst name="f_dcyear">
<int name="1994">5</int>
<int name="2009">5</int>
<int name="2014">5</int>
<int name="2017">5</int>
<int name="2004">4</int>
<int name="2005">4</int>
<int name="2006">4</int>
<int name="2013">4</int>
<int name="2015">4</int>
<int name="2016">4</int>
</lst>
</lst>
<lst name="facet_ranges"/>
<lst name="facet_intervals"/>
<lst name="facet_heatmaps"/>
</lst>
</response>
-8-
BASE Interface Guide – Version 1.27 (March 2023)
Appendix
1. Collection-related queries:
Supported values for the request parameter „coll“ and as contents of response fields
„dccontinent“ and „dccountry“.
Continents
caf Africa
cas Asia
cau Australia/Oceania
ceu Europe
cna North America
csa South America
cww Web server without geographic relation (org)
Countries
(Country code ISO 3166)
de German repositories
nl Dutch repositories
uk British repositories
etc. (...)
German Country states
debw Baden-Württemberg
deby Bayern
debe Berlin
debb Brandenburg
dehb Bremen
dehh Hamburg
dehe Hessen
demv Mecklenburg-Vorpommern
deni Niedersachsen
denw Nordrhein-Westfalen
derp Rheinland-Pfalz
desl Saarland
desn Sachsen
dest Sachsen-Anhalt
desh Schleswig-Holstein
deth Thüringen
Austrian Country states
-9-
BASE Interface Guide – Version 1.27 (March 2023)
atbgld Burgenland
atktn Kärnten
atnö Niederösterreich
atoö Oberösterreich
atsbg Salzburg
atstmk Steiermark
att Tirol
atvbg Vorarlberg
atw Wien
Swiss Country states
chag Aargau
chai Appenzell Innerrhoden
char Appenzell Ausserrhoden
chbe Bern
chbl Basel-Landschaft
chbs Basel-Stadt
chfr Freiburg
chge Genf
chgl Glarus
chgr Graubünden
chju Jura
chlu Luzern
chne Neuenburg
chnw Nidwalden
chow Obwalden
chsg St. Gallen
chsh Schaffhausen
chso Solothurn
chsz Schwyz
chtg Thurgau
chti Tessin
chur Uri
chvd Waadt
chvs Wallis
chzg Zug
chzh Zürich
- 10 -
BASE Interface Guide – Version 1.27 (March 2023)
Used as request parameters in „query“, „fields“, „facets“, „sortby“ and as contents of response
fields. Please note that only fields marked with „x“ are allowed in the respective parameters.
Internal fields
Field Description Status Query Facet Sorting
dccollection internal BASE repository name single x x
dchdate date of harvesting/updating single x x
Bibliographic DC fields (as defined in the Dublin Core definition)
Field Description Status Query Facet Sorting
dccontributor contributor multi x
dccoverage coverage single x
dccreator author multi x x
dcdate date of publication single x
dcdescription abstract single x
dcformat format multi x
dcidentifier urls multi x
dclanguage language multi x
dcpublisher publisher multi x
dcrelation relation multi x
dcrights rights single x
dcsource source single x
dcsubject subject headings multi x x
dctitle title single x x
dctype publication and document type multi x
Dublin Core similar extra fields
Field Description Status Query Facet Sorting
dcauthorid author and his identifiers multi x
dcautoclasscode DDC class code (internal automatic multi x
categorization)
dcclasscode DDC class code derived from the multi x
document metadata
dccontenttype type of content multi x x
dccontinent continent (internal code, see section single x
„Collections“)
dccountry country code (ISO 3166) single x
dcdeweyfull DDC class code (original + automatic) multi x
dcdeweyhuns DDC class code (original + automatic): multi x x
the hundreds value
- 11 -
BASE Interface Guide – Version 1.27 (March 2023)
3. Document types
Codes used in the query aspect and the response field „dctypenorm“
Code Description
1 Text
11 Book
111 Book part
12 Journal/Newspaper
121 Article contribution to journal/newspaper
122 Other non-article part of journal/newspaper
13 Conference object
14 Report
15 Review
16 Course material
17 Lecture
- 12 -
BASE Interface Guide – Version 1.27 (March 2023)
Code Description
18 Thesis
181 Bachelor thesis
182 Master thesis
183 Doctoral and postdoctoral thesis
19 Manuscript
1A Patent
2 Musical notation
3 Map
4 Audio
5 Image/Video
51 Still image
52 Moving image/Video
6 Software
7 Dataset
F Other/Unknown Material
Message
„'query' parameter is empty or not valid!"
„'query' parameter not defined!“
„Access denied for IP address xxx.xxx.xxx.xxx and user agent xyz."
„Collection 'xyz' not found!“
„Fork failed: fork table full or process limit reached.“
„Function 'xyz' is not supported!“
„IP address xxx.xxx.xxx.xxx incorrectly specified in the configuration file (+|- not defined).“
„No results found!“
„Parameter 'func' not found!“
„Problem with the opening 'xyz' file.“
„Repository not found!“
„The system is currently unavailable due to system maintenance.“
The default error messages of the HTTP 400 and 500 status code ranges are also supported (in
connection with the index), e.g. "503 Service Unavailable". (List of HTTP status codes.)
- 13 -
BASE Interface Guide – Version 1.27 (March 2023)
Example:
5. Query syntax
Entering one or more search terms (separated by blanks) will produce hits, which include all
the entered terms in one document (AND conjunction). There are, however, more options to
combine terms and to search efficiently.
Plural, genitive case and other word forms will be searched automatically.
The * (asterisk) substitutes any number of characters whereas the ? (question mark) only
substitutes one character. They are used to find different spellings or wordings even in
different languages in one search. If the asterisk or question mark are used, the automatic
search for different word forms will be disabled. The asterisk and the question mark can not be
applied in phrase searches.
Examples:
A search for ho*e delivers records containing „home“, „horse“, „horticulture“ etc.
A search for ho?e delivers records containing „home“, „hole“, „hope“ etc.
- 14 -
BASE Interface Guide – Version 1.27 (March 2023)
Changelog
- 15 -
BASE Interface Guide – Version 1.27 (March 2023)
- 16 -