hugegraphx

package
v1.2.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 6, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Propertykeys = "propertykeys" // 属性API
	Vertexlabels = "vertexlabels" // 顶点API
	Edgelabels   = "edgelabels"   // 边API
	Indexlabels  = "indexlabels"  // 边API
)

常量配置

View Source
const (
	Multiple       = "MULTIPLE"                                                                       // 允许多次连接
	Single         = "SINGLE"                                                                         // 单条连接
	DateTypesAll   = "TEXT,BYTE,DATE,INT,LONG,BOOLEAN,DOUBLE,FLOAT,UUID,BLOB,OBJECT,UNKNOWN"          // 属性数据类型
	CardinalityAll = "SINGLE,SET,LIST"                                                                // 属性类型基数
	IdStrategyAll  = "DEFAULT,AUTOMATIC,PRIMARY_KEY,CUSTOMIZE_STRING,CUSTOMIZE_NUMBER,CUSTOMIZE_UUID" // ID策略
	ThicknessAll   = "THICK,NORMAL,FINE"                                                              // 边线条粗细
	SizeAll        = "TINY,SMALL,NORMAL,BIG,HUGE"                                                     // 顶点样式大小
	BaseTypeAll    = "VERTEX_LABEL,EDGE_LABEL"                                                        // 模型类型
	IndexTypeAll   = "SECONDARY,RANGE,SEARCH"                                                         // 索引类型
)

Variables

This section is empty.

Functions

func InitHugegraphCTL added in v1.2.0

func InitHugegraphCTL()

初始化redis控制器

Types

type Config

type Config struct {
	Host  string `json:"host" yaml:"host" nacos:"hugegraph.host"`    // 主机
	Port  string `json:"port" yaml:"port" nacos:"hugegraph.port"`    // 端口
	Graph string `json:"graph" yaml:"graph" nacos:"hugegraph.graph"` // 图名称
}

hugegraph配置

var CONFIG *Config

func (*Config) Format added in v1.2.0

func (conf *Config) Format() string

配置信息格式化

func (*Config) GremlinHttpUrl

func (conf *Config) GremlinHttpUrl() string

func (*Config) NewHugegraphCTL added in v1.2.1

func (conf *Config) NewHugegraphCTL() (ctl *Control)

func (*Config) SchemaHttpUrl

func (conf *Config) SchemaHttpUrl(url string) string

type Control added in v1.2.4

type Control struct {
	Config     *Config // hugegraph配置
	GremlinUrl string  // gremlin查询接口url
}

hugegraph制器

var CTL *Control

func (*Control) GremlinApiGet added in v1.2.4

func (ctl *Control) GremlinApiGet(gremlin string) (result Result, err error)

gremlin查询API-get请求

func (*Control) GremlinApiPost added in v1.2.4

func (ctl *Control) GremlinApiPost(gremlin string) (result Result, err error)

gremlin查询API-Post请求

func (*Control) QueryEdgesGet added in v1.2.4

func (ctl *Control) QueryEdgesGet(gremlin string) (edges Edges, requestId string, err error)

查询边

func (*Control) QueryEdgesPost added in v1.2.4

func (ctl *Control) QueryEdgesPost(gremlin string) (edges Edges, requestId string, err error)

查询边

func (*Control) QueryPathsGet added in v1.2.4

func (ctl *Control) QueryPathsGet(gremlin string) (paths Paths, requestId string, err error)

查询path()

func (*Control) QueryPathsPost added in v1.2.4

func (ctl *Control) QueryPathsPost(gremlin string) (paths Paths, requestId string, err error)

查询path()

func (*Control) QueryValuesPost added in v1.2.4

func (ctl *Control) QueryValuesPost(gremlin string) (values []string, err error)

调用hugegraph的POST接口,返回属性值

func (*Control) QueryVertexsGet added in v1.2.4

func (ctl *Control) QueryVertexsGet(gremlin string) (vertexs Vertexs, requestId string, err error)

查询顶点

func (*Control) QueryVertexsPost added in v1.2.4

func (ctl *Control) QueryVertexsPost(gremlin string) (vertexs Vertexs, requestId string, err error)

查询顶点

func (*Control) SchemaDeleteHttp added in v1.2.4

func (ctl *Control) SchemaDeleteHttp(url string) (result interface{}, err error)

(属性/顶点/边/索引)删除

func (*Control) SchemaGetHttp added in v1.2.4

func (ctl *Control) SchemaGetHttp(url string) (result interface{}, err error)

(属性/顶点/边/索引)查询

func (*Control) SchemaPostHttp added in v1.2.4

func (ctl *Control) SchemaPostHttp(url string, param interface{}) (result interface{}, err error)

(属性/顶点/边/索引)新增

func (*Control) SchemaPutHttp added in v1.2.4

func (ctl *Control) SchemaPutHttp(url string, param interface{}) (result interface{}, err error)

(顶点/边)附加属性

type Edge

type Edge struct {
	Id         string         `json:"id"`         // ID
	Label      string         `json:"label"`      // 类型
	Type       string         `json:"type"`       // 分类
	OutV       string         `json:"outV"`       // 出顶点ID
	OutVLabel  string         `json:"outVLabel"`  // 出顶点类型
	InV        string         `json:"inV"`        // 类入顶点ID型
	InVLabel   string         `json:"inVLabel"`   // 入顶点类型
	Properties EdgeProperties `json:"properties"` // 属性
}

type EdgeAddParam

type EdgeAddParam struct {
	Name             string            `json:"name"`               // 边名称
	SourceLabel      string            `json:"source_label"`       // 源顶点类型
	TargetLabel      string            `json:"target_label"`       // 目标顶点类型
	Properties       []string          `json:"properties"`         // 属性列表
	NullableKeys     []string          `json:"nullable_keys"`      // 可空属性列表
	Frequency        string            `json:"frequency"`          // 允许多次连接,可以取值SINGLE和MULTIPLE
	SortKeys         []string          `json:"sort_keys"`          // 当允许关联多次时,指定区分键属性列表
	Ttl              int               `json:"ttl"`                // TTL
	EnableLabelIndex bool              `json:"enable_label_index"` // 启用类型索引,默认为true
	UserData         map[string]string `json:"user_data"`          // 边风格配置
}

新增边参数

type EdgeProperties

type EdgeProperties struct {
	RelationCode        string `json:"relation_code"`        // 关系编码
	RelationName        string `json:"relation_name"`        // 关系名称
	RelationDescription string `json:"relation_description"` // 关系描述
	RelationTypeLv1     string `json:"relation_type_lv1"`    // 关系类型1
	RelationTypeLv2     string `json:"relation_type_lv2"`    // 关系类型2
	PeerTimes           int32  `json:"peer_times"`           // 同行次数
	PeerDays            int32  `json:"peer_days"`            // 同行天数
	PeerSites           int32  `json:"peer_sites"`           // 同行点位数
	PeerDate            string `json:"peer_date"`            // 最后同行日期
	Sxh                 int    `json:"sxh"`                  // 顺序号
}

边属性

type Edges

type Edges []*Edge

hugegraph查询【边】返回的data结果

type IndexAddParam

type IndexAddParam struct {
	Name      string   `json:"name"`       // 索引名称
	BaseType  string   `json:"base_type"`  // 模型类型
	BaseValue string   `json:"base_value"` // 模型名称
	IndexType string   `json:"index_type"` // 索引类型
	Fields    []string `json:"fields"`     // 属性列表
}

索引新增参数

type Param

type Param struct {
	Gremlin  string      `json:"gremlin" `  // gremlin执行语句
	Bindings interface{} `json:"bindings" ` // 绑定参数
	Language string      `json:"language" ` // 语言
	Aliases  interface{} `json:"aliases" `  // 别名
}

post接口请求参数

func GremlinApiParam added in v1.2.0

func GremlinApiParam(gremlin string) Param

gremlin查询API-POST请求参数

type Path

type Path struct {
	Labels  interface{}    `json:"labels"`
	Objects PathProperties `json:"objects"`
}

type PathProperties

type PathProperties []*PathProperty

path()查询结果的【路径】中节点对象,包含顶点和边

type PathProperty

type PathProperty struct {
	Id         string      `json:"id"`         // ID
	Label      string      `json:"label"`      // 类型
	Type       string      `json:"type"`       // 分类
	OutV       string      `json:"outV"`       // 出顶点ID
	OutVLabel  string      `json:"outVLabel"`  // 出顶点类型
	InV        string      `json:"inV"`        // 类入顶点ID型
	InVLabel   string      `json:"inVLabel"`   // 入顶点类型
	Properties interface{} `json:"properties"` // 对象属性
}

type Paths

type Paths []*Path

hugegraph查询path()时返回的data结果

type PropertiesAppendParam

type PropertiesAppendParam struct {
	Name         string            `json:"name"`          // 名称
	Properties   []string          `json:"properties"`    // 属性列表
	NullableKeys []string          `json:"nullable_keys"` // 可空属性列表
	UserData     map[string]string `json:"user_data"`     // 风格配置
}

hugegraph-api-append请求接口参数

type PropertyAddParam

type PropertyAddParam struct {
	Name        string `json:"name"`        // 属性名称
	DataType    string `json:"data_type"`   // 属性类型
	Cardinality string `json:"cardinality"` // 属性类型基数
}

新增属性参数

type Result

type Result struct {
	RequestId string     `json:"requestId"` // 请求ID
	Status    StatusInfo `json:"status"`    // 返回状态
	Result    ResultInfo `json:"result"`    // 返回结果
}

post接口返回结果

type ResultInfo

type ResultInfo struct {
	Data interface{} `json:"data"` // 结果体
	Meta interface{} `json:"meta"` // 元数据
}

返回结果

type StatusInfo

type StatusInfo struct {
	Message    string      `json:"message"`    // 请求ID
	Code       int64       `json:"code"`       // 状态码
	Attributes interface{} `json:"attributes"` // 属性
}

返回状态

type Vertex

type Vertex struct {
	Id         string           `json:"id"`         // 主键id
	Label      string           `json:"label"`      // 类型
	Type       string           `json:"type"`       // 分类
	Properties VertexProperties `json:"properties"` // 属性
}

type VertexAddParam

type VertexAddParam struct {
	Name             string            `json:"name"`               // 顶点名称
	IdStrategy       string            `json:"id_strategy"`        // 主键策略
	Properties       []string          `json:"properties"`         // 属性列表
	PrimaryKeys      []string          `json:"primary_keys"`       // 主键属性列表
	NullableKeys     []string          `json:"nullable_keys"`      // 可空属性列表
	IndexLabels      []string          `json:"index_labels"`       // 索引列表
	Ttl              int               `json:"ttl"`                // TTL
	EnableLabelIndex bool              `json:"enable_label_index"` // 启用类型索引,默认为true
	UserData         map[string]string `json:"user_data"`          // 顶点风格配置
}

新增顶点参数

type VertexProperties

type VertexProperties struct {
	ObjId   string `json:"obj_id"`   // 顶点ID
	ObjName string `json:"obj_name"` // 顶点名称
	ObjType string `json:"obj_type"` // 顶点类型
	IsZdbq  int    `json:"is_zdbq"`  // 重点标签
	Sxh     int    `json:"sxh"`      // 顺序号
}

顶点属性

type Vertexs

type Vertexs []*Vertex

hugegraph查询【顶点】返回的data结果

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL