Hi, Group.

Consider this small model:

a --relates--> b
b --relates--> c
b <--relatedBy-- c

Note that the b to c relationship is reciprocal.

I’d like to represent b and c as blank nodes. Using the label form, it’s 
seemingly straightforward (I’ve added a couple of additional rdfs:type triples 
to fill-out a bit what I show next):

a ex:relates _:b
_: b rdfs:type ex:foo
_:b ex:relates _:c
_:c rdfs:type ex:bar
_:c ex:relatedBy _:b

Using the abbreviated form, though, doesn’t seem possible :

a ex:relates [ rdfs:type ex:foo ; ex: relates [ rdfs:type ex:bar ; ex:relatedBy 
<what would go here to refer to the first (outer) blank node?> ] ].

I suppose I’m asking if something can be both the container and contained, but 
perhaps there’s some syntactic sugar/legerdemain (or Jena-specific syntax) I’m 
not aware of that makes this possible.

Thanks.

--Jeff

Reply via email to