Hi John,

I'm not really sure what you are looking for. Are you looking for

1. identifiers for single statements a.k.a. triples, i.e., node-edge-node 
parts

or

2. identifiers for (sub) graphs,i.e., multiple statements (node-edge-node) 
that belong together; this can be for example Concise Bounded Descriptions 
(CBD, [1]), i.e., flat or hierarchical records, or Named Graphs [2]

For our datamanagement platform d:swarm [3] we dealt with both issues, 
i.e., we assign statement identifiers to every (content) relationship 
(/statement) in our graph in form of a hash and furthermore we are able to 
divide the graph into multiple named graphs (which are named 'data model' 
in our domain model). See [4] for an example of how this can be look like. 
There you can see a single record with a hierarchical structure. In [5] you 
can see a flat record, whereby a relationship is selected. There you can 
see the data model identifier (a prefixed URI), a resource identifier (a 
hash; which is especially important for hierarchical records) and a 
statement identifier (a hashed UUID). Furthermore, properties at 
relationships enable us to add further qualified statements, e.g., order or 
version range.
All this is baked into a (experimental) Neo4j Unmanaged Extension [6,7].

Maybe this is something you are looking for, or maybe it helps you to 
express what you are looking for (at least ;) ).

Cheers,


Bo


[1] https://www.w3.org/Submission/CBD/
[2] https://en.wikipedia.org/wiki/Named_graph
[3] https://github.com/dswarm/dswarm-documentation/wiki
[4] 
https://docs.google.com/presentation/d/1Aa_JM8YjSOF3A4LPm0ZuoFWzu5h-NN7VtygAE0WG97Q/pub?start=false&loop=false&delayms=60000#slide=id.g58f97b25d_0_280
[5] 
https://docs.google.com/presentation/d/1Aa_JM8YjSOF3A4LPm0ZuoFWzu5h-NN7VtygAE0WG97Q/pub?start=false&loop=false&delayms=60000#slide=id.g58f97b25d_0_292
[6] https://github.com/dswarm/dswarm-graph-neo4j
[7] https://github.com/dswarm/dswarm-documentation/wiki/Graph-Data-Model


On Saturday, March 12, 2016 at 4:39:45 PM UTC+1, John O'Gorman wrote:
>
> Maybe I can try to clarify my ideas a bit.
>
> When a cluster of nodes is persistent (the same nodes relate to each other 
> to, say, uniquely identify an individual person) I would like to be able to 
> link the cluster without losing the identity of the component nodes.  Since 
> all my individual nodes are potentially reusable I can still connect to 
> them if a design requires it, but creating a relationship to a cluster 
> should be similar to doing a join without knowing what other information is 
> attached.
>
> Clear as mud?
>
>
>
> On Thursday, March 10, 2016 at 12:31:49 PM UTC-7, John O'Gorman wrote:
>>
>> I am working with a Neo4J model that uses a finite set of Labels based on 
>> the six interrogatives (Who, What, When, Where, Why and How) and on a 
>> similarly constrained set of relationships: Is_A, Is_Has, Is_Part_Has, 
>> Is_Precedent_Has, Is_Equivalent_Has and Is_Property_Has.   Since the nature 
>> of a Relationship in this model uses nodes instead of arbitrary edges (i.e. 
>> "Lives_In" for  the example below, I end up with statements (in pseudo 
>> Cypher) like the following:
>>
>> :Person {'Fred Flinstone'}  - [:Is_Has] -> :Status {'Resident'} <- 
>> [:Is_Has} - :Place {'Bedrock'} 
>>
>> My question is:  I was wondering if I can assign a unique identifier (or 
>> a URI) to the statement above in order to reference it (establish a new 
>> relationship to it) later. 
>>
>> I am thinking it would be a better alternative than hyper-edges.
>>
>> Thoughts? Other than (WTH is he thinking?) :D
>>
>> Thanks.
>>
>

-- 
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.

Reply via email to