维基

克隆wiki

BibSonomy公司/文档/应用程序编程接口/REST API

BibSonomy使用代表性状态传输提供Web服务(REST),一种分布式超媒体的软件架构风格系统。该术语起源于2000年博士论文罗伊·菲尔丁(Roy Fielding)写的关于网络的文章HTTP协议规范。此网站面向开发人员他们想开发与BibSonomy交互的应用程序。

您可以使用提供的用Java编写的客户端库来访问API,或者如果您愿意,您可以直接与Web服务交互喜欢用Java以外的语言编写客户端。此外,有一个自定义的JabRef-Client可用:

方法

对于统一寻址和标识,URL模式为明确规定。个别查询可以通过以下方式进行部分补充表单的属性key=值.

当前可用方法概述见下表:

描述 方法 路径 状态
用户
所有用户的列表 GET(获取) /用户 🆗
创建用户 岗位 /用户 ❌
用户的详细信息 GET(获取) /用户/[用户名] 🆗
更改用户详细信息 PUT(输出) /用户/[用户名] ❌
删除用户 删除 /用户/[用户名] ❌
用户的帖子列表 GET(获取) /users/[用户名]/posts ?标签=[t1+t2+…+tn] ?resourcetype=(出版物书签) 🆗
创建帖子 岗位 /users/[用户名]/posts 🆗
帖子的详细信息 GET(获取) /users/[用户名]/posts/[资源哈希] 🆗
更改职位 PUT(输出) /users/[用户名]/posts/[资源哈希] 🆗
删除帖子 删除 /users/[用户名]/posts/[资源哈希] 🆗
添加文章文档 岗位 /users/[用户名]/posts/[资源哈希]/documents/ 🆗
职位文件 GET(获取) /users/[用户名]/posts/[资源哈希]/documents/[文件名] 🆗
重命名文章文档 PUT(输出) /users/[用户名]/posts/[资源哈希]/documents/[文件名] 🆗
删除帖子的文档 删除 /users/[用户名]/posts/[资源哈希]/documents/[文件名] 🆗
用户概念列表 GET(获取) /users/[用户名]/concepts ?状态=(所有已拾取) 🆗
用户概念的详细信息 GET(获取) /users/[用户名]/concepts/[概念名] 🆗
创建概念 岗位 /users/[用户名]/concepts/[概念名] 🆗
更新概念 PUT(输出) /users/[用户名]/concepts/[概念名] 🆗
删除概念 删除 /users/[用户名]/concepts/[概念名] 🆗
剪贴板中的帖子 GET(获取) /用户/[用户名]/剪贴板 🆗
朋友
用户的好友列表 GET(获取) /用户/[用户名]/好友 ?关系=(传入ǀ传出) 🆗
将用户添加为好友 岗位 /用户/[用户名]/好友 🆗
所有组的列表 GET(获取) /组 🆗
创建组 岗位 /组 ❌
组的详细信息 GET(获取) /组/[组名] 🆗
“更改”组 PUT(输出) /组/[组名] ❌
删除组 删除 /组/[组名] ❌
组的用户列表 GET(获取) /组/[组名]/用户 🆗
将用户添加到组 岗位 /组/[组名]/用户 ❌
从组中删除用户 删除 /组/[组名]/users/[用户名] ❌
珀森斯
所有人员名单 GET(获取) /人 ❌
创建新人员 岗位 /人 ❌
个人详细信息 GET(获取) /个人/[个人ID] ❌
更新人员的详细信息 PUT(输出) /个人/[个人ID] ❌
个人帖子列表 GET(获取) /个人/[个人ID]/职位 ❌
个人关系列表 GET(获取) /个人/[个人ID]/关系 ❌
添加与某人的关系 岗位 /个人/[个人ID]/关系 ❌
合并某人 岗位 /个人/[personid]/merge ❌
通过interhash、type和index删除人员关系 删除 /个人/[perseid]/relationship/[interhash]/[type]/[index] ❌
全局-标记
所有标签列表 GET(获取) /标签?过滤器=[正则表达式] ?(用户组可视)=[用户名组名] ?阶数=(频率ǀalph) 🆗
标签的详细信息;子/超级/相关标记列表的详细信息 GET(获取) /标签/[标签] 🆗
特定标记的相关标记 GET(获取) /标签/[tag1+tag2+…] ?关系=(相关相似) ?(用户组可视)=([用户名][组名]) ?阶数=(频率ǀalph) 🆗
替换t1、t2…的共享外观,。。。带T1、T2,。。。 PUT(输出) /替代袋?从=[t1+t2+..]到=[t1+t2+..] ❌
全球-概念
流行概念列表 GET(获取) /概念 🆗
概念的细节 GET(获取) /概念/[概念名] 🆗
全球-岗位
所有帖子列表 GET(获取) /立柱 ?标签=[t1+t2+…+tn] ?resourcetype=(出版物书签) ?(用户组可视|person)=[用户名/组名/个人ID] ?resource=[哈希] ?搜索=[search_string] 🆗
最近发布的帖子列表 GET(获取) /帖子/已添加 ?resourcetype=(出版物书签) 🆗
热门帖子列表 GET(获取) /帖子/热门 ?resourcetype=(出版物书签) 🆗

##参数格式所有URL都可以通过这些属性进行补充(使用开始结束仅适用于列表):

  • ?format=(xml|json|csl|bibtex|endnote)(仅限xml格式杰森支持输入,其余格式仅用于的输出出版物)
  • ?开始=[int],从0开始,默认为0**)
  • ?end=[int],从0开始,默认值为20**)

例如。,?开始=0,结束=20返回前20个实体的列表(仅限于“end”-值)。

标签可以通过以下方式进行自定义:

  • ->[标签]标记及其直接子级
  • -->[标签]标记及其子标记(可传递)
  • [标签]->标签及其直接父项
  • [标签]-->标记及其父标记(可传递)
  • <->[标签]标签及其相关标签

全文搜索关于出版物或书签,可以通过/帖子?搜索=[search_string]&resourcetype=(出版物|书签),见上文。搜索涵盖帖子的所有可用元数据(例如标题、作者、ISBN、DOI等)以及相关标签。提供多个搜索词时的标准行为(用+或空格分隔)是指将返回匹配项,其中包含这两个术语,即。/帖子?资源类型=发布和搜索=大众分类+大众分类将返回包含这两者的出版物民俗学大众分类法在任何元数据字段中。除此之外,你可以通过以下方式增强搜索:

  • 排除条款: /帖子/?搜索=大众分类-本体将返回包含folksonomy但不包含本体的匹配项
  • 短语搜索 /帖子/?search=“folksonomies很酷”将返回包含整个短语“folksonomies are cool”的匹配项,但不返回包含例如“folxsonomies is not cool“的匹配项。
  • 通配符: /帖子/?搜索=folksonom\*将返回包含“大众分类法、大众分类法…”的匹配项。

搜索词中的特殊字符:请注意,除了“_”和“'”之外,搜索词中出现的所有特殊(即非字母数字)字符都被视为搜索词分隔符-如果您搜索类似ISBN的/帖子?搜索=isbn:978-0-387-71000-6,然后还会匹配ISBN 387-0-978-71000-6条目,因为数字块被视为不同的搜索项,这不是您想要的。在这种情况下,短语搜索将产生预期结果:

  • /帖子?搜索=“isbn:978-0-387-71000-6”

错误

如果出现错误,API将发送适当的HTTP状态代码(请参阅每个请求的详细信息)和包含所发生错误描述的XML文档。除此之外,XML根元素还包含一个属性斯达,其值为“失败”如果出现错误,以及“确定”否则。

#!xml格式<比氏体 统计=“失败”>
    <错误>一些错误消息</error>
</比氏症>

已更新