Neo4j的Bloom图可视化工具1.3版正式发布。重要的更新包括:
- 支持Neo4j 4多数据库(4.0.3以上版本);
- 从Neo4j Desktop中安装、用于本地数据库模式,现在已经可以免费试用了。
下载地址:从Neo4j Desktop中安装, 1.2.7 (.exe), 1.2.7 (.dmg)。
另外有服务器端简体中文版,请邮件或留言联系试用。
下面,我们来看一下Bloom 1.3的主要特性。
图模式搜索 使用图模式进行搜索提供了一种灵活的方式来浏览图形。这是一种基于自然语言的搜索范例,它使用图的元素形成词汇表,词汇表由Bloom搜索解释,词汇表中的内容来自图数据模式以及Bloom中定义的透视图/Perspective。
当您在搜索栏中输入文本内容时,Bloom首先将输入分解为单词标记。然后将这些标记精炼并组合在一起以创建有意义的标记排列,其数量可能很多。其中,匹配的模式会在建议列表中显示,其中还包括图模式匹配以外的匹配。从列表中选择提示的项目后,Bloom仅对数据库运行该查询。
Bloom查询以下图数据库和透视图中元素以匹配在搜索框中输入的每个单词:
- 透视图中定义的类别(Category)
- 映射到透视图类别的图的标签(Label)
- 在“透视图”中可见的图的关系类型
- 属于类别的可见属性名称
- 建立了索引的属性值
在上面的示例中,搜索输入为Customer Order Product Order。在这种情况下,Bloom找到以下几个匹配项:
- 每个词都与“透视图”中的类别名称匹配。列表中的第一个匹配项显示了一种模式,其中所有4个类别在路径中彼此相邻出现。
- 匹配了前3个类别名称的模式。
- 在Product类型节点中属性名包含Order的模式。 最后两个排列使用以Order单词开头的属性值匹配。 提示:透视图定义和控制可以匹配的类别、标签、关系类型和属性名。
不区分大小写的匹配 Neo4j数据库区分大小写。默认情况下,如果属性值以用户输入的任何匹配标记开头,则Bloom会将它们区分大小写。如果您希望搜索建议忽略大小写,可以在Bloom设置中启用Case insensitive search and suggestions。 不区分大小写的匹配取决于要在不区分大小写方式搜索的所有属性上设置全文索引。如果没有全文索引,则即使启用了不区分大小写的搜索和建议设置,Bloom也会使用区分大小写的搜索。
高级查询的搜索模板 搜索模板允许保存预定义的图查询,并指定用于调用该查询的短语和参数。
静态搜索模板(不带参数) 在此示例中,使用Northwind图时,静态搜索词组已与跨越多个节点和关系的Cypher查询一起保存。标题的第一个框Search phrase指定用户将部分或全部键入的短语。
Bloom将以不区分大小写的方式匹配“搜索”短语字段的任何部分。例如,输入germ或ORDER或SeaFoo将全部显示匹配项Germans ordering Seafood。
带参数的搜索模板 可以在“搜索”模板中使用参数,参数前面带有$符号。这些参数允许用户在执行查询时输入具体值。有三个选项可用于建议这些参数的值得建议列表:
- 无建议 -如果选中,则使用搜索词组时将不会显示建议列表。
- 标签键 -允许为建议列表选择标签:键对。
- Cypher查询 -自定义查询。
Bloom允许用户始终对数据库运行全文搜索查询以获取其搜索输入。当Bloom提供的建议不能满足用户需求时,这很有用。使用输入进行全文搜索是在建议列表中提供给用户的最后一个建议。 从Neo4j 3.5开始,Bloom可以利用数据库中的本机全文索引。对于Neo4j 3.5以及较旧的版本,Bloom还会通过其他属性索引查找全文匹配项。另外,对于数据值具有低基数的小型图(例如,Movies图),Bloom可以搜索属性值而无需显式索引。在这种情况下,将用户输入的全文字符串作为一个单位进行搜索。
全文搜索可能是一项耗时的操作。取决于数据库,索引状态和请求的搜索输入,响应时间可能会明显滞后,因为查询可能需要很长时间才能返回。这就是为什么全文搜索在建议列表中保留为最后一个选项的原因,以避免意外使用。
当延迟返回搜索建议时,全文搜索是建议列表中用户可用的唯一选项。建议不要无意中使用全文搜索建议。用户可能必须等待很长时间才能返回结果,而全文搜索可能会给数据库服务器带来稍大的工作量。
从Bloom导出数据 Bloom允许您分享您的见解。找到有趣的场景后,您可以将结果提取为两个CSV文件:一个代表节点,另一个代表当前场景中存在的关系。这样,您也可以在Bloom以外的应用程序中使用结果。 Bloom的深层链接 在许多情况下,可能会需要从外部Web应用中启动Bloom。这时,可以由应用程序、网站、电子邮件或您使用的其他媒体为Bloom提供上下文。例如,如果为您提供了一组有趣的客户,则您可能希望浏览Bloom中一个特定客户的图表。在这种情况下,可以使用包含客户标识符的模式或搜索查询来构建链接、可以立即从该起点开始探索。
Neo4j Bloom深层链接是包含指定用于探索上下文的参数的URL。可以为服务器托管和桌面托管的Bloom应用程序构建链接。虽然这两种情况的链接参数都相同,但是这些URL特定于您是要访问服务器托管的Bloom、还是桌面托管的Bloom。Bloom接受搜索上下文和透视上下文作为链接中的参数。
服务器托管的Bloom 当您想链接到Web浏览器中的Bloom时,需要为服务器托管的Bloom构建链接。链接格式如下:
对于Neo4j 3.x:
http://<server_hosting_Bloom>[:<http-port>]/browser/bloom/[?search=search_input&perspective=perspective_name]
https://<server_hosting_Bloom>[:<https-port>]/browser/bloom/[?search=search_input&perspective=perspective_name]
对于Neo4j 4.x:
http://<server_hosting_Bloom>[:<http-port>]/bloom/[?search=search_input&perspective=perspective_name]
https://<server_hosting_Bloom>[:<https-port>]/bloom/[?search=search_input&perspective=perspective_name]
如用括起来所示[],search_input和perspective_name都是可选的,如果它们包含空格或其他特殊字符,则应进行URL编码。
桌面托管的Bloom 当您想要链接到Bloom并在Neo4j Desktop中打开它时,您将需要为Desktop托管的Bloom构建链接。链接格式如下:
neo4j://graphapps/neo4j-bloom/[?search=search_input&perspective=perspective_name]
就像在服务器托管Bloom的情况下一样,如所示[];两者search_input和perspective_name都是可选的,如果它们包含空格或其他特殊字符,则应进行URL编码。