用于学科知识数据库(KnowledgeCamp)演示需求的示例知识点结构数据,以及示例知识点内容信息。
json 数据结构如下
{
"points" : [
{
"id" : randstr,
"name" : stringxxx,
"desc" : stringxxx
},
...
],
"edges" : [
{
"parent" : knowledge_point.id,
"child" : knowledge_point.id
},
...
]
}
js.graphml 是 yed 工具编辑的文件
生成数据的步骤
1 把用 yed 编辑好的 js.graphml 放到工程目录
2 运行
ruby build_json.rb
#"1 js"
#"2 art"
#"select(1/2):"
#1
#会生成 js/js.json 文件
在 Gemfile 中增加引用
gem 'knowledge-net-store',
:git => 'git://github.com/mindpin/knowledge-net-store.git',
:tag => '0.0.5'
然后命令行运行
bundle
这里推荐使用 gitmodules,下面是具体操作步骤
在 rails 工程根目录运行
git submodule add git://github.com/mindpin/sample-data-knowledge-points.git sample-data/knowledge-points
rails 工程根目录运行
rails r sample-data/knowledge-points/import_json_to_net.rb
运行后的输出
#"1 js"
#"2 art"
#"select(1/2):"
#选择1会把 js/js.json 的数据导入到 mongoid 数据库
#选择2会把 art/art.json 的数据导入到 mongoid 数据库
通过以下两个脚本可以导入测试数据,以下分别说明其作用:
脚本一:将 yed 软件生成的 graphml 文件转换成特定格式的 json 文件
ruby sample-data/knowledge-points/1_graphml_to_json.rb <graphml_file_path> <json_file_path>
graphml_file_path
: 要转换的 graphml 文件的路径
json_file_path
: 转换结果输出到的 json 文件的路径
脚本二:将特定格式的 json 文件导入到工程的数据库中,创建出 Net 和 Point 对象。
rails r sample-data/knowledge-points/2_json_to_net.rb <json_file_path> <net_name>
json_file_path
: 要导入的 json 文件的路径
net_name
: 导入后,Net 对象的 name 值