Re: [Neo4j] Re: Feature request: 'virtual' relationships in result sets

2014-07-17 Thread Mars Agliullin


> You can create are more complex structure too, so no need to use the 
> "graph" representation
>
> e.g. return { start : n1, rel: "MY_REL_TYPE", end: n2 }
>
> Michael
>
 
That worked. Thank you! 

>
> Am 14.07.2014 um 17:11 schrieb Jason Gillman Jr.  >:
>
> I'm guessing you just want some indication that there's a path (or no 
> path) between N1 and N2?
>
> I guess a bit more context would help to determine what you're trying to 
> do exactly - what's the use case?
>
> On Monday, July 14, 2014 1:01:13 AM UTC-4, Mars Agliullin wrote:
>>
>> Hello, group
>>
>> I have a use case for 'virtual' (i.e. created on the fly, not persistent 
>> in DB) relationships. Say, we're looking for pairs of nodes (n1), (n2) in 
>> DB, that are related somehow (e.g. traversable from n1 to n2). We're not 
>> interested in intermediate nodes or relationships between n1 and n2. 
>> Besides n1 and n2 (and their pairing)  result set contains other 
>> components; e.g.:
>>
>> match (n0)-[r]->(n1)-[*1..10]->(n2)
>> where ...
>> return n0, r, [n1, n2]
>>
>> If graph format is used for results (good for its brevity), we either get 
>> the whole subgraph including components of all paths from n1 to n2, which 
>> may be huge and is not needed, or lose pairing between n1 and n2. A better 
>> alternative would be to return n1, n2 and a 'virtual' relationship from n1 
>> to n2:
>>
>> match (n0)-[r]->(n1)-[*1..10]->(n2)
>> where ...
>> return n0, r, n1, n2, relationship(n1, n2, "Some label", { name: "Some 
>> name" })
>>
>> , where relationship() is a proposed function, returning 'virtual' 
>> relationships.
>>
>> Any ideas?
>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to neo4j+un...@googlegroups.com .
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Neo4j] Re: Feature request: 'virtual' relationships in result sets

2014-07-14 Thread Michael Hunger
You can create are more complex structure too, so no need to use the "graph" 
representation

e.g. return { start : n1, rel: "MY_REL_TYPE", end: n2 }

Michael

Am 14.07.2014 um 17:11 schrieb Jason Gillman Jr. :

> I'm guessing you just want some indication that there's a path (or no path) 
> between N1 and N2?
> 
> I guess a bit more context would help to determine what you're trying to do 
> exactly - what's the use case?
> 
> On Monday, July 14, 2014 1:01:13 AM UTC-4, Mars Agliullin wrote:
> Hello, group
> 
> I have a use case for 'virtual' (i.e. created on the fly, not persistent in 
> DB) relationships. Say, we're looking for pairs of nodes (n1), (n2) in DB, 
> that are related somehow (e.g. traversable from n1 to n2). We're not 
> interested in intermediate nodes or relationships between n1 and n2. Besides 
> n1 and n2 (and their pairing)  result set contains other components; e.g.:
> 
> match (n0)-[r]->(n1)-[*1..10]->(n2)
> where ...
> return n0, r, [n1, n2]
> 
> If graph format is used for results (good for its brevity), we either get the 
> whole subgraph including components of all paths from n1 to n2, which may be 
> huge and is not needed, or lose pairing between n1 and n2. A better 
> alternative would be to return n1, n2 and a 'virtual' relationship from n1 to 
> n2:
> 
> match (n0)-[r]->(n1)-[*1..10]->(n2)
> where ...
> return n0, r, n1, n2, relationship(n1, n2, "Some label", { name: "Some name" 
> })
> 
> , where relationship() is a proposed function, returning 'virtual' 
> relationships.
> 
> Any ideas?
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Neo4j] Re: Feature request: 'virtual' relationships in result sets

2014-07-14 Thread Jason Gillman Jr.
I'm guessing you just want some indication that there's a path (or no path) 
between N1 and N2?

I guess a bit more context would help to determine what you're trying to do 
exactly - what's the use case?

On Monday, July 14, 2014 1:01:13 AM UTC-4, Mars Agliullin wrote:
>
> Hello, group
>
> I have a use case for 'virtual' (i.e. created on the fly, not persistent 
> in DB) relationships. Say, we're looking for pairs of nodes (n1), (n2) in 
> DB, that are related somehow (e.g. traversable from n1 to n2). We're not 
> interested in intermediate nodes or relationships between n1 and n2. 
> Besides n1 and n2 (and their pairing)  result set contains other 
> components; e.g.:
>
> match (n0)-[r]->(n1)-[*1..10]->(n2)
> where ...
> return n0, r, [n1, n2]
>
> If graph format is used for results (good for its brevity), we either get 
> the whole subgraph including components of all paths from n1 to n2, which 
> may be huge and is not needed, or lose pairing between n1 and n2. A better 
> alternative would be to return n1, n2 and a 'virtual' relationship from n1 
> to n2:
>
> match (n0)-[r]->(n1)-[*1..10]->(n2)
> where ...
> return n0, r, n1, n2, relationship(n1, n2, "Some label", { name: "Some 
> name" })
>
> , where relationship() is a proposed function, returning 'virtual' 
> relationships.
>
> Any ideas?
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.