I have several services and would like to see how they linked via requests
So I created edges as class "Http" and added property "request"
I have 4 services
- Gateway
- ServiceA
- ServiceB
- ServiceC
I would like to display all services which linked by edge with property equal "get_user_info"
Gateway -> ServiceA -> ServiceC -> ServiceB
And property equal "delete_user"
Gateway -> ServiceB
It can be like that "SELECT * FROM Services WHERE edge.request ='get_user_info'"
I tried
SELECT *
FROM Services
WHERE in('http').request = 'get_user_info' OR out('http').request = 'get_user_info'
SELECT expand(in('http')[request='get_user_info']) FROM Services;
But it does not work
I tried
select * from `Services` WHERE @rid IN (select in from `http` where request = 'get_user_info') OR @rid IN (select out from `http` where request = 'get_user_info')
and it works, but I see Link from ServiceB to Gateway Can I filter that link?
still using OrientDB? I suggest to upgrade to ArcadeDB.
used your case as test-case for the ruby-interface to ArcadeDB (https://github.com/topofocus/arcadedb)
Basically, use a match statement. Its compiled at the bottom of the test-case.