Re: PG mode and SA mode

> On Sep 18, 2019, at 11:53 AM, Olaf Hartig <> wrote:
> Dear all,
> There has been some confusion about the modes I have mentioned in some of the 
> other threads (PG mode and SA mode).

BTW, I suggest that a good way to compare and contrast is to look at what is entailed by a graph, using test cases. 
For example

 ( (s,p,o), p2, o2 )  

PG yes, AS no.

> Therefore, I would like to get your opinions on the following questions.
> What do you think are the merits of the PG mode versus the SA mode, and vice 
> versa?

The SA mode seems far more rational than the PG mode, given that annotations may be used to qualify or even deny the inner triple. But I also think that this entire language of ‘modes’ is a really bad idea for a standard (see below.) 

> Do you have a clear preference for one mode over the other?

Yes. It is trivial to imitate PG mode in AS, by simply asserting the inner triple in the graph. It is impossible to imitate or embed AS mode in PG, which alone should rule it out. But there are other arguments. In AS (not PG), the content of the graph - what it says - is entirely contained in the triples of the graph; any other convention violates one of the design principles of the RDF model. In AS (not PG), all the conventional apparetus of RDF graph checks - the idea of lean graphs, checking for simple entailment and so on - remains unchanged, and the semantics of RDF graphs is unchanged. All of this weights very heavily on one side of the scale.
True, there is a small cost for AS: some triples need to be written out twice in a surface syntax; but this seems like a fairly trivial cost, and in any case, extending a surface notation to allow links to other triples, using IDs or some other convnetion, could eliminate this, and might well be a useful line of investigation ion any case. 

> What do you think about introducing both modes in a specification of the RDF*/
> SPARQL* approach?

First, these are not two ‘modes’ but two languages, indistinguishable in syntax but with different semantics. That is a truly terrible idea. The only possible advantage would be to save some typing effort for those who wish to use the PG convention; but the potential for confusion is huge. Every app that uses RDF* will have to have checks and switches to decide which method to use to process a graph; graphs written one way will get processed using the other convention, with downstream consequences which will likely be untraceable to their source; and so on. 

(Sorry I have not been as active on this list so far as I had intended to be, but maybe this will make up for lost time.)

Pat Hayes

> Thanks,
> Olaf

Received on Wednesday, 18 September 2019 21:13:10 UTC