所有OpenCitations索引的统一REST API
版本:1.2.0版(2023-11-06)
API URL: https://opencitations.net/index/api/v1
联系人: contact@opencitations.net
许可证:本文档授权使用Creative Commons Attribution 4.0国际许可,而REST API本身是使用创建的分枝的,的SPARQL端点上的Restful API管理器由创建西尔维奥·佩罗尼,该许可证由ISC许可证.
本文档描述了用于访问存储在所有OpenCitations索引主办开放式引文该API实现了检索特定书目实体中出现的所有其他作品引用的引文数据的操作,或者在给定书目实体的DOI的情况下,检索其他作品中出现的特定书目主体的所有引用的引用数据,或检索通过其识别的特定引文的引文数据开放引文标识符(OCI).
所有当前操作都会根据中指定的mimetype返回JSON文档(默认)或CSV文档接受
请求的标头。如果您想建议在此API中包含其他操作,请使用问题跟踪器GitHub上提供的OpenCitations API。
如果您要在应用程序/代码中使用REST API,我们鼓励您获得OpenCitations访问令牌并在RESTAPI调用的“授权”头中指定它。以下是Python中的一个使用示例:
从请求导入获取API_CALL=“https://opencitations.net/index/api/v1/references/10.1186/1756-8722-6-59"HTTP_HEADERS={“授权”:“YOUR-OPENCITATIONS-ACCESS-TOKEN”}get(API_CALL,headers=HTTP_headers)
注:出于历史和兼容性原因,我们使用某些遗留API。我们鼓励使用最新和更高效的V2 API,我们了解到一些应用程序可能仍然依赖于这些较旧的端点。请注意,旧版API可能不会得到更新或支持,它们的使用可能会在未来逐步停止。我们建议过渡到当前V2 API以提高性能、安全性和可靠性。
参数可用于筛选和控制API返回的结果。它们在调用的URL中作为普通HTTP参数传递。他们是:
-
require=<field_name>
:中具有空值的所有行<字段名称>
指定的从结果集中删除-例如。require=给定名称
删除中未指定任何字符串的所有行给定名称
字段。
-
过滤器=<field_name>:<operator><value>
:仅符合的行<值>
保存在结果集中。参数<操作>
不是强制性的。如果<操作>
未指定,<值>
被解释为正则表达式,否则通过指定的操作进行比较。可能的运算符为“=”、“<”和“>”。例如,filter=title:语义?
返回字段中包含字符串“语义”或“语义”的所有行标题
,同时过滤器=日期:>2016-05
返回具有日期
大于2016年5月。
-
sort=<order>(<field_name>)
:按升序排序(<订单>
设置为“asc”)或降序(<订单>
设置为“desc”)根据中的值对结果集中的行进行排序<字段名称>
例如,sort=描述(日期)
根据字段中指定的值对所有行进行排序日期
按降序排列。
-
format=格式类型
:以中指定的格式返回最终表<格式_类型>
可以是“csv”或“json”-例如。格式=csv
以CSV格式返回最终表格。此参数具有通过请求的“Accept”标头指定的类型的更高优先级。因此,如果API请求的头指定接受:text/csv
并且该请求的URL包括格式=json
,最后一个表以JSON格式返回。
-
json=<操作类型>(“<分隔符>”,<字段>,<新字段_1>,<新建字段_2>,…)
:如果请求返回JSON格式,请根据指定的规则转换最终JSON表的每一行。如果<操作类型>
设置为“array”,即与字段名关联的字符串值<字段>
通过以下方式拆分各个文本部分,将其转换为数组<分隔符>
例如,考虑JSON表[{“名字”:“Doe,John;Doe,Jane”},…]
,执行数组(“;”,名称)
收益[{“名字”:[“Doe,John”,“Doe、Jane”],…]
相反,如果<操作类型>
设置为“dict”,即与字段名称关联的字符串值<字段>
通过以下方式拆分各种文本部分,将其转换为字典<分隔符>
并通过关联新字段<新字段_1>
,<新字段_2>
等。例如,考虑JSON表[{“name”:“Doe,John”},…]
,执行dict(“,”,name,fname,gname)
收益[{“name”:{“fname”:“Doe”,“gname”:“John”},…]
.
可以指定一个或多个同类过滤操作(例如。require=给定名称&require=family_name
). 此外,这些过滤操作按上述顺序应用-首先所有要求
操作,然后所有滤波器
所有分类
操作,最后是格式
和杰森
操作(如适用)。值得一提的是,前面提到的每一个规则都是按顺序应用的,并且它对执行前一个规则后返回的结构起作用。
例子:<api_operation_url>?require=doi&filter=date:>2015&sort=desc(日期)
.
此API实现的操作包括:
/引文/{oci}恢复运营
此操作检索由输入的开放引文标识符(OCI)标识的引文的引文元数据。
Open Citation Identifier是书目引文的全球唯一持久标识符,其结构简单:小写字母“oci”后跟冒号,后跟两个由破折号分隔的数字。例如,oci:1-18
是有效的OCI。
值得一提的是,在这个REST操作中,前缀“oci:”不应该则只应提供OCI的以破折号分隔的数字,如下例所示。
此操作返回的字段为:
- oci公司:考虑中引文的公开引文标识符(OCI);
- 引用:引用实体的内政部;
- 引用:被引用实体的内政部;
- 创造:根据国际标准化组织日期格式
年-月-日
与引用实体的发布日期相对应;
- 时间跨度:被引用实体的发布日期与被引用实体发布日期之间的间隔,使用XSD持续时间格式
PnYnMnD
;
- 日记_抄送:记录引文是否为期刊自引(即引文和被引实体在同一期刊上发表);
- 作者_抄送:它记录了引文是否是作者自引(即引文和被引用实体至少有一个共同作者)。
所有字段的值都以[索引名称]=>
,以便清楚地识别相关数据的来源,并且可以包含一个或多个信息,由;
。当引文实际包含在两个或多个OpenCitations索引中时,这尤其有用。在这种情况下,只会返回一行,并且各种数据中使用的前缀允许人们了解此类数据的源索引。
接受的HTTP方法 得到
参数 oci公司:类型字符串,正则表达式形状[0-9]+-[0-9]+
结果字段类型国际奥委会(字符串),引用(字符串),引用(字符串)
例子/引文/06101801781-06180334099
示例输出(JSON格式)
[{“oci”:“06101801781-06180334099”,“引用”:“10.7717/peerj-cs.421”,“引用”:“10.1108/jd-12-2013-0166”,“创建”:“2021-03-10”,“时间跨度”:“P6Y0M1D”,“journal_sc”:“否”,“author_sc”:“否”}]
/reference-count/{doi}返回操作
此操作从输入DOI标识的书目实体中检索传出引用的数量。
此操作返回的字段为:
接受的HTTP方法 得到
参数 国防部:类型字符串,正则表达式形状10\+
结果字段类型计数(整数)
例子/参考号/10.1186/1756-8722-6-59
示例输出(JSON格式)
[{“计数”:“75”}]
/引文/{doi}返回操作
此操作将其他引用作品参考列表中出现的所有参考文献的引用数据检索到由输入DOI标识的书目实体,这些实体构成了该标识书目实体的传入引用。
此操作返回的字段为:
- oci公司:考虑中引文的公开引文标识符(OCI);
- 引用:引用实体的内政部;
- 引用:被引用实体的内政部;
- 创造:根据国际标准化组织日期格式
年-月-日
,对应于引用实体的发布日期;
- 时间跨度:被引用实体的发布日期与被引用实体发布日期之间的间隔,使用XSD持续时间格式
PnYnMnD公司
;
- 日记_抄送:记录引文是否为期刊自引(即引文和被引实体在同一期刊上发表);
- 作者_抄送:它记录了引文是否是作者自引(即引文和被引用实体至少有一个共同作者)。
所有字段的值都以[索引名称]=>
,以便清楚地识别相关数据的来源,并且可以包含一个或多个信息,由;
。当引文实际包含在两个或多个OpenCitations索引中时,这尤其有用。在这种情况下,只会返回一行,并且各种数据中使用的前缀允许人们了解此类数据的源索引。
接受的HTTP方法 得到
参数 国防部:类型字符串,正则表达式形状10\..+
结果字段类型oci公司(字符串),引用(字符串),引用(字符串),创建(日期时间),时间跨度(持续时间), ?日记_抄送(字符串), ?作者_抄送(字符串)
例子/引文/10.1186/1756-8722-6-59
示例输出(JSON格式)
[{“oci”:“06101440095-06190834283”,“引用”:“10.3390/分子25092135”,“引用”:“10.1186/1756-8722-6-59”,“创建”:“2020-05-02”,“时间跨度”:“P6Y8M13D”,“journal_sc”:“否”,“author_sc”:“否”},{“oci”:“06101524605-06190834283”,“引用”:“10.1016/j.clim.2016.01.012”,“引用”:“10.1186/1756-8722-6-59”,“创建”:“2016-03”,“时间跨度”:“P2Y6M”,“journal_sc”:“否”,“author_sc”:“否”},{“oci”:“06101763144-06190834283”,“引用”:“10.3390/药剂学13081222”,“引用”:“10.1186/1756-8722-6-59”,“创建”:“2021-08-07”,“时间跨度”:“P7Y11M19D”,“journal_sc”:“否”,“author_sc”:“否”},...]
/引用/{doi}返回操作
此操作检索输入DOI标识的书目实体参考列表中出现的其他引用作品的所有传出引用的引用数据。
此操作返回的字段为:
- oci公司:考虑中引文的公开引文标识符(OCI);
- 引用:引用实体的内政部;
- 引用:被引用实体的内政部;
- 创造:根据国际标准化组织日期格式
年-月-日
与引用实体的发布日期相对应;
- 时间跨度:被引用实体的发布日期与被引用实体发布日期之间的间隔,使用XSD持续时间格式
PnYnMnD
;
- 日记_sc:记录引文是否为期刊自引(即引文和被引实体在同一期刊上发表);
- 作者_抄送:它记录了引文是否是作者自引(即引文和被引用实体至少有一个共同作者)。
所有字段的值都以[索引名称]=>
,以便清楚地识别相关数据的来源,并且可以包含一个或多个信息,由;
。当引文实际包含在两个或多个OpenCitations索引中时,这尤其有用。在这种情况下,只会返回一行,并且各种数据中使用的前缀允许人们了解此类数据的源索引。
接受的HTTP方法 得到
参数 国防部:类型字符串,正则表达式形状10\..+
结果字段类型oci公司(字符串),引用(字符串),引用(字符串),创建(日期时间),时间跨度(持续时间), ?日记_抄送(字符串), ?作者_抄送(字符串)
例子/参考文献/10.1186/1756-8722-6-59
示例输出(JSON格式)
[{“oci”:“06190834283-06101389277”,“引用”:“10.1186/1756-8722-6-59”,“引用”:“10.1124/dmd.111.040840”,“创建”:“2013-08-19”,“时间跨度”:“P2Y1M11D”,“journal_sc”:“否”,“author_sc”:“否”},{“oci”:“06190834283-06102258727”,“引用”:“10.1186/1756-8722-6-59”,“引用”:“10.1093/hmg/3.10.1743”,“创建”:“2013-08-19”,“时间跨度”:“P19Y”,“journal_sc”:“否”,“author_sc”:“否”},{“oci”:“06190834283-06103522789”,“引用”:“10.1186/1756-8722-6-59”,“引用”:“10.3109/08830185.2012.664797”,“创建”:“2013-08-19”,“时间跨度”:“P1Y4M29D”,“journal_sc”:“否”,“author_sc”:“否”},...]