package main import ( //"fmt" //"time" . "git.wecise.com/wecise/odbserver/odb" "git.wecise.com/wecise/odbserver/odb/query" "git.wecise.com/wecise/odbserver/odb/test" "gitee.com/wecisecode/util/logger" //"github.com/chrusty/go-tableprinter" ) // CGO_ENABLED=1 go run --ldflags '-linkmode external -extldflags "-static"' testquery.go // #cgo LDFLAGS: -L/opt/odbserver/sqlite -lsqlite -ldl // #include "/opt/odbserver/sqlite/sqlite.h" // #include // #include // extern int64_t uhaha_seed; // extern int64_t uhaha_ts; // void uhaha_begin_reader(); // void uhaha_end_reader(); func main() { //options := map[string]interface{} {"cache":odb.CacheAll} //g,err:= odb.New( options ) //option := &StoreOption{Cache:CacheAll} option := &Option{Cache: CacheAll, Keyspace: "matrix", DisableInitialHostLookup: true, DisableNotify: true} g, err := test.NewG(option) if err != nil { logger.Error(err.Error()) } else { defer g.Close() } //logger.SetRollingDaily("C:/test/zkcron/src/test", "test.log") logger.SetConsole(true) //logger.SetLevel(logger.DEBUG) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain,depend*1]->()`) //rst,meta,err := g.Query(`match (m:"biz:查账系统")-[*]->(p:"linux:linux[1-5]")-[*]->(q:"esx:esx4") return status path m,p,q detail`) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") return name,status`) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:esx4")`) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:esx4")`) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain*1]->()-[*]->("linux:*")-[*1]->("esx:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug !!! //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain*1]->()-[*]->("esx:*","linux:*")-[*1]->('switch:*') `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain*1]->()-[*]->("esx:*","linux:*")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain*1]->()-[*]->("esx:*","linux:*")-[*1]->('switch:*')`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->() until "linux:*"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") back '2019-05-26'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*1]->() back '2019-05-26'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:B查账系统")-[:contain]->("cluster:B查账系统web集群")-[*]->() until "switch:*" back '2019-05-28 22:00:00'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:B查账系统")-[:contain]->("cluster:B查账系统web集群")-[*]->() until "switch:*" diff '2019-05-28 14:30:00'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:数字国网")-[:contain where strp like 'strst*' * ]->() return name,status,.*`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:B查账系统")-[:contain]->("cluster:B查账系统web集群")-[*]->() until "switch:*" diff '2019-05-28 14:33:00'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("vm:*")-[*]->(:/matrix/entity/host where name='host:21e7aac1a44c4f0f961730fe68a709ab') return name`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("vm:*")-[*]->() return name with timeout=20`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("ha:认证系统数据库HA","ha:认证系统应用服务集群","ha:查账系统数据库HA","ha:B认证系统数据库HA","ha:B认证系统应用服务集群","ha:B查账系统数据库HA","123","222222","测试资源节点","test4530","zy-vmware","裸金属服务器","青海","vmware_wfang","sanstorage:sanstorage1","sanstorage:Bsanstorage1","weblogic:weblogic5","weblogic:weblogic4","weblogic:weblogic3","weblogic:weblogic2","weblogic:weblogic1","weblogic:Bweblogic5","weblogic:Bweblogic4","weblogic:Bweblogic3","weblogic:Bweblogic2","weblogic:Bweblogic1","esx:esx5","esx:esx4","esx:esx3","esx:esx2","esx:esx1","esx:Besx5","esx:Besx4","esx:Besx3","esx:Besx2","esx:Besx1","http:查账http4","http:查账http3","http:查账http2","http:查账http1","http:B查账http4","http:B查账http3","http:B查账http2","http:B查账http1","router:router4","router:router3","router:router2","router:router1","router:Brouter4","router:Brouter3") - [*1] -> ("ha:认证系统数据库HA","ha:认证系统应用服务集群","ha:查账系统数据库HA","ha:B认证系统数据库HA","ha:B认证系统应用服务集群","ha:B查账系统数据库HA","123","222222","测试资源节点","test4530","zy-vmware","裸金属服务器","青海","vmware_wfang","sanstorage:sanstorage1","sanstorage:Bsanstorage1","weblogic:weblogic5","weblogic:weblogic4","weblogic:weblogic3","weblogic:weblogic2","weblogic:weblogic1","weblogic:Bweblogic5","weblogic:Bweblogic4","weblogic:Bweblogic3","weblogic:Bweblogic2","weblogic:Bweblogic1","esx:esx5","esx:esx4","esx:esx3","esx:esx2","esx:esx1","esx:Besx5","esx:Besx4","esx:Besx3","esx:Besx2","esx:Besx1","http:查账http4","http:查账http3","http:查账http2","http:查账http1","http:B查账http4","http:B查账http3","http:B查账http2","http:B查账http1","router:router4","router:router3","router:router2","router:router1","router:Brouter4","router:Brouter3")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match (m:"biz:查账系统")-[*]->(p:"linux:linux[1-5]")-[*]->(q:"esx:esx4") return status path m,p,q`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`select host,ip from /matrix/devops/event/omnibus o join ("esx:aaa")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`select host,ip from /matrix/devops/event/omnibus o join ("esx:bbb")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match ("biz:查账系统111")-[*]->("esx:*")-[:connect*]->(h:switch) `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) // bug //rst,meta,err := g.Query(`select s.id,s.name,q.id as qid, q.name as qname from /matrix/entity/switch s join (p:switch where id='switch:switch1')-[*1]->(q) on s.id = p.id `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`select q.id, q.name from /matrix/entity/switch s join (p:switch where id='switch:switch1')-[*1]->(q) on s.id = p.id `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match ('esx:esx*')-[*]->()<-[*]-("switch:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ('esx:esx*')-[*]->()<-[*]-("switch:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match("firewall:277966")-[*]->() `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(` match ('server:*')-[*1]->("vm:project01cd94540b7aaeda266cavm01")-[*1]->('vnic:*','volume:*')<-[*]-('project:*','vstorage:*')`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) // //bug //rst,meta,err := g.Query(`match ('server:*')-[*1]->("vm:project01cd94540b7aaeda266cavm01")-[*1]->('vnic:*','volume:*')<-[*]-('project:*','vstorage:*') `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //nug //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:esx4")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match (b:biz)-[*]->(e:esx)-[*1]->(s:switch) return name,status path b,e,s`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match ("biz:数字国网")-[:contain where intp =1 and floatp > 3 *]->() return contain.intp`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ('server:*')-[*1]->(v:vm)-[*1]->('vnic:*')<-[*]-('project:0f11be29059d4681a5c33f6project01'),(v)-[*1]->(p:volume),('vstorage:*')-[*1]->(p)`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (a:"biz:查账系统")-[*]->("linux:*")-[*1]->("esx:esx4") add "tag5" in a remove ("tag333") in a`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (a:"biz:查账系统")-[*1]->("biz:认证系统") in "tag99"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ()-->() in "tag99"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`create ("biz:数字国网")-[:contain]->("app:test1")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ('biz:数字国网') - [*2] -> () diff '2020-02-14 13:02'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match (s:'server:*')-[*1]->(v:"vm:project01cd94540b7aaeda266cavm01")-[*1]->('vnic:*')<-[*]-('project:*'),(v1:"vm:*")-[*1]->('volume:*')<-[*1]-('vstorage:*')<-[*1]-(s) in "project1" `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") return name,status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("ha:查账系统数据库HA") union ("biz:查账系统")-[*]->("cluster:查账系统应用服务集群")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*1]->() union ()-[*1]->("biz:查账系统")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:connect where year=2020]->("linux:wecise") return connect`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*1]->("cluster:查账系统应用服务集群")<-[*1]-("app:app3")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (:alert where group='biz-status-slow')-[:refer*1]->("biz:*")-[*1]->(:app)<-[:refer*1]-(:alert where group='app-service-down')`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match (p1:"partitiontest1:test2")-[*1]->() `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match ('celltype:1114215')-[*]->() with sep="#" `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` create ("interface:RWU9451-900440-1_X2")-[:connect]->("interface:RWU9451-900439-1_X2") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("node:RWU9451-900439-1")-[*]->() with inline`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("app:18695220567") <-[:callto*1]-(:/matrix/entity/biz where vtime>"2020-06-01 12:30:00" and vtime< "2020-07-10 12:30:00")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("esx:esx1") <- [:connect*1] -(:switch where name='switch:switch1') with group=10`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") return name,status with group=10`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ()-[*]->("esx:esx1") return name,status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("node:RZG9247-900680-1" )<-[*1]-(:/matrix/entity/interface)`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("node:*" )<-[*1]-(:/matrix/entity/interface where id='interface:RZG9247-900680-1_X2#node:RZG9247-900680-1')`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (:biz where name='查账系统')-[*1]->("biz:*")-[*]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (:biz where name='查账系统')-[*1]->("biz:*")-[*]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain*1]->("ha:查账系统数据库HA")-[*]->("esx:*","linux:*")-[*1]->('switch:*') until "sanswitch:*"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("perbasisinfo:320911197112273412")<-[:belong:yongy*2]-(p:phonenumber), (p)<-[:callto:bycall*1]-(h:/matrix/action/calllog where starttimestr>='2020-03-01' and starttimestr<='2020-03-30' limit 50), (h)-[:callto:bycall*1]->(:phonenumber)`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:^contain*1]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match('node:RWU9462-900774-1') -[*1]-() with inline`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") with attr=(name,status)`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (x:"biz:查账系统")-[*]->(y) return x.name, y.name`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (b:"biz:*")-[*]->(e:"esx:*")-[*1]->(s:"switch:*") with attr=(name,status) short path b,e,s`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:*")-[*]->(a) return a.id, a.name`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ('biz:*')-[*10]->()`, &QueryMeta{Return: ReturnAll} ) //rst, meta, err := g.Query(`match ("node:10.1.1.230*") - [*] -> ("node:10.1.1.71") with attr=(name,connect.*) `, &query.QueryMeta{Return: query.ReturnAll}) //rst, meta, err := g.Query(`match(:MillingCuttingTool)-[*]-(:TwistDrill)`, &query.QueryMeta{Return: query.ReturnAll}) rst, meta, err := g.Query(`match ("biz:查账系统")-[*]->(a) return a.id`, &query.QueryMeta{Return: query.ReturnAll}) //rst, meta, err := g.Query(`match("MillingCuttingTool:1130881594777665536")-[*1]-("TwistDrill:1130881594777665537")`, &query.QueryMeta{Return: query.ReturnAll}) //rst,meta,err := g.Query(`match ("esx:*")-[*1]->('switch:*')`, &QueryMeta{Return: ReturnAll} ) //rst,meta,err := g.Query(`match('node:DFD9247-940013-1','node:DFD9255-940106-1','node:DFD9256-940169-1','node:DFD9256-940170-1','node:DFD9259-940040-1','node:DFD9259-940051-1','node:DFD9259-940060-1','node:DFD9266-940309-1','node:DFD9272-940400-1','node:DHG9249-940259-1','node:DHG9250-940137-1','node:DHG9251-940241-1','node:DHG9260-940368-1','node:DLU9246-940188-1','node:DUG9249-940433-1','node:EDE9246-950145-1','node:EDE9246-950150-1','node:EQD9247-950561-1','node:EYD910221278-1','node:EYD920950473-1','node:EYD920950475-1','node:EYD9247-221008-1','node:EYD9247-221016-1','node:EYD9247-221017-1','node:EYD9247-221029-1','node:EYD9247-965001-1','node:EYD9254-965008-1','node:EYD9255-965009-1','node:EYD9257-950140-1','node:EYD9258-950205-1','node:EYD9259-950166-1','node:EYD9259-950171-1','node:EYD9259-950179-1','node:EYD9259-950181-1','node:EYD9260-950239-1','node:EYD9262-950123-1','node:EYD9263-965017-1','node:EYD9264-965018-1','node:EYD9270-950299-1','node:EYD9273-950340-1','node:EYD9279-965033-1','node:EYD9312-965066-1','node:EYD9315-950534-1','node:EYD9332-950440-1','node:EYD9334-950488-1','node:EYD9334-950510-1','node:EYD9345-950461-1','node:EYD9351-950473-1','node:EYL9246-221094-1','node:EYL9246-221097-1','node:EYL9246-221098-1','node:REI9246-900486-1','node:REI9246-900493-1','node:REY9246-900558-1','node:REY9247-900355-1','node:ROR9247-900670-1','node:RRW9247-900562-1','node:RRW9248-900578-1','node:RSE9246-900746-1','node:RVF9248-900326-1','node:RVF9249-900336-1','node:RVF9253-900808-1','node:RVF9253-900821-1','node:RVF9255-900891-1','node:RVF9255-900898-1','node:RVF9255-900900-1','node:RVF9255-900902-1','node:RVF9255-900920-1','node:RVF9256-900939-1','node:RVF9258-900978-1','node:RVF9259-900991-1','node:RVF9259-901003-1','node:RVF9260-901023-1','node:RWU0908L-2210-1','node:RWU9435-900255-1','node:RWU9439-900283-1','node:RWU9439-900289-1','node:RWU9439-900293-1','node:RWU9439-900296-1','node:RWU9444-900386-1','node:RWU9451-900438-1','node:RWU9451-900442-1','node:RWU9452-900451-1','node:RWU9455-900617-1','node:RWU9459-900705-1','node:RWU9459-900713-1','node:RWU9459-900714-1','node:RWU9460-900730-1','node:RWU9460-900734-1','node:RWU9462-900789-1','node:RWU9462-900792-1','node:RWU9462-900794-1','node:RWU9463-900836-1','node:RWU9463-900839-1','node:RWU9465-901046-1','node:RWU9470-901147-1','node:RWU9471-901160-1','node:RWU9471-901168-1','node:RWU9516-901272-1','node:RZG9247-900684-1') -[*3]->('node:DFD9247-940013-1','node:DFD9255-940106-1','node:DFD9256-940169-1','node:DFD9256-940170-1','node:DFD9259-940040-1','node:DFD9259-940051-1','node:DFD9259-940060-1','node:DFD9266-940309-1','node:DFD9272-940400-1','node:DHG9249-940259-1','node:DHG9250-940137-1','node:DHG9251-940241-1','node:DHG9260-940368-1','node:DLU9246-940188-1','node:DUG9249-940433-1','node:EDE9246-950145-1','node:EDE9246-950150-1','node:EQD9247-950561-1','node:EYD910221278-1','node:EYD920950473-1','node:EYD920950475-1','node:EYD9247-221008-1','node:EYD9247-221016-1','node:EYD9247-221017-1','node:EYD9247-221029-1','node:EYD9247-965001-1','node:EYD9254-965008-1','node:EYD9255-965009-1','node:EYD9257-950140-1','node:EYD9258-950205-1','node:EYD9259-950166-1','node:EYD9259-950171-1','node:EYD9259-950179-1','node:EYD9259-950181-1','node:EYD9260-950239-1','node:EYD9262-950123-1','node:EYD9263-965017-1','node:EYD9264-965018-1','node:EYD9270-950299-1','node:EYD9273-950340-1','node:EYD9279-965033-1','node:EYD9312-965066-1','node:EYD9315-950534-1','node:EYD9332-950440-1','node:EYD9334-950488-1','node:EYD9334-950510-1','node:EYD9345-950461-1','node:EYD9351-950473-1','node:EYL9246-221094-1','node:EYL9246-221097-1','node:EYL9246-221098-1','node:REI9246-900486-1','node:REI9246-900493-1','node:REY9246-900558-1','node:REY9247-900355-1','node:ROR9247-900670-1','node:RRW9247-900562-1','node:RRW9248-900578-1','node:RSE9246-900746-1','node:RVF9248-900326-1','node:RVF9249-900336-1','node:RVF9253-900808-1','node:RVF9253-900821-1','node:RVF9255-900891-1','node:RVF9255-900898-1','node:RVF9255-900900-1','node:RVF9255-900902-1','node:RVF9255-900920-1','node:RVF9256-900939-1','node:RVF9258-900978-1','node:RVF9259-900991-1','node:RVF9259-901003-1','node:RVF9260-901023-1','node:RWU0908L-2210-1','node:RWU9435-900255-1','node:RWU9439-900283-1','node:RWU9439-900289-1','node:RWU9439-900293-1','node:RWU9439-900296-1','node:RWU9444-900386-1','node:RWU9451-900438-1','node:RWU9451-900442-1','node:RWU9452-900451-1','node:RWU9455-900617-1','node:RWU9459-900705-1','node:RWU9459-900713-1','node:RWU9459-900714-1','node:RWU9460-900730-1','node:RWU9460-900734-1','node:RWU9462-900789-1','node:RWU9462-900792-1','node:RWU9462-900794-1','node:RWU9463-900836-1','node:RWU9463-900839-1','node:RWU9465-901046-1','node:RWU9470-901147-1','node:RWU9471-901160-1','node:RWU9471-901168-1','node:RWU9516-901272-1','node:RZG9247-900684-1') with inline`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match('node:DFD9247-940013-1','node:DFD9255-940106-1') -[*1]-() with inline`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match ("calllog:955992020-03-29 16:16:31","calllog:955992020-03-29 16:05:23","calllog:955992020-03-29 12:30:41","calllog:955992020-03-29 12:25:50", "calllog:955992020-03-29 12:21:59")-[:callto:bycall*1]->(:phonenumber)`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match (:phonenumber)<-[:callto:bycall*1]-("calllog:955992020-03-29 16:16:31","calllog:955992020-03-29 16:05:23","calllog:955992020-03-29 12:30:41","calllog:955992020-03-29 12:25:50", "calllog:955992020-03-29 12:21:59")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (:perbasisinfo) <- [:belong:yongy*2] - (p:'phonenumber:15005107680','phonenumber:10655045000010068625','phonenumber:15008669972') <- [*1] - (:/matrix/action/calllog where starttimestr>='2020-03-01' and starttimestr <='2020-03-30') with timeout=30`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match ('node:RWU9451-900440-1')-[*]->() `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match ('celltype:1114215#1313672')-[*]->() `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(` match ("biz:查账系统")-[*]->("esx:esx1") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`select entity,msg,host,i.id,i.name,p.param,p.value from /matrix/devops/event/ e join (i:/matrix/entity/switch where id='switch:switch1' or name='switch:switch2') on e.entity=i.id and e.entity=i.name join (p:/matrix/devops/performance/ where entity like 'switch:*' and value>30) on e.entity=p.entity where entity like 'switch:*' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain*1]->()-[*]->("esx:*")-[*1]->('switch:*')`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (mysql:demodb)<-[*]-()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match ("esx:esx1")<-[*]-() `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match (mysql:demodb)<-[*]-()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) // is right //select id, name from /matrix/entity/switch s join (p:switch where id='switch:switch1')-[*1]->(q) on s.id = p.id //rst,meta,err := g.Query(`match ("biz:数字国网")-[*]->() return name,status,contain.intp`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) // bug //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain]-("cluster:查账系统web集群")-[*]-() until "switch:*"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->() return name,status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[:refer*1]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:认证系统")-[*1]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("9788404371073416132")-[*1]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //bug //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:linux[1-5]")-[*1]->("esx:esx1")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") return name,status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} ) //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:*")`) //rst,meta,err := g.Query(`match (p:"linux:linux[1-5]")-[*]->(q:"esx:esx4")`) if err != nil { logger.Info("Query error:" + err.Error()) logger.Warn(meta["type"]) } else { logger.Info("rst ===>", rst) //tableprinter.Print(rst[0]) //logger.Error("meta ===>", meta) if meta["trace"] != nil && len(meta["trace"].([]string)) > 0 { for _, msg := range meta["trace"].([]string) { logger.Error(msg) } } logger.Warn(meta["columns"]) } //time.Sleep(time.Duration(1)*time.Second) }