.. _enum: ########### enum ########### ==================== =================================================== Type Python Type ==================== =================================================== CypherTaskStatus :class:`graphdbapi.v1.enum.CypherTaskStatus` Direction :class:`graphdbapi.v1.enum.Direction` OrderBy :class:`graphdbapi.v1.enum.OrderBy` PrimitiveDataType :class:`graphdbapi.v1.enum.PrimitiveDataType` PropertyType :class:`graphdbapi.v1.enum.PropertyType` QueryMethod :class:`graphdbapi.v1.enum.QueryMethod` SearchType :class:`graphdbapi.v1.enum.SearchType` TypeConditionMethod :class:`graphdbapi.v1.enum.TypeConditionMethod` ==================== =================================================== .. _CypherTaskStatus: CypherTaskStatus ======================= .. autoclass:: graphdbapi.v1.enum.CypherTaskStatus :show-inheritance: .. property:: PENDING 任务等待执行 .. property:: EXECUTING 任务执行中 .. property:: SUCCESS 任务执行成功 .. property:: FAIL 任务执行失败 .. _Direction: Direction =============== .. autoclass:: graphdbapi.v1.enum.Direction :show-inheritance: .. property:: OUT 出边 .. property:: IN 入边 .. property:: BOTH 无向 .. _OrderBy: OrderBy =============== .. autoclass:: graphdbapi.v1.enum.OrderBy :show-inheritance: .. property:: ASC 升序 .. property:: DESC 降序 PrimitiveDataType ======================= .. note:: 客户端对图数据类型的描述,此类不可直接使用 .. autoclass:: graphdbapi.v1.enum.PrimitiveDataType :show-inheritance: .. 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: PropertyType ======================= .. note:: 客户端对图数据类型的描述 .. autoclass:: graphdbapi.v1.enum.PropertyType :show-inheritance: .. 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 .. py:method:: build_list(first_sign) -> PropertyType :param: first_sign(:class:`PropertyType`) .. note:: ``first_sign`` 只支持非集合类型,非坐标类型 .. py:method:: build_set(first_sign) -> PropertyType :param: first_sign(:class:`PropertyType`) .. note:: ``first_sign`` 只支持非集合类型,非坐标类型 .. py:method:: build_map(key, value) -> PropertyType :param: key(:class:`PropertyType`) :param: value(:class:`PropertyType`) .. note:: ``key`` , ``value`` 只支持非集合类型,非坐标类型 Examples -------------- **创建属性** .. code-block:: python 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 ) **添加数据** .. code-block:: python 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: QueryMethod ======================= .. autoclass:: graphdbapi.v1.enum.QueryMethod :show-inheritance: .. 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: SearchType ======================= .. autoclass:: graphdbapi.v1.enum.SearchType :show-inheritance: .. 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: TypeConditionMethod ======================= .. note:: 类型过滤符号,是VisitConditionByType的依赖类 .. autoclass:: graphdbapi.v1.enum.TypeConditionMethod :show-inheritance: .. property:: InSet 在设定的集合中存在,则为true,否则为false .. property:: NotSet 在设定的集合中不存在,则为true,否则为false .. _Isolation: Isolation =============== .. autoclass:: graphdbapi.v1.enum.Isolation :show-inheritance: .. property:: READ_COMMITTED 读提交 .. property:: REPEATABLE_READ 重复读