Re: Different properties related to well-formedness

Hi Gregg,

On Tue, 2024-04-23 at 13:58 -0700, Gregg Kellogg wrote:
> > On Apr 23, 2024, at 7:50 AM, Olaf Hartig <olaf.hartig@liu.se>
> > wrote:
> > 
> > Hi all,
> > 
> > It occurs to me that the notion of well-formedness that the group
> > strives for has more facets than just the decision of whether
> > rdf:reifies is many-to-many or many-to-one, and I think it would be
> > useful for us to be able to discuss and to decide about these
> > facets
> > independent of one another. Therefore, I have created the following
> > document in which I define different syntactic properties that an
> > RDF
> > graph with triple terms may possess, where each of these properties
> > corresponds to one of the facets that I see. The important point is
> > that these properties are completely orthogonal, and we can decide
> > which of them we include as the properties required for well-
> > formedness.
> > 
> > https://github.com/w3c/rdf-star-wg/blob/main/docs/constraints.md

> 
> I think we can make a restriction in the abstract (and concrete)
> syntaxes, that a subject may not be a triple term; this is the
> current DRAFT definition in the various RDF syntaxes. The would seem
> to simplify the well-formedness restrictions.

First to your last sentence here, the only restriction whose definition
would be affected by switching to the current DRAFT definition of the
abstract syntax (with triple terms only in the object position) would
be the one that I called 'triple-term-placement well-formedness'.

Now to your comment in general: For this document, I thought it is
useful to go back and use the least restrictive model as the basis, to
then define the different possible syntactic restrictions on top of it,
in order to give us a well-defined name for each of these restrictions.
We may, of course, decide at some point that we want to bake some of
these restrictions directly into the abstract syntax (as is the case
with the current DRAFT definition)

One thing that your comment made me realize however (and Niklas had the
same comment in the PR) was that the notion of triple-term-placement
well-formedness that I had defined is mixing two separate things;
namely the question whether triple terms can be used in the subject
position and the question whether a triple term in the object position
requires the predicate to be rdf:reifies. So, in the spirit of trying
to capture all possible restrictions separate from one another, I have
changed this part of the document by splitting the earlier-defined
notion of triple-term-placement well-formedness into two separate new
notions: triple-term-subject well-formedness and triple-term-object
well-formedness.

> In Reifier Minimality, you say that some members believe in a
> restriction that (s, rdf:reifies, (s', p', o') ) requires that s not
> be the object of other triples. ("without any other triple that talks
> about s”). This is one I haven’t heard come up before, or I was not
> paying attention. If we want triples of the form :s :p << :id | :s’
> :p’ :o’ >>

That's not actually a triple, right? (not a single triple, I mean)

> we would then be allowing :s :p :id . :id rdf:reifies <<(:s’ :p’
> :o’)>> ., which I think has been a primary use case.

Yes, the Turtle shorthand notation

  :s :p << :id | :s’ :p’ :o’ >> .

expands to:

  :s :p :id .
  :id rdf:reifies <<( :s’ :p’ :o’ )>> .

The interesting aspect of Reifier Minimality is that every RDF graph
obtained from parsing a Turtle file that does not explicitly use rdf:re
ifies but only the shorthand notation (or the annotation syntax) is
guaranteed to be reifier minimal. In fact, that's where I have this
notion from. There has been the proposal (I think Enrico mentioned it
at some point) that the notion of well-formedness that we may want to
define should coincide exactly with (and only with) graphs that would
result from expanding the shorthand notation.

And, again, my point here was to give us a name for this particular
kind of restriction. Now we can use this name to discuss and decide
about this restriction, independent of any of the other possible
restrictions.

> I think the potential restriction might be that there can only be one
> triple with the subject :s and object rdf:reifies (with object
> implicitly a triple term).

I assume you wanted to say "..and predicate rdf:reifies"

In this case, that's a different restriction (different from reifier
minimality); in fact, this restriction that you outline is close to the
one that my document defines as 'multi-term-reification free'.

> If this is the case, then it needs to be discussed in the light of
> reasonable RDFS entailments, such as D-entailments.
>
> [...]
>
> I think that discussions about many-to-many don’t properly consider
> how entailments work.

I agree. Notice that the restrictions that I define in the document are
explicitly meant to be purely on the syntactic level. I think that
restrictions that take entailments into account cannot be defined as
syntactic properties of RDF graphs (perhaps they can for some
entailment regimes, but not for all).

Best,
Olaf


> 
> Gregg
> 
> 
> > Best,
> > Olaf
> > 

Received on Wednesday, 24 April 2024 16:43:50 UTC