- From: Olaf Hartig <olaf.hartig@liu.se>
- Date: Mon, 08 Mar 2021 14:54:07 +0100
- To: public-rdf-star@w3.org
- Cc: James Anderson <anderson.james.1955@gmail.com>
Hi James, all, As agreed during our telco last Friday, I have merged PR #118 that defines the new built-in functions and created a separate issue to add a clarification section related to these built-in functions. A new PR with this section is ready now: https://github.com/w3c/rdf-star/pull/129 Preview: https://pr-preview.s3.amazonaws.com/w3c/rdf-star/pull/129.html#examples-and-discussion If you have comments or concerns about this section, please raise them in the PR on github. Thanks, Olaf On fredag 5 mars 2021 kl. 02:26:12 CET James Anderson wrote: > > On 2021-03-04, at 11:40:13, Andy Seaborne <andy@apache.org> wrote: > > > > On 04/03/2021 07:32, James Anderson wrote: > >> olaf, > > > > ... > > > >> [that the count of requests to our service which specify > >> application/n-quads as the content and/or accept media type outnumber by > >> a factor of ten to one those which specify a triples variant > >> notwithstanding, and despite that for well longer than recent memory, i > >> have implemented nothing which concerned rdf statements for which the > >> respective operands were typed as “triples", rather than “quads”, for > >> the sake of discussion, this note will defer to the notion of “triples > >> in graphs”.] the concern is that the description of the operator should > >> describe its application and results in adequate detail, that it not be > >> necessary to comprehend its behaviour “by transitivity”.> > > Could you take a look at PR 114 and provide missing tests? > > the concern is whether the information in pr118 is sufficient, not whether > pr114 is complete there may be some readers to whom the answers to > questions of the sort posed are self-evident and further explanation is > superfluous, but i am not one of them. > >> for example, given a target dataset with some given number of graphs and > >> an excerpt such as > >> > >> > >> select (count(distinct ?t1) as ?t1Count) > >> > >> (count(distinct ?t2) as ?t2Count) > >> (count(distinct ?t3) as ?t3Count) > >> (count(distinct ?t4) as ?t4Count) > >> > >> where { > >> > >> graph ?g { > >> > >> bind ( triple(_:id , dcam:memberOf, ?g) as ?t1) > > > > Expressions can't have bnodes in them. > > Did you mean BNODE("someFixedString")? BNODE()? > > yes, please. > > >> bind ( triple(:id , dcam:memberOf, ?g) as ?t2) > >> bind ( triple(_:id , dcam:memberOf, <>) as ?t3) > >> bind ( triple(:id , dcam:memberOf, <>) as ?t4) > >> > >> } > >> > >> } > >> this reader would expect to be able to rely on the immediate text to > >> unambiguously answer questions on the order of - is it permitted to > >> apply that function in this manner? > > > > ?g is unbound in ?t2. > > please, precede it with pattern which unifies and binds it - "{?g ?g ?g}” > for all it matters. > >> - what values of the count variables result? > > > > ?t2Count = 0 BIND expression is unbound > > ?t4Count = 1 Constant expression; RDF (star) term-equality. > > > > triple(BNODE("id") , dcam:memberOf, <>) => N for N graphs. > > Unique BNODE per row => unique triple. > > a discussion of which sort belongs in the description of the function. > > > Andy > >> > >> - were the select clause to be replaced with a construct clause which > >> combined a graph with a triples template and targeted an initially empty > >> dataset, how many triples would there be in the respective graphs if the > >> construct clause specified a constant graph and how many if it specified > >> the ?g variable?> > > I am unclear what the example is here. > > a variant of the question could concern the results of > > construct { > graph ?g { ?t dc:hasPart ?n} > } > where { > graph ?g { > ?g ?g ?g . > bind ( bnode('n') as ?n ) > bind ( triple(?n , dcam:memberOf, ?g) as ?t) > } > } > > > On 2021-03-04, at 11:24:38, Pierre-Antoine Champin <pierre- antoine.champin@ercim.eu> wrote: > >> ... > >> > >> this reader would expect to be able to rely on the immediate text to > >> unambiguously answer questions on the order of - is it permitted to > >> apply that function in this manner? > >> - what values of the count variables result? > >> - were the select clause to be replaced with a construct clause which > >> combined a graph with a triples template and targeted an initially empty > >> dataset, how many triples would there be in the respective graphs if the > >> construct clause specified a constant graph and how many if it specified > >> the ?g variable?> > > those are fair questions, but I don't see how their answer depends on the > > definition of the TRIPLE() function... > > > > How is this different from asking the same questions about (for example): > > > > select (count(distinct ?t1) as ?t1Count) > > > > (count(distinct ?t2) as ?t2Count) > > > > where { > > > > graph ?g { > > > > bind ( strdt("foo", ?g) as ?t1) > > bind ( strdt("foo", <>) as ?t1) > > > > } > > > > } > > > > ? > > because this question, immediately above, relates terms the nature of which > does not change when they are comprised by statements which appear in > graphs while the earlier questions concerns terms which may. > > best regards, from berlin
Received on Monday, 8 March 2021 13:54:29 UTC