- 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