can RDF-star further be nested? as in:
<< << << :s :p :o >> :p1 :o1 >> :q :y >> :r :z . On Tue, Mar 9, 2021 at 10:08 PM Andy Seaborne <[email protected]> wrote: > There are two variants around: RDF* and RDF-star. > > RDF* is the original work by Olaf and <<:s :p :o>> means > the triple :s :p :o is asserted as well. > That has permissions implications. > > RDF-star is the name the active community (including Olaf) is giving to > its work (1) to make it search able and (2) it's different. > <<:s :p :o>> does not imply anything about the existence of :s :p :o . > > https://github.com/apache/jena/pull/951 > is RDF-star (only). > > There are various reasons why RDF-star is the way it is, including being > able to separate the target data from the triples about the data (e.g. > wikidata). > > In RDF-star, you can "say anything about anything" - including triples > that are not asserted in the graph or otherwise don't exist. > > For permissions, one approach is that only asserted triples matter. No > need to filter inside a <<>>. So you can make assertions about things > you don't have access to : they don't exist as asserted from your POV. > No difference. > > But if it is what you want, it is a recursive analysis of the statement. > The matcher in PR#951 is recursive. > > Don't forget: > > << << :s :p :o >> :q :y >> :r :z . > > > Without a way to distinguish the > > RDF-*Node from a regular resource > > Model: > RDFNode.isStmtResource() > > Graph: > Node.isTripleTerm() > > Andy > > On 09/03/2021 16:24, Claude Warren wrote: > > Greetings, > > > > RDF-* seems like it may cause problems for permissions. > > > > From what I have seen we take a statement and convert that to a node > where > > the label is the statement (or the triple?). But there does not seem to > be > > a way to differentiate the RDF-* edge nodes from other Nodes. > > > > My question arises around the following: > > > > Let's say there are 2 statements in the model > > (s,p,o) and (x,y, (s,p,o)) where the (x,y,(s,p,o)) is an RDF-* statement > > about (s,p,o). > > > > If a user does not have access to see (s,p,o) they probably should not be > > able to see (x,y,(s,p,o)) either. Without a way to distinguish the > > RDF-*Node from a regular resource I can't do the filtering. > > > > The best I can > > hope for is that the SecuritEngine implementation can, but I expect that > > will have problems too. > > > > Does anyone with RDF-* background see a way around this? > > > > Claude > > > > Andy > -- --- Marco Neumann KONA
