Gruff是什么?
三层存储的自由形式为构建数据库提供了很大的灵活性,但是这种自由也使如何查找任意数据进行检索、错误检查或一般浏览变得不那么明显。Gruff是一个可免费下载的图形浏览器,它尝试使用各种工具来布局循环图、显示属性表、管理查询和将查询构建为可视图,从而使数据检索更加愉快和强大。
使用gruff显示数据资源及其链接的子集的可视图形。通过选择特定的资源和谓词,您可以构建一个可视化的图表,显示三层存储中的各种关系。Gruff还可以显示所选资源的所有属性的表,或者使用SPARQL查询生成表,并且可以将表中的资源添加到可视图形中。
如何安装?
1、下载对应安装包,这里以windows安装Gruff,然后连接上前一篇文章安装的Allegrograph Server环境进行演示。
下载路径:https://franz.com/agraph/gruff/download/
下载可能很慢,服务器在国外,百度云下载地址
链接:https://pan.baidu.com/s/1x2inFIj9Z6zlhIZvUDqavQ 提取码:bwi9
2、上面下载的是windows64bit安装包,直接双击exe文件进行安装,很快
连接Allegrograph Server
1、启动Gruff
2、File -> New Triple-store
如何导入一份ntriples格式数据
1、官网提供了一份维基百科抽取的导演ntriples格式样例数据可供下载,我们这里用这份数据进行演示。
下载地址:链接:https://pan.baidu.com/s/1Oo1CEe26qHPPw5rmGFfaMQ 提取码:denc
数据格式如下:
<http://dbpedia.org/resource/The_Lady_and_the_Monster> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Juanita_Quigley> .
<http://dbpedia.org/resource/National_Velvet_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Juanita_Quigley> .
<http://dbpedia.org/resource/Manufacturing_Dissent> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Ronald_Reagan> .
<http://dbpedia.org/resource/Dark_Victory> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Ronald_Reagan> .
<http://dbpedia.org/resource/Santa_Fe_Trail_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Ronald_Reagan> .
<http://dbpedia.org/resource/Jesus_of_Montreal> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Gilles_Pelletier> .
<http://dbpedia.org/resource/Karol:_A_Man_Who_Became_Pope> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Grazyna_Szapo%C5%82owska> .
<http://dbpedia.org/resource/Team_Volksbank> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Patrick_Vetsch> .
<http://dbpedia.org/resource/The_Year_of_Living_Dangerously> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Paul_Sonkkila> .
<http://dbpedia.org/resource/Nero_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Paolo_Scalabrino> .
<http://dbpedia.org/resource/Rosario_Tijeras> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Manolo_Cardona> .
<http://dbpedia.org/resource/Michael_Clayton_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/David_Lansbury> .
<http://dbpedia.org/resource/The_Recruit> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Gabriel_Macht> .
<http://dbpedia.org/resource/Bad_Company_%282002_film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Gabriel_Macht> .
<http://dbpedia.org/resource/Because_I_Said_So_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Gabriel_Macht> .
<http://dbpedia.org/resource/American_Outlaws> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Gabriel_Macht> .
<http://dbpedia.org/resource/Ong-Bak:_Muay_Thai_Warrior> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Chetwut_Wacharakun> .
<http://dbpedia.org/resource/The_Tingler> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Philip_Coolidge> .
<http://dbpedia.org/resource/Avenging_Angelo> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/John_Gilbert> .
<http://dbpedia.org/resource/Just_the_Ticket_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Louis_Mustillo> .
<http://dbpedia.org/resource/Corrina%2C_Corrina_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Louis_Mustillo> .
<http://dbpedia.org/resource/Gummo> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Jacob_Reynolds> .
<http://dbpedia.org/resource/King_of_Kings_%28film%29> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Johannes_%28Apostel%29> .
<http://dbpedia.org/resource/The_King_of_Kings> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Johannes_%28Apostel%29> .
<http://dbpedia.org/resource/7_Zwerge_-_M%C3%A4nner_allein_im_Wald> <http://dbpedia.org/property/ds> <http://dbpedia.org/resource/Harald_Schmidt> .
2、导入下载完的数据 File->Load Triples->Load->N-Triples
根据文件格式选择web或者file上传,这里选择file上传,很快16万数据就进去了。
数据展示效果
Display->Display Some Sample可以展示一些样例三元组,关联结构都可以看到,具体页面看下图:
Remove->Remove-All-Nodes可以移除屏幕上所有信息,注意,这只是移除图形界面,并不会在知识库中进行数据删除。
建立索引并查找
1、Text Search->Edit the Current Text Index 创建索引,建立索引时会需要我们选择谓语,根据需求勾选即可。
2、Text Search->Find and Display Nodes 查找我们需要的信息。
补充:使用Gruff时必须以一个或多个节点开始,除了Text Search外可以使用Display菜单里的Display a Node by URI or Literal。
体验Graph View
查找到Robin Tunney节点,键盘按p键,选择相应谓语,查询当前节点信息,如下图:
多种视图
在layout菜单中提供了多种展示视图,可以试一下。
如何寻找最短路径
1、鼠标右击,键盘按a清空图形界面
2、寻找Ronald Reagan和Louis Mustillo两个节点
3、选中其中一个节点,键盘按下Shift+F会有出现一条灰色实线,连接到另外一个节点,可能会出现如下图片:
Note:Shift+F就是Link->Display Paths Between Two Nodes的快捷键。
其他操作
1、表视图展示,双击节点或者选中后按B键,就可以以表视图查看数据
2、View->Outline View或者选中节点按O键,可以开启另外一种视图
3、SPARQL检索:Gruff支持SPARQL检索查询,View->Query View进入查询视图,或者按W键,
例:查询100条三元组数据
Select * where { ?x ?y ?z . } limit 100
点击Run Query可以查询出100条三元组,点击Create Visual Graph可以得到RDF图。
4、利用图形化查询构建SPARQL检索式
例:当我们需要检索这个问题:“Who directed the movies that Kevin Bacon starred in?”(Kevin Bacon演的电影都是谁导演的?)
1)打开图形化检索(按下E键或者通过View->Graphical Query View);
2) 使用Text Search或者Display找到“Kevin Bacon”节点;
3)右键屏幕空白处,选择菜单中的第一个,add variable node,给这个节点命名,按照需求或者随意,这里我们命名其为film;
4)右键点击”?film”节点,选择菜单中的Add Predicate Link,这时你将看到一个连接线;
5)拖动光标将线的一端练到Kevin Bacon节点后单击,选择菜单中Predicates of Object Kevin Bacon(Kevin Bacon作为宾语的谓词),然后选择starring,这里的意思是为变量节点“?film”匹配Kevin Bacon主演的电影;
6)再建一个变量节点,命名为“director”;
7)右键点击“?film”节点,Add Predicate Link,拖动光标点击“?director”,选择All Predicates,再选择director;(此步意为“?director”变量匹配电影的导演)
8)点击Run Query按钮即可。