tinkerpop

Gremlin 图查询概述

强颜欢笑 提交于 2020-10-01 09:40:51
图数据库基本概念 图形数据库是 NoSQL 数据库的一种类型,它应用图形理论存储实体之间的关系信息。最常见的例子,就是社会网络中人与人之间的关系。关系型数据库用于存储关系型数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。Google的图形计算系统名为 Pregel。 目前主流的图数据库有:Neo4j,FlockDB,GraphDB,InfiniteGraph,Titan,JanusGraph,Pregel等。 下面介绍几个图数据库中的几个基本概念: RDF :RDF(Resource Description Framework),即资源描述框架,其本质是一个数据模型(Data Model)。它提供了一个统一的标准,用于描述实体/资源。简单来说,就是表示事物的一种方法和手段。RDF 形式上表示为 SPO 三元组,有时候也称为一条语句(statement),知识图谱中我们也称其为一条知识。RDF 由节点和边组成,节点表示实体/资源、属性,边则表示了实体和实体之间的关系以及实体和属性的关系。 RDF 没有外键和主键,它使用的是 URI ,万维网的标准引用格式。通过 URI,一个三元组库可以直接链接到任何三元组库的其他任何数据。 属性图 :属性图是由 顶点(Vertex),边(Edge),标签(Lable),关系类型 还有 属性(Property

How to Perfrom Where Filter in Gremlin queries

天涯浪子 提交于 2020-07-23 06:52:36
问题 where(​ and​ (​ choose(constant(0).is(1),​ select('WorkLocation'). is(within('Not Updated')),​ select('WorkLocation')),​ ​ choose(constant(1).is(1),​ select('Status'). is(within('Red', 'Orange')),​ select('Status')),​ ​ choose(constant(0).is(1),​ select('ConfirmationDate'). is(between(637281491635663900, 637258237221895200)),​ select('ConfirmationDate'))​ )​ ) In the Above Where condition Query, I have to do a filter on three fields WorkLocation, Status, ConfirmationDate, I have used choose