作为我们博客的细心读者,你会注意到标记关系,或概念是BibSonomy的一个功能,对我们来说很重要,但可能并不常用。我们之前的一些博客帖子中提出了以下概念
我们最近开始更好地支持BibSomy的REST API通过实现创造新概念在Java REST客户端中。在这篇文章中,我给你一个如何访问此功能的示例。由于我们从头开始,因此本文也很好地介绍了如何使用Java REST客户端。
设置Maven
使用马文for构建管理确实简化了很多事情,所以让我们使用它。首先,为项目创建一个目录并更改到该目录。你所做的一切现在都会发生在那里。然后在该目录中,为源代码创建一个目录:
mkdir-p src/main/java
然后创建一个名为pom.xml(pom.xml)包含以下内容:
<?xml版本=“1.0”编码=“UTF-8”?><项目xmlns=“http://maven.apache.org/POM/4.0.0" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0.xsd"><modelVersion>4.0.0测试<groupId>com示例</groupId><artifactId>测试<版本>0.0.1</版本><存储库><存储库><id>dev.bibsonomy.org<网址>http://dev.bibsonomy.org/maven2/</url></repository></repositories(存储库)><依赖项><依赖性><groupId>org.bibsonomy</groupId><artifactId>bibsonomy-rest-client<版本>2.0.43</依赖性><依赖性><groupId>org.bibsonomy</groupId><artifactId>bibsonomy-model<版本>2.0.43</依赖性></依赖项></项目>
如果一切正常,您现在可以通过呼叫进行测试根项目上进行构建它会用最后一个
[信息]构建成功
编写和调用Java代码
现在可以开始编写第一个Java代码了。创建文件src/main/java/Test.java包含以下内容:
类别测试{公共静态void main(字符串参数[]){System.out.println(“你好,世界!”);}}
您可以通过调用根项目上进行构建再一次。生成的JAR文件测试-0.0.1.jar将位于目标文件夹。您可以使用以下命令运行此类
java-cp target/test-0.0.1.jar测试
或者与
mvn-exec:java-Dexec.mainClass=“测试”
后者是下一步的首选,因为您将包括一些依赖Maven自动解析的库。
调用REST API
更改文件测试.java至以下代码:
导入java.util.*;导入org.bibsonomy.common.enums.*;导入组织bibsonomy.model.*;导入org.bibsonomy.model.logic.*;导入org.bibsonomy.model.enums.*;导入org.bibsonomy.rest.client.*;类别测试{公共静态void main(字符串参数[]){RestLogicFactory rlf=新RestLogic工厂(“http://www.bibsonomy.org/api");LogicInterface逻辑=rlf.getLogicAccess(“jaeschke”,“YOUR-API-KEY-HERE”);列表<Post<BibTex>>posts=logic.getPosts(BibTex.class,GroupingEntity.USER,“jaeschke”,null,null、null、null、Order.ADDED,null和null,0,1);for(Post<BibTex>帖子:帖子){BibTex发布=post.getResource();System.out.println(publication.getTitle());}}}
请注意,您必须更改线路
LogicInterface逻辑=rlf.getLogicAccess(“jaeschke”,“YOUR-API-KEY-HERE”);
使用BibSonomy用户名而不是“jaeschke”。您还必须插入API密钥,您可以从中获取BibSonomy的设置页面.编译时(根项目上进行构建)然后运行(mvn-exec:java-Dexec.mainClass=“测试”)这个类,它应该打印我最后一篇发表文章。现在再次更改该代码,以最终创建概念。
使用REST API创建概念
导入java.util.*;导入org.bibsonomy.common.enums.*;导入组织bibsonomy.model.*;导入org.bibsonomy.model.logic.*;导入org.bibsonomy.model.enums.*;导入org.bibsonomy.model.util.*;导入org.bibsonomy.rest.client.*;类别测试{公共静态void main(字符串参数[]){LogicInterface逻辑=新的RestLogicFactory().getLogicAccess(“jaeschke”,“YOUR-API-KEY-HERE”);标签概念=新标签(“科学”);concept.addSubTag(新标签(“物理”));concept.addSubTag(新标签(“化学”));concept.addSubTag(新标签(“生物学”));logic.createConcept(concept,GroupingEntity.USER,“jaeschke”);}}
同样,您必须在呼叫中更改您的凭据获取逻辑访问().
代码做什么?首先,它为“科学”概念创建了一个对象
标签概念=新标签(“科学”);
然后添加子概念“物理”、“化学”和“生物”:
concept.addSubTag(新标签(“物理”));concept.addSubTag(新标签(“化学”));concept.addSubTag(新标签(“生物学”));
最后,概念存储在服务器上:
logic.createConcept(concept,GroupingEntity.USER,“jaeschke”);
请注意,您必须在此处用用户名交换“jaeschke”,因为您只能为自己的帐户创建概念。然后,您可以在侧边栏中找到这个概念:
就是这样!:-)
快乐编程和标记!