日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

GDB Cypher實現的兼容性

本文介紹圖數據庫GDB Cypher實現的兼容性。

協議版本

GDB目前支持bolt-v3協議, 建議您使用 neo4j-java-driver 4.0.0版本,使用時除了將GDB域名配置成 bolt://gdb-endpoint:gdb-port 之外,其他與原生Cypher使用方式保持一致。

數據類型

GDB Cypher支持整數、浮點數、字符串、布爾值等基本數據類型和空間坐標Point類型,整體如下:

分類

類型

支持情況

Property types

Number / String / Boolean / Spatial / Temporal

不支持Temporal

Structural types

Nodes / Relationships / Paths

支持

Composite types

Lists / Maps

支持

不支持或不完全兼容的類型如下:

  • 不支持時間(temporal)類型。

  • GDB支持空間坐標(Point)類型,但是目前不支持使用Point類型作為點和邊的屬性。

  • List類型。

List類型只能用作點的屬性值,不支持作為邊屬性。在使用List作為屬性時,GDB內部會把List當作Set來處理,即List中多個重復的值會只會被存儲一次,支持用戶按List中某一元素作為條件進行索引查找。例如:

neo4j> create (n:X {p: [1,2,1]}) return n;
+------------------+
| n                |
+------------------+
| (:X {p: [1, 2]}) |
+------------------+

子句

操作

支持情況

備注

MATCH

支持

OPTIONAL MATCH

支持

RETURN

支持

WITH

支持

UNWIND

支持

WHERE

支持

ORDER BY

支持

SKIP

支持

LIMIT

支持

CREATE

支持

DELETE

支持

SET

支持

GDB不支持Label修改以及多Label。

說明
  • 一個點/邊的label一旦創建,無法修改,如果要想修改,只能刪除點重建。

  • 多label中一個點/邊只能指定一個label類型。

REMOVE

支持

屬性操作,不支持刪除Label。

FOREACH

支持

MERGE

支持

CALL {subquery}

不支持

Cypher 4.0新引入, GDB不支持。

CALL procedure

不支持

取決于procedure的實現情況

UNION

支持

USE

不支持

Cypher 4.0新引入多圖,GDB不支持。

LOAD CSV

不支持

GDB支持基于OSS、DataWorks等導入。

內置函數

GDB對Cypher內置函數的支持如下:

函數

分類

支持情況

all()

謂詞

不支持

any()

謂詞

不支持

exists()

謂詞

single()

謂詞

不支持

none()

謂詞

coalesce()

標量

endNode()

標量

head()

標量

id()

標量

last()

標量

length()

標量

randomUUID()

標量

不支持

properties()

標量

size()

標量

startNode()

標量

timestamp()

標量

toBoolean()

標量

toFloat()

標量

toInteger()

標量

type()

標量

avg()

聚合

collect()

聚合

count()

聚合

max()

聚合

部分支持

min()

聚合

部分支持

percentileCont()

聚合

部分支持

percentileDisc()

聚合

部分支持

stDev()

聚合

不支持

stDevP()

聚合

不支持

sum()

聚合

支持

keys()

列表

支持

labels()

列表

支持

nodes()

列表

支持

range()

列表

支持

reduce()

列表

支持

relationships()

列表

支持

reverse()

列表

支持

tail()

列表

支持

left()

字符串

不支持

lTrim()

字符串

不支持

reverse()

字符串

支持

right()

字符串

不支持

rTrim()

字符串

不支持

split()

字符串

支持

subString()

字符串

支持

toLower()

字符串

支持

toString()

字符串

支持

toUpper()

字符串

支持

trim()

字符串

支持

abs()

數值

支持

ceil()

數值

不支持

floor()

數值

不支持

rand()

數值

不支持

round()

數值

支持

sign()

數值

不支持

e()

對數函數

不支持

exp()

對數函數

不支持

log()

對數函數

不支持

log10()

對數函數

不支持

sqrt()

對數函數

支持

acos()

三角函數

不支持

atan()

三角函數

不支持

atan2()

三角函數

不支持

cos()

三角函數

不支持

cot()

三角函數

不支持

degrees()

三角函數

不支持

haversin()

三角函數

不支持

pi()

三角函數

不支持

radians()

三角函數

不支持

sin()

三角函數

不支持

tan()

三角函數

不支持

point()

空間

支持

distance()

空間

支持

說明

  • max()/min()/percentileCount()/percentileDisc()四個函數只支持輸入參數為相同類型的List,不支持混合類型,也不支持包含NULL的List。

  • GDB不支持時間類型,因此時間相關的函數沒有列在表里。

不完全兼容的用法

  • LOAD CSV。GDB提供其他數據導入方式,因而不支持LOAD CSV子句以及相關的 linenumber()file() 函數。

  • 索引機制。GDB會自動為所有屬性建立自動索引,用戶也可通過接口進行復合索引以及點中心索引的設置。不支持通過Cypher方式建立索引。

  • 不支持Bookmark。

  • GDB不支持用戶自定義函數(User-defined Function)和APOC。

  • driver。用戶可使用包括Java、Python、Go、Javascript、C#等語言的官方driver來訪問GDB,也可以通過Spring方式來接入GDB。

  • Cypher中其他跟管理相關功能都使用和Gremlin接入兼容的方式,包括創建和刪除數據庫、索引管理、屬性約束(constraints)、訪問控制等。

事務支持

目前支持Simple和Async Session模式的事務,暫不支持Reactive Session。

Session模式

Atomic Transaction

Transaction Function

Simple Sessions

支持

支持

Async Sessions

支持

支持

Reactive Sessions

不支持

不支持

Spring支持

GDB支持通過spring方式訪問,目前spring的訪問接口支持程度如下:

Spring-data-neo4j 默認函數

支持情況

S save(S entity);

支持

Iterable

saveAll (Iterable entities);

支持

Optional

findById(ID id);

支持

boolean existsById(ID id);

支持

Iterable

findAll();

支持

Iterable

findAllById(Iterable ids);

支持

long count();

支持

void deleteById(ID id);

支持

void delete(T entity);

支持

void deleteAll(Iterable<? extends T> entities);

支持

void deleteAll();

支持

Iterable

findAll(Sort sort);

支持

Page

findAll(Pageable pageable);

支持

S extends T> S save(S s, int depth);

支持

<S extends T> Iterable<S> save(Iterable<S> entities, int depth);

支持

Optional

findById(ID id, int depth);

支持

Iterable

findAll(int depth);

支持

Iterable

findAll(Sort sort, int depth);

支持

Iterable

findAllById(Iterable ids, int depth);

支持

Iterable

findAllById(Iterable ids, Sort sort);

支持

Iterable

findAllById(Iterable ids, Sort sort, int depth);

支持

Page

findAll(Pageable pageable, int depth);

支持

可視化

目前提供開源客戶端使用,后續會集成在GDB DMS系統中。