用户须知
用于CSTR标识注册,支持科学数据、期刊论文、专利、软著、预印本、仪器设备、学位论文7种元数据模板。若您不清楚,请邮件联系管理员(cstr@cnic.cn)
SDK源码预览及下载:
https://gitee.com/datapid/pid-sdk-java.git
请求地址
环境 | HTTPS请求地址 | Method |
---|---|---|
正式环境 | https://www.cstr.cn/openapi/v2/pid-common-service/registerIdentity/batch.register/{type} | POST |
沙盒环境 | https://www.cstr.cn/sandbox/openapi/v2/pid-common-service/registerIdentity/batch.register/{type} | POST |
请求参数中的{type}为标识元数据模板类型,取值范围
序号 | type | 描述 |
---|---|---|
1 | commondata | 科学数据 |
2 | journal | 期刊论文 |
3 | patent | 专利 |
4 | sftcopyright | 软著 |
5 | preprint | 预印本 |
6 | equipment | 仪器设备 |
7 | dissertation | 学位论文 |
公共请求参数 Header 传参
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
clientId | String | 是 | 32 | 分配给开发者的应用ID | 2014072300007148 |
secret | String | 是 | 32 | 密钥 | 32位长度字符串 |
参数详情
Body 请求参数为标识元数据,格式为xml或JSON,元数据说明详见如下
序号 | 元数据模板类型 | 描述 | 资源链接 |
---|---|---|---|
1 | commondata | 科学数据 | 《科学数据-参数详情》 |
2 | journal | 期刊论文 | 《期刊论文-参数详情》 |
3 | patent | 专利 | 《专利-参数详情》 |
4 | sftcopyright | 软著 | 《软著-参数详情》 |
5 | preprint | 预印本 | 《预印本-参数详情》 |
6 | equipment | 仪器设备 | 《仪器设备-参数详情》 |
7 | dissertation | 学位论文 | 《学位论文-参数详情》 |
公共响应参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
code | int | 是 | - | 网关返回状态码 | 200 |
message | String | 是 | - | 网关返回码描述信息 | 标识注册失败 |
timestamp | String | 是 | - | 时间戳,参见具体的API接口文档 | 2021-04-06 10:06:35 |
data | Map | 否 | - | 业务返回数据,参见响应参数 | 字符串,对象 |
请求参数示例
序号 | 元数据模板类型 | 描述 | 资源链接 |
---|---|---|---|
1 | commondata | 科学数据 | 《科学数据-参数示例》 |
2 | journal | 期刊论文 | 《期刊论文-参数示例》 |
3 | patent | 专利 | 《专利-参数示例》 |
4 | sftcopyright | 软著 | 《软著-参数示例》 |
5 | preprint | 预印本 | 《预印本-参数示例》 |
6 | equipment | 仪器设备 | 《仪器设备-参数示例》 |
7 | dissertation | 学位论文 | 《学位论文-参数示例》 |
请求示例
public void testRegister() throws IOException {
// **** 注意,提供字典值的字段,均需要使用字典中的key值
//单条或多条标识信息
List<BaseMetadata> metadataList = Lists.newArrayList();
//资源创建者
Creator creator = new Creator();
creator.setCreatorNameCN("梅赫梅特");
creator.setCreatorNameCN("Mehmet Sinan Atkın");
creator.setCreatorIdentifier("0000-0003-3054-6031");
creator.setCreatorIdentifierType("01");
creator.setCreatorOrganizationCN("清华大学");
creator.setCreatorOrganizationEN("Tsinghua University");
creator.setCreatorOrganizationIdentifier("grid.7256.6");
creator.setCreatorOrganizationIdentifierType("02");
//贡献者
Contributor contributor = new Contributor();
contributor.setContributorNameCN("艾萨");
contributor.setContributorNameEN("Esa Firmansyah");
contributor.setContributorType("1");
contributor.setContributorIdentifier("0000-0003-3054-6031");
contributor.setContributorIdentifierType("03");
contributor.setContributorOrganizationCN("清华大学");
contributor.setContributorOrganizationEN("Tsinghua University");
contributor.setContributorOrganizationIdentifier("grid.7256.6符");
contributor.setContributorOrganizationIdentifierType("01");
contributor.setContributionType("01");
//替代标识符
Identifier identifier = new Identifier();
identifier.setIdentifierType("22");
identifier.setIdentifierValue("31253.11.SCIENCEDB.TEST.J00001.00182");
//主题与分类
Subject subject = new Subject();
subject.setKeyWordsCN(Arrays.asList("中国,积雪物候,积雪深度,雪水当量,积雪反照率,积雪密度,积雪专题地图"));
subject.setKeyWordsEN(Arrays.asList("China,snow phenology,snow depth,snow water equivalent,snow albedo,snow density,thematic map of snow cover"));
subject.setSubjectName(Arrays.asList("110"));
subject.setSubjectNameStandard("01");
//关联标识符
Relation relation = new Relation();
relation.setRelationType("01");
relation.setIdentifierValue("31253.11.SCIENCEDB.TEST.J00001.00182");
relation.setIdentifierType("22");
//版权
Copyright copyright = new Copyright();
copyright.setCopyrightDescription("数据完整性检测软件V1.112");
copyright.setCopyrightCertificateNumber("软著登字2650652号");
//资助者
Funder funder = new Funder();
funder.setFunderProjectName("Understanding cell-nanoparticle interactions through mechanobiology");
funder.setFunderName("欧盟");
funder.setFunderProjectNumber("101031744");
//设置科技资源标识属性 - 可通过数据库查询创建元数据
BaseMetadata metadata = BaseMetadata.builder()
.resourceChineseName("多频多角度地基微波辐射计与雷达主被动协同观测数据集(草地,2018年)")
.resourceName("Multi-frequency and +J3Multi-Angle Ground-based Microwave Radiometer and Radar Active and Passive Observation Data Set (Grassland, 2018)")
.identifier("14804.11.test")
.resourceNameType("01")
.urls(Arrays.asList("http://test.pid21.cn"))
.resourceType("11")
.identificationStatus(0)
.descriptionCN("本数据集来源于滦河流域土壤水分遥感试验中的多频多角度地基微波辐射计与雷达主被动协同观测试验。试验地点位于内蒙古自治区正蓝旗昕元牧场(115.93°E, 42.04°N),数据获取于2018年夏季。数据集包含四个部分,即:亮温数据、后向散射数据、土壤数据和植被数据。") //科技资源描述
.descriptionEN("This dataset is derived from the active and passive observation experiment of multi-frequency and multi-angle ground-based microwave radiometer and radar in the remote sensing experiment of soil moisture in the Luanhe River Basin.")
.creators(Arrays.asList(creator))
.submitOrgName("国家青藏高原数据中心")
.submitOrgAddress("北京市朝阳区林萃路16号院3号楼")
.submitOrgPostcode("158100")
.submitOrgPhone("(010)64833041")
.submitOrgEmail("test@itpcas.ac.cn")
.registerOrganizationCN("科学数据银行")
.registerOrganizationEN("Science Data Bank")
.publicationDate(new Date())
.shareChannel("1")
.shareRange("01")
.process("用户需要获取中心的数据,需要首先登陆网站注册,然后通过客服电话或QQ联系客服,并提供说明需要获取的数据以及数据的用途以及证明材料,审核通过后,用户签署协议后,方可获取数据。")
.contributors(Arrays.asList(contributor))
.alternativeIdentifiers(Arrays.asList(identifier))
.subjectClassifications(Arrays.asList(subject))
.associationIdentifiers(Arrays.asList(relation))
.copyrights(Arrays.asList(copyright))
.funders(Arrays.asList(funder))
.labelingSuggestions("Xiaoli Ren, Honglin He, Li Zhang, Guirui Yu. Global radiation; photosynthetically active radiation; and the diffuse components dataset of China; 1981–2010. V1. https://datapid.cn/31253.11.sciencedb.555. (2018-01-11).") //科技资源引用标注建议
.build();
//可放入多条元数据进行批量注册 - list.size() < 200
metadataList.add(metadata);
//设置批量注册 cstr 元数据及前缀信息
MetaDataWrapper wrapper = new MetaDataWrapper();
wrapper.setMetadatas(metadataList);
//分配5位机构代码
wrapper.setPrefix("31253");
//生成数据格式可选 json/xml
String json = JacksonUtils.create("json").convert(wrapper);
log.debug("json cstr metadata list is : {}",json);
System.out.println(json);
//执行标识注册并返回结果
String result =
PidClient.create("clientId", "secret")
.request(AllRegisterRequest.builder().paramType(ParamType.XML).params(xml).type(DataType.CSTR.getCode())
.execute();
log.debug("response is : {}",result);
}
public void testRegister() throws IOException {
//作者信息
JournalAuthorInformation jai = new JournalAuthorInformation();
jai.setName("黄海洪");
jai.setEmail("haihonghuang@sif.com");
jai.setOrganizations(Arrays.asList("作者单位名称"));
// 资助机构信息
JournalFunder journalFunder = JournalFunder.builder()
.projectId("2017FY100500")
.projectType("104")
.projectName("科技部国家科技基础资源调查专项").build();
// 本期期刊信息
Journalissue journalissue = Journalissue.builder()
.volume("7")
.issue("3")
.year("2022")
.month("6")
.day("6").build();
JournalMetadata metadata = JournalMetadata.builder()
.identificationStatus(1)//标识状态 0:草稿1:可注册 2:可发现
.journelCN("中国科学数据")
.journelCN("淡化条件下生物絮团技术对凡纳滨对虾生长与水质的影响")
.journelEN("China Scientific Data")
.journelEN("Effect of biofloc technology (BFT) on Litopenaeus vannamei growth, water quality and culture benefits in freshwater with low salinity condition")
.identifier("35645.14.test.11-6035.ncdc.2021.0030.zh")
.issn("2096-2223")
.cn("11-6035/N")
.journalissue(journalissue)
.titleCN("淡化条件下生物絮团技术对凡纳滨对虾生长与水质的影响")
.titleEN("Effect of biofloc technology (BFT) on Litopenaeus vannamei growth, water quality and culture benefits in freshwater with low salinity condition")
.keywordsCN(Arrays.asList("凡纳滨对虾",
"淡化",
"生物絮团",
"生长",
"水质"))
.keywordsEN(Arrays.asList("Vannabei shrimp",
"desalination",
"biofloc",
"growth",
"water quality"))
.abstractCN("[目的]为研究淡化条件下生物絮团技术对凡纳滨对虾成虾养殖的影响。[方法]在5‰盐度条件下,应用200L水体进行普通养殖(对照组)与生物絮团养殖(BFT组),放养密度90尾/m3,并测定两种养殖方式对虾生长指标与水质指标,以及分析养殖经济效益和污染物减排效果。[结果]结果显示,经过63d的养殖,BFT组对虾成活率(100%)和生产力(1.32 kg/m3)显著高于对照组(P<0.05),同时的对虾平均体重(13.20±1.64 g)、特定生长速率(4.26±0.20%/d)和饵料系数(1.09±0.14)等也均优于对照(P>0.05)。[结论]研究表明,淡化条件下采用BFT养殖凡纳滨对虾能够保持良好的水质,提高成活率,促进生长,降低饵料系数。")
.abstractEN("[Objective]For investigating the effects of biofloc technology (BFT) on commercial culture of adult Litopenaeus vannameishrimp [Methods] as well as environment in inland freshwater with low salinity, the growth performances of shrimp, water quality parameters, economic and environmental benefits were measured for both BFT and control system, by using 200 liters water with a salinity of 5‰ at a density of 90 shrimp per m3 in the present study.[Results] Results showed that after a 63-days culture, the survival rate (100%) and productivity (1.32 kg/m3) of shrimp from BFT system were significantly higher than those of control system, respectively (P<0.05). And other growth performance indices, such as the average individual weight (13.20±1.64 g), special growth rate (4.26±0.20%/d) and feed conversion ratio (1.09±0.14) were also all higher in BFT system compare to control (P>0.05).[Conclusions] In conclusion, application of BFT in inland culture of L. vannamei under low salinity condition not only elevated survival rate, improve growth and reduce FCR of shrimp.")
.doi("doi号")
.url("http://chinaxiv.org/abs/202205.00115")
.authors(Arrays.asList(jai))
.projects(Arrays.asList(journalFunder))
.build();
//单条或多条标识信息
List<JournalMetadata> metadataList = Lists.newArrayList();
//可放入多条元数据进行批量注册 - list.size() < 200
metadataList.add(metadata);
//设置批量注册 预印本 元数据及前缀信息
JournalDataWrapper wrapper = new JournalDataWrapper();
wrapper.setJournalMetadatas(metadataList);
//分配5位机构代码
wrapper.setPrefix("35645");
//生成数据格式可选 json/xml
String json = JacksonUtils.create("json").convert(wrapper);
log.debug("json metadata list is : {}",json);
System.out.println(json);
//执行标识注册并返回结果
String result =
PidClient.create("clientId", "secret")
.request(AllRegisterRequest.builder().paramType(ParamType.JSON).params(json).type(DataType.JOURNAL.getCode())
.execute();
log.debug("response is : {}",result);
}
public void testRegister() throws IOException {
Date applicationTime = DateUtils.parseDate("2021-01-18", "yyyy-MM-dd");
Date openDate = DateUtils.parseDate("2021-05-18", "yyyy-MM-dd");
PatentMetadata metadata = PatentMetadata.builder()
.titleCN("一种锂硫电池负极的制备方法和使用该负极的锂硫电池") //中文标题
.titleEN("") // 英文标题 没有可不填写
.openNo("CN112820859B") // 科技资源自有编号 公开(公告)号
.openDate(openDate) // 公开(公告)时间 yyyy-MM-dd
.abstractCN("本发明公开了一种锂硫电池负极的制备方法和使用该负极的锂硫电池,属于锂电池技术领域。锂硫电池负极的制备方法为:以集电体为基底,与锂金属负极组件1复合成组合体1;以组合体1为基底,与锂金属负极组件2复合成组合体2;再以组合体2为基底,且以组合体2未和锂金属负极组件2结合的面作为复合面,与锂金属负极组件3复合成组合体3;再以组合体3作为基底,与锂金属负极组件4复合成锂硫电池负极。锂金属负极组件1至4的尺寸及与集电体结合的位置不同。将锂硫电池负极单元和正极单元、隔离膜通过叠片、注入电解液、封装形成锂硫电池。本发明锂金属负极在改善锂硫电池循环寿命前提下,可以提升锂硫电池能量密度和和降低锂硫电池的成本。") // 中文摘要
.abstractEN("") //英文摘要 没有英文可不填写
.applicant("中国科学院山西煤炭化学研究所") // 申请人
.inventors(Arrays.asList("陈成猛","王振兵","苏方远","孔庆强","戴丽琴","杨亚杰")) // 发明(设计)人
.applicationTime(applicationTime) // 申请时间
.applicationNo("CN202110063163.4")//申请号
.classifyCode("H01M4/1395") // 分类代码
.taxonomy("IPC") // 分类标准
.classifyVersion("2010.01") // 分类版本
.keepCenter("中国科学院成都文献情报中心") // 保存机构
.accessRestrictions("公开") //访问限制
.url("http://information.casip.ac.cn/caspatent/showdetails.xhtml?para=CN202110063163.4&ptype=patent") // 专利访问地址
.identificationStatus(2)//标识状态 0:草稿1:可注册 2:可发现
.identifier("35645.16.test.20220101.CN202210000231.7")
.build();
//单条或多条标识信息
List<PatentMetadata> metadataList = Lists.newArrayList();
//可放入多条元数据进行批量注册 - list.size() < 200
metadataList.add(metadata);
//设置批量注册 专利 元数据及前缀信息
PatentDataWrapper wrapper = new PatentDataWrapper();
wrapper.setPatentMetadatas(metadataList);
//分配5位机构代码
wrapper.setPrefix("35645");
//生成数据格式可选 json/xml
String json = JacksonUtils.create("xml").convert(wrapper);
log.debug("XML metadata list is : {}",json);
System.out.println(json);
//执行标识注册并返回结果
String result =
PidClient.create("clientId", "secret")
.request(AllRegisterRequest.builder().paramType(ParamType.XML).params(xml).type(DataType.PATENT.getCode())
.execute();
log.debug("response is : {}",result);
}
public void testRegister() throws IOException, ParseException {
//单条或多条标识信息
List<SoftWareMetadata> metadataList = Lists.newArrayList();
List<String> copyRightOwner = new ArrayList<>();
List<String> softWareCreator = new ArrayList<>();
copyRightOwner.add("中国科学院华南植物园");
copyRightOwner.add("中国科学院生态环境研究中心");
softWareCreator.add("刘红晓");
softWareCreator.add("韩宝龙");
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm;ss");
Date parse = simpleDateFormat.parse(simpleDateFormat.format(date));
SoftWareMetadata metadata = new SoftWareMetadata();
metadata.setSoftWareName("临潼诚物联网系统[简称:临潼诚物联网]V1.0");
metadata.setCopyRightOwner(copyRightOwner);
metadata.setRegistrationDate(parse);
metadata.setRegistrationNo("2020SR0491316");
metadata.setUrls(Arrays.asList("https://www.cstr.cn"));
metadata.setResourceType("43");
metadata.setIdentificationStatus(2);
metadata.setCertificateNo("软著登字第5370012号");
metadata.setSoftWareCreator(softWareCreator);
metadata.setDevCompletionDate("2021-8-18");
metadata.setPublicationDate(parse);
metadata.setGetRightWay("原始取得");
metadata.setClaims("全部权利");
metadata.setIdentifier("35645.43.0003");
//可放入多条元数据进行批量注册 - list.size() < 1000
metadataList.add(metadata);
//设置批量注册 cstr 元数据及前缀信息
SoftWareWrapper wrapper = new SoftWareWrapper();
wrapper.setMetadatas(metadataList);
//分配5位机构代码
wrapper.setPrefix("35645");
//生成数据格式可选 json/xml
String xml = JacksonUtils.create("xml").convert(wrapper);
System.out.println(xml);
String result =
PidClient.create("clientId", "secret")
.request(AllRegisterRequest.builder().paramType(ParamType.XML).params(xml).type(DataType.SOFTWARE.getCode())
.execute();
log.debug("response is : {}",result);
System.out.println(result);
}
public void testRegister() throws IOException {
//作者信息
PreprintAuthorInformation pai = new PreprintAuthorInformation();
pai.setName("作者姓名");
pai.setEmail("作者邮箱");
pai.setOrganizations(Arrays.asList("作者机构信息"));
PreprintMetadata metadata = PreprintMetadata.builder()
.language("CN")
.type("100") //物理学
.identifier("35645.36.test.202205.00115.V1")
.url("http://chinaxiv.org/abs/202205.00115")
.doi("10.23532/1235.39542.353")
.version("v1") // 版本号
.titleCN("淡化条件下生物絮团技术对凡纳滨对虾生长与水质的影响")
.titleEN("Effect of biofloc technology (BFT) on Litopenaeus vannamei growth, water quality and culture benefits in freshwater with low salinity condition")
.keywordsCN(Arrays.asList("凡纳滨对虾",
"淡化",
"生物絮团",
"生长",
"水质"))
.keywordsEN(Arrays.asList("Vannabei shrimp",
"desalination",
"biofloc",
"growth",
"water quality"))
.abstractCN("[目的]为研究淡化条件下生物絮团技术对凡纳滨对虾成虾养殖的影响。[方法]在5‰盐度条件下,应用200L水体进行普通养殖(对照组)与生物絮团养殖(BFT组),放养密度90尾/m3,并测定两种养殖方式对虾生长指标与水质指标,以及分析养殖经济效益和污染物减排效果。[结果]结果显示,经过63d的养殖,BFT组对虾成活率(100%)和生产力(1.32 kg/m3)显著高于对照组(P<0.05),同时的对虾平均体重(13.20±1.64 g)、特定生长速率(4.26±0.20%/d)和饵料系数(1.09±0.14)等也均优于对照(P>0.05)。[结论]研究表明,淡化条件下采用BFT养殖凡纳滨对虾能够保持良好的水质,提高成活率,促进生长,降低饵料系数。")
.abstractEN("[Objective]For investigating the effects of biofloc technology (BFT) on commercial culture of adult Litopenaeus vannameishrimp [Methods] as well as environment in inland freshwater with low salinity, the growth performances of shrimp, water quality parameters, economic and environmental benefits were measured for both BFT and control system, by using 200 liters water with a salinity of 5‰ at a density of 90 shrimp per m3 in the present study.[Results] Results showed that after a 63-days culture, the survival rate (100%) and productivity (1.32 kg/m3) of shrimp from BFT system were significantly higher than those of control system, respectively (P<0.05). And other growth performance indices, such as the average individual weight (13.20±1.64 g), special growth rate (4.26±0.20%/d) and feed conversion ratio (1.09±0.14) were also all higher in BFT system compare to control (P>0.05).[Conclusions] In conclusion, application of BFT in inland culture of L. vannamei under low salinity condition not only elevated survival rate, improve growth and reduce FCR of shrimp.")
.authors(Arrays.asList(pai))
.year("2022")
.month("5")
.day("18")
.projects(Arrays.asList(PreprintFunder.builder().projectId("项目编号").projectType("项目类型数据字典").projectName("项目名称").build()))
.identificationStatus(2)//标识状态 0:草稿1:可注册 2:可发现
.build();
//单条或多条标识信息
List<PreprintMetadata> metadataList = Lists.newArrayList();
//可放入多条元数据进行批量注册 - list.size() < 200
metadataList.add(metadata);
//设置批量注册 预印本 元数据及前缀信息
PreprintDataWrapper wrapper = new PreprintDataWrapper();
wrapper.setPreprintMetadatas(metadataList);
//分配5位机构代码
wrapper.setPrefix("35645");
//生成数据格式可选 json/xml
String json = JacksonUtils.create("json").convert(wrapper);
log.debug("json metadata list is : {}",json);
System.out.println(json);
//执行标识注册并返回结果
String result =
PidClient.create("clientId", "secret")
.request(AllRegisterRequest.builder().paramType(ParamType.JSON).params(json).type(DataType.PREPRINT.getCode())
.execute();
log.debug("response is : {}",result);
}
public void testRegister() throws IOException {
PidEquipmentInfo info = new PidEquipmentInfo();
info.setSubmitOrgName("黑龙江省黑河市黑河学院");
info.setUrls(Arrays.asList("http://www.baidu.com"));
info.setDescriptionCN("天文望远镜是观测天体、捕捉天体信息的主要工具。从1609年伽利略制作第一台望远镜开始,望远镜就开始不断发展,从光学波段到全波段,从地面到空间,望远镜观测能力越来越强,可捕捉的天体信息也越来越多。人类在电磁波段、中微子、引力波、宇宙射线等方面均有望远镜。");
info.setIdentifier("32116.39.0101010002");
info.setResourceChineseName("天文观测望远镜");
//生成数据格式可选 json/xml
String json = JacksonUtils.create("json").convert(Arrays.asList(info));
log.debug("json cstr metadata list is : {}",json);
System.out.println(json);
//执行标识注册并返回结果
String result =
PidClient.create("clientId", "secret")
.request(AllRegisterRequest.builder().paramType(ParamType.JSON).params(json).type(DataType.EQUIPMENT.getCode())
.execute();
log.debug("response is : {}",result);
System.out.println(result);
}
public void testRegister() throws IOException {
//是否使用沙盒环境,将下一行代码放开,则会使用沙盒环境
//System.setProperty(PidRequest.ACTIVE,PidRequest.SANDBOX);
String getIdentifier = PidClient.create("clientId", "secret").request(DissertationGetIdentifierRequest.builder().text("授予机构","培养单位", "学位论文类型", 2020)).execute();// year 为发稿年份
JSONObject object = JSON.parseObject(getIdentifier);
Integer code = Integer.valueOf(object.getString("code"));
String identifier = "";
if (code == 200){
identifier = object.getJSONObject("data").getString("content");
DissertationOrg dissertationOrg = new DissertationOrg();
dissertationOrg.setGrantCN("中国科学院大学");
dissertationOrg.setGrantEN("University of Chinese Academy of Sciences");
dissertationOrg.setTrainingCN("中国科学院计算机网络信息中心");
dissertationOrg.setTrainingEN("Computer Network Information Center,Chinese Academy of Science");
DissertationAuthor dissertationAuthor = new DissertationAuthor();
dissertationAuthor.setName("张学良");
dissertationAuthor.setOrganizations(Arrays.asList("安徽师范大学地理与旅游学院","xxxxx学院"));
dissertationAuthor.setEmail("zxl@nju.edu.cn");
DissertationProject dissertationProject = new DissertationProject();
dissertationProject.setProjectId("2017FY100500");
dissertationProject.setProjectType("107");
dissertationProject.setProjectName("科技部国家科技基础资源调查专项");
DissertationProject dissertationProject2 = new DissertationProject();
dissertationProject2.setProjectId("42171307");
dissertationProject2.setProjectType("107");
dissertationProject2.setProjectName("国家自然科学基金");
// 导师相关
DissertationSupervisor supervisor = new DissertationSupervisor();
supervisor.setSequence(1);
supervisor.setName("张文旭");
supervisor.setAffiliation(Arrays.asList("中国科学院大学"));
DissertationMetadata metadata = DissertationMetadata.builder()
.org(dissertationOrg)// 机构信息
.type("01")//类型
.day("01")//发布日
.month("07")//发布月
.year("2020")
.titleCN("中国积雪特性时空分布电子地图集") //中文标题
.titleEN("Computer Network Information Center,Chinese Academy of Science") // 英文标题
.url("https://nmdc.cn/metadata/detail?id=5f508efd3b634971273f7da2")
.abstractCN("积雪作为冰冻圈的重要组成部分,对气候变化、水资源..") // 中文摘要
.abstractEN("As an important part of the cryosphere, snow cover...") //英文摘要 没有英文可不填写
.identifier(identifier) //
.doi("10.11922/11-6035.ncdc.2021.0030.zh")// doi 好
.keywordsCN(Arrays.asList("中国","积雪物候","积雪深度"))//中文关键词
.keywordsEN(Arrays.asList("China","snow phenology","snow depth"))//英文关键词
.author(dissertationAuthor)//文章作者
.projects(Arrays.asList(dissertationProject,dissertationProject2))//论文资助项目
.supervisors(Arrays.asList(supervisor)) // 导师相关信息
.identificationStatus(2)//标识状态 0:草稿1:可注册 2:可发现
.build();
//单条或多条标识信息
List<DissertationMetadata> metadataList = Lists.newArrayList();
//可放入多条元数据进行批量注册 - list.size() < 200
metadataList.add(bulidMetadata(identifier));
//设置批量注册 学位论文 元数据及前缀信息
DissertationDataWrapper wrapper = new DissertationDataWrapper();
wrapper.setMetadatas(metadataList);
//生成数据格式可选 json/xml
String xml = JacksonUtils.create("xml").convert(wrapper);
log.debug("XML metadata list is : {}",xml);
System.out.println(xml);
//执行标识注册并返回结果
String result =
PidClient.create("clientId", "secret")
.request(AllRegisterRequest.builder().paramType(ParamType.XML).params(xml).type(DataType.DISSERTATION.getCode())
.execute();
log.debug("response is : {}",result);
System.out.println(result);
}else{
log.error("标识号生成失败");
}
}
响应实例
{ "code": 200, "message": "success", "timestamp":
"2019-07-25 11:29:21", "data": null }
异常示例
{ "code": 500, "message": "数据注册错误", "timestamp":
"2019-07-25 11:29:21", "data": null }
业务错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
200 | 注册功能 | |
400 | 请求参数错误 | 请检查请求参数格式,是否为合法XML或JSON |
500 | 标识注册异常 | 根据返回的参数验证失败信息,修改后重新发起请求 |