![家谱开放数据接口说明_第1页](http://file4.renrendoc.com/view14/M05/35/39/wKhkGWaEYDCAOjbBAAINIegLURI343.jpg)
![家谱开放数据接口说明_第2页](http://file4.renrendoc.com/view14/M05/35/39/wKhkGWaEYDCAOjbBAAINIegLURI3432.jpg)
![家谱开放数据接口说明_第3页](http://file4.renrendoc.com/view14/M05/35/39/wKhkGWaEYDCAOjbBAAINIegLURI3433.jpg)
![家谱开放数据接口说明_第4页](http://file4.renrendoc.com/view14/M05/35/39/wKhkGWaEYDCAOjbBAAINIegLURI3434.jpg)
![家谱开放数据接口说明_第5页](http://file4.renrendoc.com/view14/M05/35/39/wKhkGWaEYDCAOjbBAAINIegLURI3435.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
家谱开放数据接口说明
一、综述
家谱开放数据接口目前提供以下两种形式的数据接口。
1.通过访问资源URI获取数据:根据标准API接口,通过访问单个资源的URI,获得
该资源的所有RDF三元组(属性和值)。
2.通过查询接口获取特定类型的数据:通过特定API接口,获取"姓氏"、"先祖名
人"、"地点"、"机构"、"朝代"、"书目"的数据。(每次最多取得20条数据)
3.通过SparqlEndpoint获取数据
注:使用家谱开放数据接口时需要提供APIKey进行验证。开发人员请在上海图书馆数
据开放平台进行用户注册,并获取独立的APIKey.
注册网址:
二、接口调用方式说明
1.通过访问资源URI获取数据
功能:输入资源URI,获取资源的RDF数据。如返回结果数据中存在其他资源的
URI时,可通过该接口获取其他资源的RDF数据。
API接口:[参数l]&key=[参数2]
输入:
[参数1]:资源URI
[参数2]:用户的APIKey
输出:包含资源及其属性和值的JSON-LD数据
资源类型与URI设计规范:
命名空间
家谱文献题名/jp/authority/title/
实例(bfInstance)/jp/resource/instance/
朝代/authority/temporal/
版本类型取值词表/vocab/edition/
作品(bf:Work)/jp/resource/work/
谱籍地/entity/place/
腌/entity/organization/
单件(bf:Item)/jp/resource/item/
人物/jp/entity/person/
堂号/jp/authority/titleofancestraltemple/
姓氏/authority/familyname/
例如:
输入:
uri=
&key=02cdb77b436d4dc383flb64exxxxxxxxx
输出:
(
"@type":[
L
"label":[
(
"©language":"chf,
“@value":'亶原隙氏家髀
"^language":"chs"z
”@value”:“丰原陈氏家谱”
)
L
"@context":{
"label":""
}
2.通过查询接口获取特定类型的数据
(1)姓氏
功能:输入姓氏获取对应的资源数据。数据匹配方式为完全匹配。
API接口:[参数l]?key=[参数2]
输入:
[参数1]:姓氏
[参数2]:用户的APIKey
输出:包含姓氏属性和值的JSON-LD数据
例如:
输入:K?key=02cdb77b436d4dc383flb64exxxxxxxxx
输出:
(
"@id":吗
"@typeH:
"label":(
(
"(Slanguage":"chs",
"@value":"陈"
},
{
"^language":"en",
"@value":"chen"
},
"@language":"cht",
"@value":"竦"
)
"description":"见于《世本》.西汉《急就章》列为汉代常见姓氏之一。春秋时陈国有陈亢,为孔门弟子,春秋
时齐国有陈乞,事景公为大夫,乂战国时楚国有陈学良,学者。汉代有陈平.阳武人,开国元勋。陈氏为中国古今
最常见的六大姓氏(王李张刘陈赵)之一。《中国人名大辞典》收有陈氏1012例.宋《日家姓》列为第010姓。
"@context":{
"description":
"label":""
}
返回属性说明:
属性类型说明
value:姓名
language:语言
labelliterial"chs":中文简体
"cht":中文繁体
"en":英文
descriptionliterial姓氏描述
(2)先祖名人(升级版)
功能:输入先祖名人的姓氏,姓名,URI,获取对应的资源数据。
API接口:[参数1]&[参数2]&[参数3]?key=[参数4]
参数:姓氏精确查询、姓名模糊查询、UR1精确查询(三个参数任选其一)
返回数据:
•返回人的所有信息及其儿子的URI(可能有多个儿子,那么就多个URI),如果想知道儿子的详细信
息,再输入儿子的URI作为参数再次调用本接口;
•当符合条件的为多个人时,那么返回所有人的所有信息包括其各自儿子的URI;
•如果符合条件的有100个人以上,最多返回100个;
•如果人名相同的有多个人,则显示多个人的详细信息。
输入:
[参数1]:familyName先祖名人姓氏
[参数2]:personName先祖名人姓名
[参数3]:personllri先祖名人URI
输出:包含先祖名人属性和值的JSON-LD数据(数组格式,含所有儿子的URI)
例如:
输入:
输出:
"©graph":(
"@type":
"label":[
(
"@language":"cht",
"@value":"胡昌翼"
},
(
"@language":"chs",
"@value":"胡昌翼"
)
],
"relatedWork":"",
"roleOfFamily":
"temporal":
"temporalValue":"宋代",
"familyName":""
},
(
"@type":,
"label":[
(
"@language":"cht",
"@value":"胡昌翼"
},
(
"@language":"chs",
"@value":"胡昌翼"
)
],
"relatedWork":"",
"roleOfFamily":
"familyName":""
},
(
"@type":,
"label":[
(
"@language":"cht",
"@value":"胡昌翼"
},
(
"@language":"chs",
"@value":"胡昌翼"
)
],
"relatedWork":"",
"roleOfFamily":
"familyName":""
},
(
"@type":,
"label":[
"@language":"cht",
"@value":"胡昌翼"
},
(
"(©language":"chs",
”@value":"胡昌翼"
)
L
"courtesyName":"宏速",
"orderOfSeniority":"十七,
"relatedWork":,
"roleOfFamily":
"temporal":
"temporalValue":"五代彳发唐”,
"familyName":H"
},
(
"@type":,
"label":[
{
"@language":"cht",
"@value":"胡昌翼"
},
(
"(©language":"chs",
”@value":"胡昌翼"
)
I
"parentOf":(
),
"spouseOf":
"birthday":"天祐甲子三月一日",
"courtesyName":"宏速",
"deathday":"宋咸平己亥十月初三”,
"description":"字宏11行十七本大唐昭宗皇帝子母何后以天祐甲子三月一日生公于陕曾朱温逆遭帝
洛陶兼祖三公乃得公以蜀考水羲善舄子遂忧胡姓=以易登彳笈唐同光乙酉明^选士第故耦舄明^胡氏事^具列停
卒宋咸平己亥十月初三享年九十有六娶江西德典利瞿詹氏享年九十有三生三子公葬婺源木里之^子端夫人葬婺源
高盒浮舟塘焉口山向均戴墓园,
"genealogyName":"昌翼公",
"generationcharacter":"昌",
"orderOfSeniority":T,
"relatedWork":
"roleOfFamily":
"familyName":
},
(
"@id":吗
"@type":
"label":[
(
"(Slanguage":"cht",
"@value":"胡昌翼"
"@language":"chs",
”@value”:"胡昌翼"
)
],
"relatedWork":"",
"roleOfFamily":"",
"temporal":,
"temporalValue":"天祐元年,
"familyName":""
},
(
"@type":,
"label":[
(
"@language":"cht",
"@value":"胡昌翼"
},
(
"@language":"chs",
"@value":"胡昌翼"
)
],
"relatedWork":
"roleOfFamily":"",
"familyName":""
},
(
"@type":,
"label":[
(
"@language":"chs",
"@value":"胡昌翼"
},
(
"@language":"cht",
"@value":"胡昌翼"
)
],
"courtesyName":"宏造',
"relatedWork":
"roleOfFamily":"",
"familyName":""
)
L
"@context":{
"label":"",
"temporalValue":
"orderOfSeniority":
"courtesyName":
"roleOfFamily":{
"@type":"@id"
},
"familyName":{
"@type":"@id"
},
"relatedWork":{
"@type":"@id"
"temporal":{
"@type":"@id"
},
"spouseOf:{
"@type":"@id"
"parentOf":{
"@type":"@id"
I
"generationcharacter":
"deathday":
"genealogyName":,n',
"description":
"birthday":"H
返回属性说明:
属性类型说明
value:姓名
language:语言
labelliterial**chsM:中文简体
“cht”:中文繁体
“en”:英文
relatedWorkURI相关家谱文献的URI
roleOfFamilyURI角色URI(人在家族中的角色,如始祖、始迁祖等先祖类型。)
familyNameURI姓氏URI
genderliterial性别
familyURI家族URI
childOfURI父亲URI
spouseOfURI配偶URI
genealogyNameliterial谱名(人在家谱上记载的谱名。)
courtesyNameliterial字
pseudonymliterial号
orderOfSeniorityliterial排行
generationcharacterliterial字辈
posthumousTitleliterial啦号
birthdayliterial生于
deathdayliterial卒于
descriptionliterial人物描述
temporalValueliterial朝代描述
temporalURI朝代URI
parentOfURI儿子URI
(3)地名
功能:输入地名,获取对应的资源数据。数据匹配方式为完全匹配。
API接口:[参数l]?key=[参数2]
输入:
[参数1]:地名
[参数2]:用户的APIKey
输出:包含地名属性和值的JSON-LD数据(数组格式)
例如:
输入:
输出:
(
"@type":
"label":[
(
"^language":"chs"z
"@value":"杞县”
},
(
"@language":"cht"z
"@value":"杞㈱,
)
L
"city":"开封市",
"country":[
(
"@language":"chs",
“@value":"中国"
},
(
"^language":"cht"z
“@value":"中尉'
)
I
"county":"杞县,
"province":"河南省",
"sameAs'1:
"@context":{
"country":
"city":""z
"county":
"sameAs":{
"@type":"@id"
},
"label":
"province":""
返回属性说明:
属性类型说明
value:地名(对应"国家"、"省"、"市"、"县"中的最小行政区划)
language:语言
labelliterial"chs":中文简体
"cht":中文繁体
"en":英文
countryliterial国家
provinceliterial省
cityliterial市
countyliterial县
sameAsURI经纬度URI
descriptionliterial地名描述
(4)机构
功能:输入机构的简称或全称,获取对应的资源数据。数据匹配方式为模糊匹配。
API接口:[参数l]?key=[参数2]
输入:
[参数1]:机构简称/全称
[参数2]:用户的APIKey
输出:包含机构属性和值的JSON-LD数据(数组格式)
例如:
输入:
输出:
(
"@type":
"label":[
(
"@language":"chs",
"@value":"上海图书馆"
},
(
"@language":"cht",
"@value":"上海圄善解,
"^language":"en",
"@value":"Shanghailibrary"
)
"abbreviateName":[
"(©language":"chs",
"(©value":"上图"
},
(
"(©language":"cht",
"@value":—
)
1,
"address":{
"@language":"chs",
"@value":”上海市徐汇区淮海中路1555号”
},
"region":
"@context":{
"address":「
,,
"abbreviateName:""z
"label":
"region":{
"@type":"@id"
)
}
返回属性说明:
属性类型说明
value:机构名称
language:语言
labelliterial"chs":中文简体
"cht":中文繁体
"en":英文
labelliterial机构全称
abbreviateNameliterial机构简称
addressliterial地址
regionURI机构所在地URI
(5)朝代
功能:
1.输入朝代、年号,获取朝代起止年数据。
2.输入年号纪年,获取公元年数据。
3.输入公元年,返回朝代纪年。
4.输入朝代,返回年号、帝王、起止年
5.获取所有朝代
API接口:
[参数l]json?key=[参数2]
输入方式1:
[参数1]:朝代或朝代年号。
[参数2]:用户的APIKey
输出:朝代起止年的JSON-LD数据(数组格式)
例如:
输入:
输出:
(
"result":{
"data":"1368~1644",
"uri":""
)
}
输入方式2:
【参数1]:朝代纪年。
[参数2]:用户的APIKey
输出:公元年的JSON-LD数据(数组格式)
例如:
输入:
输出:
(
"result":{
"data":"1369",
"uri":""
)
}
输入方式3:
[参数1]:公元年。
[参数2]:用户的APIKey
输出:朝代纪年的JSON-LD数据(数组格式)
例如:
输入:
输出:
(
"result":{
"data":"明,元至正29年,明2年,明洪武2年”,
"uri":"M
)
}
输入方式4:
[参数1]:朝代。
[参数2]:用户的APIKey
输出:朝代纪年的JSON-LD数据(数组格式)
例如:
输入:
输出:
{
"result":[
(
"monarch":
"reignTitle":
"monarchName":
"label":嗦",
"uri":
"dynasty":嗪",
"end":"-206",
"begin":"-221"
},
(
"monarch'1:"始皇帝",
"reignTitle":
"monarchName":"威政,
"label":"秦",
"uri":
"dynasty":"秦’
"end":"-210",
"begin":M-221"
I
{
"monarch":"二世,
"reignTitle":
"monarchName":"嬴胡亥",
"label":"秦",
"uri":
"dynasty":"秦",
"end":"-207",
"begin":"-209"
},
(
"monarch":
"reignTitle":
"monarchName":"扁子婴",
"label":"秦,
"uri":
"dynasty":"秦,
"end":"-206",
"begin":"-206"
},
(
"monarch":吗
"reignTitle":"秦兴,
"monarchName":"薛举,
"label":"秦秦兴,
"uri":
"dynasty":"秦",
"end":"618",
"begin":"617"
)
]
输入方式5:
[参数1]:temporal.json
[参数2]:用户的APIKey
输出:朝代纪年的JSON-LD数据(数组格式)
例如:
输入:
输出:
(
"data":[
(
"uri":""z
"label":"g",
"end":
"begin":"-1989"
},
(
"uri":,
"label":"商。
"end":,
"begin":"-1559"
]
返回属性
属性类型说明
labelliterial朝代名称
beginliterial朝代开始时间
endliterial朝代截止时间
dynastyliterial朝代
monarchliterial帝王
monarchNameliterial帝王姓名
reignTitleliterial年号
(6)书目数据
功能:输入题名、责任者、姓氏、先祖名人姓名、谱籍地名、堂号、馆藏机构、摘
要中的关键词的任意组合,返回所有匹配的家谱数据。数据匹配方式为模糊匹配。
升级内容:增加先祖名人的信息返回。记录条数最多达到100条。
API接口:
[参数lj&key=[参数2]
输入:
[参数1]:详见*参数表。(多个参数可任意组合,用&链接)
[参数2]:用户的APIKey
输出:家谱的JSON-LD数据(数组格式)
*参数1表
属性类型说明
titlestring标题
creatorstring责任者
familyNamestring姓氏
placestring谱籍地
titleOfAstring堂号
orgstring收藏机构
personstring先祖名人姓名
desstring摘要
输入:
输出:
(
"@graph":[
(
"@id":
"relatedWork":
),
(
"@id":
"relatedWork":""
),
(
"@id":
"@type":
"category":
"edition":{
},
"extent":“一册”,
"instanceOf":
"temporalValue":[
”1944年",
1944
]
},
"@id":"",
"@type":
"heldBy":二
"itemOf":""
"@id":
"@type":
"heldBy":二
"itemOf":""
"@type":
"edition":"不IT,
"identifiedBy":"1160001,;
"subject":
"title":
HH:[
(
"©language":"cht",
"@value":"番禺羽氏族IM二卷(廉柬省廉州市番禺H)N
},
(
"©language":"chs\
"@value":"番禺羽氏族谱二卷(广东省广州市番禺区)"
}
],
"description":"始祖士夫,明代人。一世祖)1麒,字釉漠,明代人」,
"place":""
}
L
"©context":{
"title":{
"@idw:,1
"@type":M@id"
},
"subject":{
"@idn:"",
"@type":"©id"
},
"description":
"place":{
"@type":"@id"
},
"identifiedBy":
"edition":
"relatedWork":{
"@id":
"@type":"@id"
},
"itemOf":{
"@type":"@id"
).
"heldBy":{
"@type":"@id"
},
"extent":二
"instanceOf":{
"@idR::
"@type":w@id"
},
"category":{
"@id":
"@type":"@id"
},
"temporalValue":w"
)
)
返回属性说明:
属性类型说明
作品(graph="/jp/resource/work/")
value:正书名
language:语言
titleliterial
"chs":中文简体
"cht":中文繁体
/vocab/titleURI题名URI
creatorURI责任者URI
contributorURI其他责任者URI
姓氏URI("/authority/familyname/")
或
subjectURI
堂号URI
("/authority/titleofancestraltemple/")
placeURI谱籍地URI
descriptionliterial摘要
实例(graph="/jp/resource/instance/")
categoryURI分类URI(平装、线装、精装…)
editionURI版本URI(抄本、刻本...)
extentliterial
temporalURI出版年代URI
temporal:Valueliterial出版年代描述
instanceOfURI书目URI
单件(graph="/jp/resource/item/")
*一个作品可能关联多个单件
heldByURI馆藏机构URI
itemOfURI版本信息URI
shelfMarkliterial索书号
descriptionliterialD0I
relatedWorkURI家谱URI(此先祖名人属于哪本家谱)
3.通过SparqlEndpoint获取数据
地址::8890/sparql
输入:SPARQL查询语句
输出:HTML,RDF/XML,JSON,Turtle等
三,JSON-LD解析
一、JSON(JavaScriptObjectNotation)一种简单的数据格式,比xml更轻巧。
Json建构于两种结构:
1>"名称/值”对的集合(Acollectionofname/valuepairs)。不同的语言
中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),
哈希表(hashtable),有键列表(keyedlist),或者关联数组(associativearray)。
如:
■
“name":"jackson>,,
“age”:100
2、值的有序列表(Anorderedlistofvalues)»在大部分语言中,它被理解为
数组(array)如:
{_______
“students”:
[
{"name":"jackson","age”:100},
{"name":"michael","age":51}
]
二、解析JSON步骤(以JAVA为例)
A、服务器端将数据转换成json字符串
首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath
路径下(这些可以到JSONTib官网下载:)
/&WebRoot
t>0META-INF
,0WEB-INF
,&lib
吧commons-beanutils-1.7.jar
吧commons-collectionsjar
矗commons-lang.jar
山commons-logging-1.1.l.jar
金.ezmorph.jar
山json-lib-2.2.2-jdkl5jar
[xfweb.xml
Iindexjsp.
然后将数据转为json字符串,核心函数是:
publicstaticStringcreateJsonString(Stringkey,Objectvalue)
JSONObjectjsonObject二newJSONObject();
jsonObject.put(key,value);
returnjsonObject.toStringO;
)
B、客户端将json字符串转换为相应的javaBean
1、客户端获取json字符串
publicclassHttpUtil
publicstaticStringgetJsonContent(StringurlStr)
try
{//获取HttpURLConnection连接对象
URLurl=newURL(urlStr);
HttpURLConnectionhttpConn=(H11pURLConnection)url
.openConnection();
//设置连接属性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod(Z,GET/Z);
//获取相应码
intrespCode=httpConn.getResponseCode();
if(respCode==200)
returnConvertStream2Jsori(httpConn.getInputStream0);
catch(MalformedURLExceptione)
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
catch(lOExceptione)
(
//TODOAuto-generatedcatchblock
e.printStackTrace();
)
〃〃
return;
privatestaticStringConvertStream2Json(InputStream
inputStream)
StringjsonStr=;
//ByteArrayOutputStream相当于内存输出流
ByteArrayOutputStreamout=newByteArrayOutputStream();
byte[]buffer=newbyte[1024];
intlen=0;
//将输入流转移到内存输出流中
try
while((len=inputstream,read(buffer,0,
buffer,length))!=-1)■
■out.…write(buffer,0,len);
//将内存流转换为字符串
jsonStr=newString(out.toByteArray());
)
■catch(lOExceptione)
//TODOAuto-generatedcatchblock
■-e.printStackTrace();
returnjsonStr;
2、获取javaBean
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《陶瓷的制作》幼儿园中班科学教案
- 《爱护花草》幼儿园中班健康教案
- 幼儿园教学节活动方案5篇
- 碳捕集与存储(CCS)行业相关项目诊断报告
- 微生物诊断设备行业发展全景调研与投资趋势预测研究报告
- 汽车轮胎硫化处理修理行业相关项目经营管理报告
- 现场音乐剧表演行业相关项目诊断报告
- 四年级下英语教案-Module 5unit1 I was two then-外研社(三起)
- 网络文学行业发展前景及投资风险预测分析报告
- 药物物流行业相关项目现状分析及对策
- 生药学-绪论-第一章
- 2021-2022学年山东省潍坊市高一下学期期末数学试题【含答案】
- 2022年《篮球单手肩上传球》教案
- 《礼物》作文指导解析-共30页课件
- 生产车间质量管控方案(精选15篇)
- 贝壳加盟经纪人成长体系培训《预见未来贝+精彩》测试题A卷
- GA∕T 1611-2019 法庭科学 生物检材中甲氰菊酯等五种拟除虫菊酯类农药及其代谢物检验 液相色谱-质谱法
- 完整解读2022年《幼儿园保育教育质量评估指南》课程PPT教育
- (精心整理)助动词与情态动词-讲解及练习题
- 通讯员稿件存在的问题及解决对策
- 铁路道岔型号及参数表20100306
评论
0/150
提交评论