OK, got it, if you only need the RIDs of the involved elements, you can do the following:
MATCH
{as:user} -Performs-> {as:process} -Uses->
{class:Application, as:app, where:(applicationName = ?)} -RunsOn-> {class:Server, as:server, where:(osType = ?)}
RETURN user, process, app, server
If you also want all the details in line, you can use an outer SELECT:
SELECT user.* as user_, process.* as process_, app.* as app_, server.* as server_ FROM (
MATCH
{as:user} -Performs-> {as:process} -Uses->
{class:Application, as:app, where:(applicationName = ?)} -RunsOn-> {class:Server, as:server, where:(osType = ?)}
)
The "as xxx_" will add a prefix to attributes, this is useful to avoid collisions, eg. if you have
user.name and
server.name, this way you will have "user_name" and "server_name"
If you don't need all the patterns, but you only need single records that are part of the result, you can try the following:
MATCH
{as:user} -Performs-> {as:process} -Uses->
{class:Application, as:app, where:(applicationName = ?)} -RunsOn-> {class:Server, as:server, where:(osType = ?)}
RETURN $elements
Thanks
Luigi