RE: Are duplicate property/value pairs permitted for a resource?

I should amend the end of the 1st paragraph of my message below to read:

	I can see that two seemingly identical literals used in two
different contexts (e.g., used with two different predicates) should
probably not be considered identical.  However, I don't see any reason not
to consider two statements to be identical when they contain identical
subject and predicate resources and "identical" literal objects.  For
instance, under what scenarios should the triple (#A, #B, "2") not equal the
triple (#A, #B, "2")?

-----Original Message-----
From: Samuel Yang [mailto:syang@peoplemoverinc.com]
Sent: Thursday, April 08, 1999 11:56 AM
To: 'Dan Brickley'; Samuel Yang
Cc: 'www-rdf-comments@w3.org'; 'rdf-dev@mailbase.ac.uk'
Subject: RE: Are duplicate property/value pairs permitted for a
resource?


Dan,

Thanks for your clear response.

I see the distinction between resources (which have URIs) and Literals
(which don't).  Two resources with the same URI always refer to the same
resource.  But literals, not having URIs, have apparently been left bereft
of a formal definition of equality.  However, I don't see any reason not to
consider two identical literals to be equal.  For instance, under what
scenarios does "2" not equal "2"?

Practically speaking, it would be a bad idea to keep adding "duplicate"
statements having the same literal objects, since an RDF graph could get
very large unnecessarily.  What value would be gained by allowing these
duplicates?

And what should an RDF processor do when it is asked to delete one of these
statements?  Should it:

(1) Delete a particular one (but which one), since these statements are
considered unique, or
(2) Delete an arbitrary one (but how can it do that when these statements
are not considered equal?), or
(3) Delete all the "duplicate" statements (again, how can it do that when
these statements are not considered equal?)?

Sam

-----Original Message-----
From: Dan Brickley [mailto:Daniel.Brickley@bristol.ac.uk]
Sent: Thursday, April 08, 1999 11:06 AM
To: Samuel Yang
Cc: 'www-rdf-comments@w3.org'; 'rdf-dev@mailbase.ac.uk'
Subject: Re: Are duplicate property/value pairs permitted for a
resource?



The broad answer to this is implied by RDF's formal model, 
http://www.w3.org/TR/REC-rdf-syntax/#model
	
	   1.There is a set called Resources. 
	   2.There is a set called Literals. 
	   3.There is a subset of Resources called Properties. 
	   4.There is a set called Statements, each element of which is a
triple
	of the form 

	     {pred, sub, obj}

     	Where pred is a property (member of Properties), sub is a resource
	(member of Resources), and obj is either a resource or a literal
	(member of Literals).


Since a collection of facts in RDF is a set of statements, and since any
set by standard definition of the term can't contain the same element twice,
multiple identical members of the set 'Statements' cannot exist in any
given RDF model. The only complication is regarding literals. 
My understanding is that there is no notion of numerical identity of
literals, ie. two strings being one-and-the-same literal. Consequently,
two assertions with the same resource and property _and_ the same
string literal, eg "Smith", will correspond to two _different_ members
of the set 'Statements'.  (If I'm right this should go in a FAQ... ;-)

Quite what this means in terms of processor behaviour depends on your
application. The spec just defines the data model.

Dan

Received on Thursday, 8 April 1999 15:24:37 UTC