enum

Type

Python Type

CypherTaskStatus

graphdbapi.v1.enum.CypherTaskStatus

Direction

graphdbapi.v1.enum.Direction

OrderBy

graphdbapi.v1.enum.OrderBy

PrimitiveDataType

graphdbapi.v1.enum.PrimitiveDataType

PropertyType

graphdbapi.v1.enum.PropertyType

QueryMethod

graphdbapi.v1.enum.QueryMethod

SearchType

graphdbapi.v1.enum.SearchType

TypeConditionMethod

graphdbapi.v1.enum.TypeConditionMethod

CypherTaskStatus

class graphdbapi.v1.enum.CypherTaskStatus(value)

基类:Enum

An enumeration.

property PENDING

任务等待执行

property EXECUTING

任务执行中

property SUCCESS

任务执行成功

property FAIL

任务执行失败

Direction

class graphdbapi.v1.enum.Direction(value)

基类:Enum

An enumeration.

property OUT

出边

property IN

入边

property BOTH

无向

OrderBy

class graphdbapi.v1.enum.OrderBy(value)

基类:Enum

An enumeration.

property ASC

升序

property DESC

降序

PrimitiveDataType

备注

客户端对图数据类型的描述,此类不可直接使用

class graphdbapi.v1.enum.PrimitiveDataType(value)

基类:Enum

An enumeration.

property BYTE
property INT
property UINT
property LONG
property FLOAT
property DOUBLE
property BIGDECIMAL
property CHAR
property STRING
property BOOLEAN
property DATETIME
property GEOGRAPHICPOINT

坐标

property CARTESIANPOINT

坐标

property LIST

集合

property SET

集合

property MAP

集合

PropertyType

备注

客户端对图数据类型的描述

class graphdbapi.v1.enum.PropertyType(primitiveDataType)

基类:object

property BYTE
property SHORT
property INT
property UINT
property LONG
property FLOAT
property DOUBLE
property BIGINT
property BIGDECIMAL
property CHAR
property BINARY
property STRING
property BOOLEAN
property LOCALDATE
property LOCALTIME
property LOCALDATETIME
property ZONEDTIME
property ZONEDDATETIME
property DURATION
property DATETIME
property GEOGRAPHICPOINT
property CARTESIANPOINT
build_list(first_sign) PropertyType
Param:

first_sign(PropertyType)

备注

first_sign 只支持非集合类型,非坐标类型

build_set(first_sign) PropertyType
Param:

first_sign(PropertyType)

备注

first_sign 只支持非集合类型,非坐标类型

build_map(key, value) PropertyType
Param:

key(PropertyType)

Param:

value(PropertyType)

备注

keyvalue 只支持非集合类型,非坐标类型

Examples

创建属性

from graphdbapi.v1.enum import PropertyType
    class_map = {
        "BYTE": PropertyType.BYTE, "SHORT": PropertyType.SHORT,
        "INT": PropertyType.INT, "UINT": PropertyType.UINT,
        "LONG": PropertyType.LONG, "FLOAT": PropertyType.FLOAT,
        "DOUBLE": PropertyType.DOUBLE,"BIGINT": PropertyType.BIGINT,
        "BIGDECIMAL": PropertyType.BIGDECIMAL,
        "CHAR": PropertyType.CHAR, "BINARY": PropertyType.BINARY,
        "STRING": PropertyType.STRING, "BOOLEAN": PropertyType.BOOLEAN,
        "LOCALDATE": PropertyType.LOCALDATE,
        "LOCALTIME": PropertyType.LOCALTIME,
        "LOCALDATETIME": PropertyType.LOCALDATETIME,
        "ZONEDTIME": PropertyType.ZONEDTIME,
        "ZONEDDATETIME": PropertyType.ZONEDDATETIME,
        "DURATION": PropertyType.DURATION,
        "DATETIME": PropertyType.DATETIME,
        "GEOGRAPHICPOINT": PropertyType.GEOGRAPHICPOINT,
        "CARTESIANPOINT": PropertyType.CARTESIANPOINT,

        "LIST": PropertyType.build_list(PropertyType.INT),
        "SET": PropertyType.build_set(PropertyType.INT),
        "MAP": PropertyType.build_map(PropertyType.INT, PropertyType.STRING)}

    graph.schema().create_vertex_type(
        "user", "uid", class_map
    )

添加数据

import decimal
from bolt.types import VariousMap
from datetime import datetime, timezone, timedelta, time
from db_time import Time, DateTime, Duration, Date
from graphdbapi.types.spatial import CartesianPoint, WGS84Point

# BYTE 类型只允许传递数值
# 时间类型尽量使用db_time中所定义的,尽管datetime中的类型与之等价;时区推荐使用pytz模块进行处理

property = {
    "BYTE": 97, "SHORT": 10, "INT": 200,
    "UINT": 100,  "LONG": 2**60, "FLOAT": 1.25,
    "DOUBLE": 1.25,
    "BIGINT": 1703497933160259800170349,
    "BIGDECIMAL": decimal.Decimal("9876543210.0123456789"), # or "9876543210.0123456789"
    "CHAR": "图", "BINARY": bytes(range(5)),
    "STRING": "图数据库", "BOOLEAN": True,
    "LOCALDATE": Date(2024, 2, 2), # or "2024-02-03"
    "LOCALTIME": Time(11, 22, 33), # or "11:22:34"
    "LOCALDATETIME": DateTime(2023, 12, 1, 12, 11, 33), # or "2020-10-01 12:34:56"
    "ZONEDTIME": time(23, 12, 15, tzinfo=timezone(timedelta(hours=8), "Asia/shanghai")), # or "00:12:19+08:00"
    "ZONEDDATETIME": datetime(2023,10,15, 10, 20, 30, tzinfo=timezone(timedelta(hours=8), "Asia/shanghai")), # or "2023-10-15 10:20:36+08:00"
    "DURATION": Duration(seconds=31), # or "PT30S"
    "DATETIME": "2020-10-01 12:34:56",
    "GEOGRAPHICPOINT": WGS84Point([15.52, 45.25]), # or WGS84Point([15.52, 45.25,15.0])
    "CARTESIANPOINT": CartesianPoint([15.52, 45.25]), # or CartesianPoint([15.52, 45.25, 15.0])

    "LIST": [1,2,3],
    "SET": {4,5,6},
    "MAP": VariousMap({1:"a", 2:"b"})}
print(graph.insert_vertex_by_pk("1", "user", property))

QueryMethod

class graphdbapi.v1.enum.QueryMethod(value)

基类:Enum

An enumeration.

property EqualString

只有字符串类型可以使用

property_value == value

property EqualNumber

有数值类型可以使用

property_value == value

property NotEqualString

只有字符串类型可以使用

property_value != value

property NotEqualNumber

只有数值类型可以使用

property_value != value

property More

只有数值类型可以使用

property_value > value

property MoreOrEqual

只有数值类型可以使用

property_value >= value

property Less

只有数值类型可以使用

property_value < value

property LessOrEqual

只有数值类型可以使用

property_value <= value

property MoreAndLess

只有数值类型可以使用

value1 < property_value < value2

property MoreAndLessEqual

只有数值类型可以使用

value1 < property_value <= value2

property MoreEqualAndLess

只有数值类型可以使用

value1 <= property_value < value2

property MoreEqualAndLessEqual

只有数值类型可以使用

value1 <= property_value <= value2

property LengthMore

只有字符串类型可以使用

len(property_value) > value

property LengthMoreOrEqual

只有字符串类型可以使用

len(property_value) >= value

property LengthLess

只有字符串类型可以使用

len(property_value) < value

property LengthLessOrEqual

只有字符串类型可以使用

len(property_value) <= value

property LengthMoreAndLess

只有字符串类型可以使用

value1 < len(property_value) < value2

property LengthMoreAndLessEqual

只有字符串类型可以使用

value1 < len(property_value) <= value2

property LengthMoreEqualAndLess

只有字符串类型可以使用

value1 <= len(property_value) < value2

property LengthMoreEqualAndLessEqual

只有字符串类型可以使用

value1 <= len(property_value) <= value2

property StartsWith

只有字符串类型可以使用

not property_value.startswith(data)

property NotStartWith

只有字符串类型可以使用

not property_value.startswith(data)

property EndWith

只有字符串类型可以使用

property_value.endswith(data)

property NotEndWith

只有字符串类型可以使用

not property_value.endswith(data)

property Contains

只有字符串类型可以使用

包含当前值

property NotContains

只有字符串类型可以使用

data in property_value

property SizeMore

只有集合类型可以使用

len(property_value) > value

property SizeMoreOrEqual

只有集合类型可以使用

len(property_value) >= value

property SizeLess

只有集合类型可以使用

len(property_value) < value

property SizeLessOrEqual

只有集合类型可以使用

len(property_value) <= value

property SizeMoreAndLess

只有集合类型可以使用

value1 < len(property_value) < value2

property SizeMoreAndLessEqual

只有集合类型可以使用

value1 < len(property_value) <= value2

property SizeMoreEqualAndLess

只有集合类型可以使用

value1 <= len(property_value) < value2

property SizeMoreEqualAndLessEqual

只有集合类型可以使用

value1 <= len(property_value) <= value2

property Has

只有集合类型可以使用

value in property_value

SearchType

class graphdbapi.v1.enum.SearchType(value)

基类:Enum

An enumeration.

property CONTAINS

只有字符串类型可以使用

value in property_value

property PREFIX

只有字符串类型可以使用

property_value.startswith(value)

property SUFFIX

只有字符串类型可以使用

property_value.endswith(value)

property LESS_THAN

只有数值类型可以使用

property_value <= value

property GREATER_THAN

只有数值类型可以使用

property_value >= value

property RANGE_NUMBER

只有数值类型可以使用

property EQUAL

任何类型

property_value == value

TypeConditionMethod

备注

类型过滤符号,是VisitConditionByType的依赖类

class graphdbapi.v1.enum.TypeConditionMethod(value)

基类:Enum

类型过滤符号,是{VisitConditionByType}的依赖类

property InSet

在设定的集合中存在,则为true,否则为false

property NotSet

在设定的集合中不存在,则为true,否则为false

Isolation

class graphdbapi.v1.enum.Isolation(value)

基类:Enum

事务隔离级别

property READ_COMMITTED

读提交

property REPEATABLE_READ

重复读