Thank you Andy, Dan, and Martynas for confirming this--much appreciated.

--Jeff

On 12/5/20, 4:28 AM, "Andy Seaborne" <[email protected]> wrote:

    unlabelled [] form on its own can only represent a tree.
    A node in such a graph can't have two "in" arcs.

    Nothing specific to RDF syntax here - see JSON and XML. Any sharing 
    needs a pointer in some way. Applies to DAGs and cycles.

    You can mix labelled and unlabelled forms.

    Jena pretty prints your example using one label:

    <a>
             ex:relates  _:b0 .

    _:b0    ex:relates  [ ex:relatedBy  _:b0 ;
                           rdf:type     ex:bar
                         ] ;
             rdf:type   ex:foo .

        Andy

    On 04/12/2020 20:54, Dan Brickley wrote:
    > see also
    > https://www.w3.org/TR/turtle/#unlabeled-bnodes
    > 
    > 
    > 
    > On Fri, 4 Dec 2020 at 20:20, Martynas Jusevičius <[email protected]>
    > wrote:
    > 
    >> I don't think you can use the [ ] form to create cycles.
    >>
    >> On Fri, Dec 4, 2020 at 8:53 PM Jeffrey Kenneth Tyzzer
    >> <[email protected]> wrote:
    >>>
    >>> 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