W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > November 2001

Re: closing semantic issues

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Tue, 6 Nov 2001 17:35:03 -0600
Message-Id: <p05101042b80e1ff5e0e2@[]>
To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
Cc: Dan Connolly <connolly@w3.org>, w3c-rdfcore-wg@w3.org
>From: Pat Hayes <phayes@ai.uwf.edu>
>Subject: Re: closing semantic issues
>Date: Mon, 5 Nov 2001 12:13:46 -0600
>>  >  In particular, rdf:Bag is not a bag
>>  >at all, but instead is much more like a sequence.
>>  Right, and that is exactly how the M&S so describes it, by insisting
>>  that :_1, :_2 and so on apply to *all* containers. It would be easy
>>  to change the MT to describe a different notion than rdf:Bag, but
>>  then it would not in fact describe RDF.
>>  >  If rdf is going to have
>>  >something called rdf:Bag, then its *RDF* semantics should conform to the
>>  >intended meaning of bags!
>>  Its model theory should conform to its intended meaning, but if that
>>  intended meaning is not in conformity with a broader notion of 'bag',
>>  then don't blame the model theory.  What you are complaining about
>>  here is an issue in how RDF should treat containers, but its not a
>>  model theory issue.
>I'm not blaming the model theory at all here.  However, I am blaming the
>``theory'' of rdf:Bag as expressed in M&S. 
>Let me restate my objection then:
>If RDF is going to have something called rdf:Bag, then its *RDF* semantics
>should conform to the generally-accepted meaning of bags, and not to some
>other meaning.

I disagree. rdf:Bag is a class, is all. RDF is no more obliged to say 
precisely what it means than it is for any other class.

>If the RDF semantics of this thing do not conform to the
>generally-accepted meaning of bags then it should be given a different

My understanding of the situation was that the labelings rdf:Seq and 
rdf:Bag were intended to say simply that there were two classes of 
containers. All containers in RDF are treated alike, and are accessed 
in the same way *in RDF*. But something else, something outside RDF, 
might want to be told that one container should be thought of as 
bag-like, while another container, otherwise indistinguishable from 
it, should be treated as sequence-like. (There aren't any set-like 
ones, for some reason.) However, seen from within RDF, these are all 
simply containers.

However,  it seems that both you and Dan Connolly have decided that 
to call something a bag should mean that it really is a bag in RDF, 
in effect giving RDF some genuine datastructures.

I take back what I said about it being easy to do, by the way. In 
fact, I don't see any way to do this in RDF. I don't think bags even 
make sense in a state-free language without recursion. We would have 
to have a non-numerically-indexed membership property for bags, 
:_inbag, say, so that to say that eg:bag contains a1 and a2 once 
would be saying

eg:bag :_inbag a1 .
eg:bag :_inbag a2 .

However, there seems then to be no way to distinguish a bag from a 
set, since there is no way to say that a bag has two copies of 
something in it. It won't do to write the same triple twice; such a 
graph would be equivalent to the tidy version where you only said it 
once. If we were talking about programming, then the distinction 
would be between putting something into a bag once and putting it in 
twice, which makes sense; but we have no notion of 'put' in RDF.

IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Tuesday, 6 November 2001 18:35:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:24:06 UTC