W3C home > Mailing lists > Public > public-rdf-comments@w3.org > September 2013

Re: rdfs:Graph ? comment on http://www.w3.org/TR/rdf11-concepts/#section-dataset and issue 35

From: Pat Hayes <phayes@ihmc.us>
Date: Mon, 9 Sep 2013 21:47:37 -0700
Cc: Sandro Hawke <sandro@w3.org>, Jeremy J Carroll <jjc@syapse.com>, "public-rdf-comments@w3.org Comments" <public-rdf-comments@w3.org>
Message-Id: <2706B541-8B10-4FF8-AFAB-8BC2447282A7@ihmc.us>
To: Gregg Reynolds <dev@mobileink.com>

On Sep 9, 2013, at 7:38 PM, Gregg Reynolds wrote:

> On Sat, Sep 7, 2013 at 10:06 AM, Sandro Hawke <sandro@w3.org> wrote:
> [ I'm replying on-list, but if this is going to go back-and-forth much, let's move it to www-archive. ]
> 
> 
> On 09/06/2013 02:41 PM, Jeremy J Carroll wrote:
> I remain unhappy with this resolution.
> 
> I am reviewing the minutes:
> https://www.w3.org/2013/meeting/rdf-wg/2013-08-21#semantics_and_concepts
> and Peter is correct in saying:
> "Jeremy wants there to be a way to require graph names denoting graphs"
> 
> Unfortunately, that notion is surprisingly ambiguous.  More explicit questions below.
> 
> 
> I currently have a quad store with several named graphs, and some of these named graphs 'belong' to 'organizations' within my knowledge model.
> One of the graphs is named <http://my.graph.name.example.org/>, one of the organizations is syapse:stoogesInc.
> 
> I wish to be able to add a triple:
> 
>     <http://my.graph.name.example.org/> syapse:belongs syapse:stoogesInc .
> 
> to a graph and have that triple mean, according to the RDF Semantics, RDF Concepts and RDF Vocabulary recommendations, that in an interpretation in which the triple is true that:
>     ( I(<http://my.graph.name.example.org/>), I(syapse:stoogesInc) ) is in IEXT(I(syapse:belongs))
> 
> As I understand it, that part is certainly true.   That's normal RDF Semantics.  The fact that http://my.graph.name.example.org/ is also used as a graph name doesn't relax this semantic requirement.
> 
> 
> and for it to not merely be an application convention that we are in fact referring to the named graph in the dataset as the subject of the triple, but for there to be some normative manner, whether formally or informally, that licenses application specific behavior involving the named graph on the basis of the truth of this triple involving the graph name.
> 
> I believe that's true as well, if we're using a loose, informal definition of "referring".   The specs do not require(<http://my.graph.name.example.org/>) = the set of triples in question, but they do require I(<http://my.graph.name.example.org/>) = something clearly paired with a particular set of triples (while in a particular dataset).  So in that sense the graph name can be used to indicate or point to those triples, even if it isn't strictly "referring".
> 
> Or something like that -- I find this way of thinking about it is too abstract for me to be sure I've got it right.  I prefer test cases, as below.
> 
> I suppose this has already been pointed out, but just in case: it looks to me like RDF-MT already shows how to completely dissolve this problem, which turns out to be merely apparent:
> 
> 1.  Replace "name" with "label"
> 2.  Define the semantics of "label IRI" (= IRI used to label a graph) the same way you define the semantics of "property IRI".
> 
> Sign vehicles can do more than merely refer to their signifieds.  The cattleman's brand labels his cattle, but names his ranch.  When you move, you throw your dishes in a box and slap a "kitchen" label on it; "kitchen" labels the box but names the room.  Etc.
> 
> More to the point, RDF property IRIs denote whatever it is they denote, but they do not (directly) denote their relations.

Sure they do. They denote properties, which have associated relational extensions. But the extension is not the property. 

>  However they can be taken as "labeling" their relations.  An IRI only becomes a propery IRI in virtue of its use in an expression, and semantic voodoo stipulates that whatever it denotes be associated with a binary relation containing the pair of (denotations of the) terminal IRIs of the expression.  So strictly speaking property IRIs do not (directly) refer to property relations. 

No. Look, this kind of talk is dangerous. The semantics is NOT "voodoo", it is perfectly straighforward. Properties (and classes, in RDFS) are things, just like any other thing. They have properties and stand in relationships to other things, just like everything else. But they also have some special qualities (as do most things, in fact) which in the case of properties, are that it makes sense to speak of them holding or not holding between pairs of other things. The relational extension of a property is just the set of pairs that it holds between. (Mathematicians conventionally refer to such a set of pairs as a relation, but that is just a 20th-century set-theoretic gloss on the basic idea of a relaiton, which has a much more venerable history than set theory.) None of this is "voodoo" or strange or uncanny, nor changes anything about the basic idea underlying all relational logics just as it underlies RDF, that names refer to things. The RDF model theory says that any IRI in a property position denotes a property (something in the set IP). Do you find this surprising or somehow faked or artificial? What else would you expect it to say? (If RDF had some other criterion for being a property, so that one could check whether a property name was being used legally or not, etc.., then the semantics would refer to whatever those criteria were. But RDF doesn't, so the semantics doesn't.) 

> Just treat graph labels in the same way.  An IRI becomes a graph label in virtue of its use in an expression, and similar semantic voodoo stipulates that whatever it denotes be associated with a unary relation (i.e. predicate) containing the (denotation of the) other element of the expression.  So a graph label IRI does not directly refer to the graph it labels, but is associated with it.

Wait. What exactly is the predicate that is associated with the denotation? How it the predicate related to the graph? More seriously, how is the graph related to the *denotation* of the labelling IRI? 

BTW, we did look at some ideas like this. But they all require adding to or tweaking the basic RDF semantics. They make RDF into a different language. And this was, probably correctly, ruled out by the WG as being beyond our charter. 

>  "Labeling" seems like a good name for this association.  E.g. a graph label may denote a person (informal RDF semantics) while labeling a graph containing triples (formal RDF semantics) about the person.

The case that gives rise to the problem is where people want one IRI to label a graph but also to refer to  denote, be the name of  something other than the graph. You can express this informally or formally, it still means that referring (naming) and being-the-graph-label-of have to be distinct relations between IRIs and things. And as soon as you do this, then either the semantics needs to talk explicitly about being-the-graph-label-of and assigning it a special meaning (which changes RDF), or there is no way for the being-the-graph-label-of relation to be related formally to the semantics. You can't have it both ways. Jeremy wants the semantics to support a usage which identifies being-the-graph-label-of with naming. Other people insist on distinguishing them. I don't see how talking about predicates helps with the problem. 

> The critical point being that RDF-MT already bifurcates meaning into the informal IRI-denotes-something (like a person) and the model theoretic interpretation yielding IRI-denotes-mathematical-something.

NO NO NO. (Dear God in heaven, how long will it take for people to understand the basic ideas of semantics?) 

The RDF model theory does NOT bifurcate anything. It is a formal theory which formalizes the informal notion. But expressed informally (and vaguely, in words) or formally (and exactly, in mathematics) it is the SAME IDEA. Look, if you have five beans in your hand and I have four in mine and I add 4 and 5 and say that there are 9 beans, I havn't bifurcated the universe into abstract voodoo numbers and real concrete beans. I have just USED arithmetic to talk about the beans. Similarly (and it really is not much more complicated than this), the RDF model theory uses mathematical language to precisely describe the informal idea of names denoting things and expressions saying things about them. The fact that the model theory is expressed using set language just means it uses 20th-century mathematical tools. It does not mean that the things it talks about are somehow not-real. The universe of an RDF interpretation is a set, but the things in that set can be as real as you like: people, times, cities, pieces of ripe cheese, wines, etc.. Tarski's original example in his pioneering paper which invented model theory was "snow is white", and he was talking about actual snow.

The critical point, as you put it, is that the RDF MT does NOT bifurcate meaning. It simply describes (a few basic aspects of) meaning using precise formal language. But the formality of the language does not alter what is about, any more than using arithmetic to add two numbers makes the beans evaporate. 

>  Just exploit that for graph labels the same way you do for property labels.
> 
> To use your examples:
> 
> TC1 - Does this dataset:
>    PREFIX : <http://example.org/#>
>    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>    :g1 :p 1.
>    GRAPH :g1 { :a :b :c }
>    GRAPH :g2 { :a :b :c }
> entail this:
>    :g2 :p 1.
> 
> No more than :p :r 1. :a :p :c . :a :q :c. implies :q :r 1.

The point of this example is that there is only one graph { :a :b :c }. (Assuming we are talking about graphs, not RDF sources.) So apparently :g1 and :g2 are labeling the same graph. So take your analogy but add :p owl:sameAs :q, and what happens?

> TC2 - Given this pair of datasets:
> D1:
>    PREFIX : <http://example.org/#>
>    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>    GRAPH :g1 { :a :b 1 }
> D2:
>    PREFIX : <http://example.org/#>
>    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>    GRAPH :g1 { :a :b 2 }
> Is the pair, taken together, inconsistent?    Or does the pair simply entail
>    GRAPH :g1 { :a :b 1,2 }
> ?
> 
> The latter.  Given the open world assumption I don't see how to get to inconsistency.

The inconsistency would arise from the fact that  { :a :b 1 } and { :a :b 2 } are different graphs. I don't see what the open world assumption has to do with this. 

> If you want to say that the label IRI of a labeled graph is somehow associated with the triples contained in the labeled graph you'd have to introduce an implicit universal quantification

I something is associated with a set then it is already, ipso facto, associated in some sense with the members of the set. 

> but that doesn't seem like an insumountable problem.

Well, it would completely change RDF, but maybe for the better :-). It would become a full binary positive relational logic. 

Pat


> 
> -Gregg

------------------------------------------------------------
IHMC                                     (850)434 8903 home
40 South Alcaniz St.            (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile (preferred)
phayes@ihmc.us       http://www.ihmc.us/users/phayes
Received on Tuesday, 10 September 2013 04:48:08 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:58 UTC