异构数据索引和检索整合标准

BS索引文件

Bigsearch系统通过BS(index.bs)文件来索引数据库网站, 该文件应包含数据库网站所有需要被Bigsearch引擎索引的信息内容,其组织形式如下所示 :

DB  JSON_ENCODED_STRING
ENTRY JSON_ENCODED_STRING
...   ...

文件中每一行均有两列,用tab( )间隔。每一行的第一列用于表明该行描述的信息种类:

每一行的第一列用于表明该行描述的信息种类:

  • DB: 表明该行用于描述数据库本身的元信息
  • ENTRY: 表明该行用于描述数据库中存储条目的信息

每一行的第二列用于描述具体的内容信息,为使用json格式编码的字符串。

例如,对于Ic4r-seqs数据库,其中包含了水稻基因的注释信息, 所以每个ENTRY行就对应了数据库中的一个基因。

DB行

DB用于表明该行用于描述数据库本身的信息,其第一列统一填写DB,第二列为一个JSON字符串。 以IC4R为例子,JSON字符串的具体形式如下 (为了方便查看,下面会将该JSON字符串排版成多行显示,但是在BS文件中,需要将JSON字符串格式化成一行,删除其中的换行符和tab):

{
  "id": "数据库在BIGSearch中的唯一ID,现阶段请大家自己取值即可,建议用小写字母并且不要含有空格等标点符号",如ic4r, //【必填】,
  "title": "数据库的名称,如IC4R", //【必填】,
  "url": "数据库链接,如http://ic4r.org",//【必填】
  "description": "数据库的全称或者一句话的描述信息", //【如果为空,请直接写 ""】
  "basicInfo": "数据库的简单介绍,可以是一段或多段文本", //【如果为空,请直接写 ""】
  "categories": [// 数据库的分类信息,现阶段可自行填写【如果为空,请直接写 []】
      "Rice",
      "Sequences"
  ],
  "species": [ // 数据库涉及到的物种信息 【如果为空,请直接写 []】
    "rice",
    "O. Sativa"
  ],
  "updatedAt": "2014-05-06 11:11:11" // 数据库的更新时间,格式为yyyy-MM-dd HH:mm:ss【必填】
}

ENTRY行

ENTRY用于表明该行用于描述数据库中存储条目的信息,其第一列统一填写ENTRY,第二列为一个JSON字符串。 以IC4R为例子,JSON字符串的具体形式如下 (为了方便查看,下面会将该JSON字符串排版成多行显示,但是在BS文件中,需要将JSON字符串格式化成一行,删除其中的换行符和tab):

{
  "id": "Os01g0192000", //该条目的id号,自行填写 【必填】
  "type": "gene", //该条目的种类信息,自行填写 【必填】
  "title": "Os01g0192000", //该条目展示给用户的名称或标题 【必填】
  "url": "http://ic4r.org/genes/Os01g0192000", //该条目在数据库中对应的网页地址 【必填】
  "dbId": "ic4r", //在BS文件DB行中定义的db id号 【必填】
  "updatedAt": "2014-05-06 11:11:11", ////该条目的更新时间 【必填】
  "description": "该条目的全称或者一句话的描述信息", //【如果为空,请直接写 ""】
  "basicInfo": "该条目的简单介绍,可以是一段或多段文本", // 【如果为空,请直接写 ""】
  "species": [ // 该条目涉及到的物种信息【如果为空,请直接写 []】
    "rice",
    "O. Sativa"
  ],
  "attrs": { //该条目的其他结构化属性信息,为<key>: <value>形式,各个数据库自行确定
    "accession": "Os01g0192000",
    "unigene": ["Os.20244", "Os.10244"]
  }
}

BSChecker

我们提供BSChecker工具来检查各个数据库的index.bs文件是否合乎规范。 使用方法:

bin/bschecker.bat index.bs // For Windows
bin/bschecker index.bs // For Linux or macOS

BSChecker

部署

请把生成的index.bs文件放置于网站根目录下,确保可以通过http(s)://xxx.org/index.bs下载该文件。 例如,对于数据库网站http://ic4r.org/,需要将该数据库对应的index.bs文件放置于http://ic4r.org/index.bs 。