连接建立后,您可使用Connection
对象的多种方法向数据库发送查询请求,方法分类如下:
通用方法 |
执行UQL |
任务特定方法 |
图集管理
- ShowGraph()
- GetGraph()
- CreateGraph()
- CreateGraphIfNotExist()
- DropGraph()
- AlterGraph()
- Truncate()
- Compact()
- HasGraph()
- UnmountGraph()
- MountGraph()
|
Schema和属性管理
- ShowSchema()
- GetSchema()
- ShowNodeSchema()
- ShowEdgeSchema()
- GetNodeSchema()
- GetEdgeSchema()
- CreateSchema()
- CreateSchemaIfNotExist()
- AlterSchema()
- DropSchema()
- ShowProperty()
- ShowNodeProperty()
- ShowEdgeProperty()
- GetProperty()
- GetNodeProperty()
- GetEdgeProperty()
- CreateProperty()
- CreatePropertyIfNotExist()
- AlterProperty()
- DropProperty()
|
数据插入与删除
- InsertNodes()
- InsertEdges()
- InsertNodesBatchBySchema()
- InsertEdgesBatchBySchema()
- InsertNodesBatchAuto()
- InsertEdgesBatchAuto()
- DeleteNodes()
- DeleteEdges()
|
查询加速
- Lte()
- Ufe()
- ShowIndex()
- ShowNodeIndex()
- ShowEdgeIndex()
- CreateIndex()
- DropIndex()
- ShowFullText()
- ShowNodeFullText()
- ShowEdgeFullText()
- CreateFullText()
- DropFullText()
|
算法管理
- ShowAlgo()
- InstallAlgo()
- UninstallAlgo()
- ShowExta()
- InstallExta()
- UninstallExta()
|
下载与导出
- DownloadAlgoResultFile()
- DownloadAllAlgoResultFile()
- Export()
|
进程与任务管理
- Top()
- Kill()
- ShowTask()
- ClearTask()
- StopTask()
|
访问管理
- ShowPrivilege()
- ShowPolicy()
- GetPolicy()
- CreatePolicy()
- AlterPolicy()
- DropPolicy()
- ShowUser()
- GetUser()
- CreateUser()
- AlterUser()
- DropUser()
- GrantPolicy()
- RevokePolicy()
|
其他 |
|
任务特定方法可以避免您显式编写 UQL 语句。下面两个例子分别使用 Uql()
和 ShowNodeProperty()
方法获取 club-member
节点架构并打印其相关的属性。请注意,后者更易于编写,并且直接将结果返回为 Property
列表。而使用 Uql()
则需要从 Response
中提取数据并将其转换为 Property
。
// 使用uql()方法
myTest, err := conn.Uql("show().node_schema(@`club-member`)", requestConfig)
if err != nil {
println(err)
}
nodeInfo, err1 := myTest.Alias("_nodeSchema").AsSchemas()
if err != nil {
println(err1)
}
printers.PrintSchema(nodeInfo)
// 使用ShowNodeProperty()方法
nodeSimp, err2 := conn.ShowNodeProperty("club-member", requestConfig)
if err != nil {
println(err2)
}
if nodeSimp != nil {
for _, item := range nodeSimp {
println(item.Name)
}
}
然而,uql()
方法可满足所有查询目的,当未提供任务特定方法时,同样可以使用该方法查询点、边或路径等。
最后,如果需要从数据库获取大量数据,建议使用uqlStream()
方法以增量方式处理结果集。