Re: Why are RDF containers (rdf:Seq etc.) so little appreciated?

2010-02-14 Thread Axel Rauschmayer
 Im not sure what you  mean by 'stable identity',

It's a slightly (possibly unorthodox) viewpoint I take during RDF editing: With 
a container, you can say I will edit the sequence at URI X and be sure that X 
stays the same, no matter how you change the elements. With a collection, the 
anchor changes whenever one goes from 0 elements to 1 or more elements (or 
vice versa). Giving a collection a stable identity seems to have been one of 
the motivations behind skos:OrderedCollection.

 but the chief problem with containers is the fact that there is no way to 
 'close' them. If I say that FOO is a container and A, B and C are in it, 
 there is no way to say that this is *all* that is in it. This makes them 
 useless for encoding structures, eg OWL syntax. Collections' overcome this 
 difficulty. So the collection notion is widely used to layer higher-level 
 notations onto RDF, which is probably why toolkits have special provision for 
 them.

I see the point, but it seems like one could achieve the same effect by adding 
an additional nil element (at the end) to a container.

 This does not stop you using the containers, of course. They are simple 
 enough that you hardly need syntactic sugar, right?


True.

-- 
axel.rauschma...@ifi.lmu.de
http://www.pst.ifi.lmu.de/~rauschma/






Re: Why are RDF containers (rdf:Seq etc.) so little appreciated?

2010-02-14 Thread Pat Hayes


On Feb 14, 2010, at 4:34 AM, Axel Rauschmayer wrote:


Im not sure what you  mean by 'stable identity',


It's a slightly (possibly unorthodox) viewpoint I take during RDF  
editing: With a container, you can say I will edit the sequence at  
URI X and be sure that X stays the same, no matter how you change  
the elements. With a collection, the anchor changes whenever one  
goes from 0 elements to 1 or more elements (or vice versa). Giving a  
collection a stable identity seems to have been one of the  
motivations behind skos:OrderedCollection.


Ah, I see. Ironically, this is the source of the problem.



but the chief problem with containers is the fact that there is no  
way to 'close' them. If I say that FOO is a container and A, B and  
C are in it, there is no way to say that this is *all* that is in  
it. This makes them useless for encoding structures, eg OWL syntax.  
Collections' overcome this difficulty. So the collection notion is  
widely used to layer higher-level notations onto RDF, which is  
probably why toolkits have special provision for them.


I see the point, but it seems like one could achieve the same effect  
by adding an additional nil element (at the end) to a container.


No, you can't. The problem is that this would (if it were effective)  
make the logic nonmonotonic. Put another way, objects described in RDF  
cannot have 'state' in the computational sense. They cannot 'change'  
by adding new assertions. Whatever was true before you say the new  
stuff has to stay true afterwards. So you can't take a container and  
*change* the elements it has, eg go from 0 to 1 elements, by adding  
assertions. The great advantage of lists is, when you add an element  
to a list, you are in fact creating a new list: the old list is still  
around and is still what it was before the addition. This is why  
lists (collections) work in RDF, more or less, while containers don't.  
That is, RDF containers, so called, are not really containers in the  
usual sense one would think of when talking about data structures.  
This is also why lists don't have what you call a stable identity:  
what you want is the longer list after the addition to be the *same  
list* with a changed state, but that isn't possible in RDF because  
there is no state to change.


Pat




This does not stop you using the containers, of course. They are  
simple enough that you hardly need syntactic sugar, right?



True.

--
axel.rauschma...@ifi.lmu.de
http://www.pst.ifi.lmu.de/~rauschma/







IHMC (850)434 8903 or (650)494 3973
40 South Alcaniz St.   (850)202 4416   office
Pensacola(850)202 4440   fax
FL 32502  (850)291 0667   mobile
phayesAT-SIGNihmc.us   http://www.ihmc.us/users/phayes








Re: Why are RDF containers (rdf:Seq etc.) so little appreciated?

2010-02-14 Thread Antoine Isaac

On 2/14/10 5:58 PM, Pat Hayes wrote:


On Feb 14, 2010, at 4:34 AM, Axel Rauschmayer wrote:


Im not sure what you mean by 'stable identity',


It's a slightly (possibly unorthodox) viewpoint I take during RDF
editing: With a container, you can say I will edit the sequence at
URI X and be sure that X stays the same, no matter how you change the
elements. With a collection, the anchor changes whenever one goes
from 0 elements to 1 or more elements (or vice versa). Giving a
collection a stable identity seems to have been one of the motivations
behind skos:OrderedCollection.


Ah, I see. Ironically, this is the source of the problem.



I'm not really sure that Giving a collection a stable identity was the 
motivation for skos:OrderedCollection. As a matter of fact, I don't see why a List should 
always have a less stable identity than a SKOS ordered collection...

Antoine









but the chief problem with containers is the fact that there is no
way to 'close' them. If I say that FOO is a container and A, B and C
are in it, there is no way to say that this is *all* that is in it.
This makes them useless for encoding structures, eg OWL syntax.
Collections' overcome this difficulty. So the collection notion is
widely used to layer higher-level notations onto RDF, which is
probably why toolkits have special provision for them.


I see the point, but it seems like one could achieve the same effect
by adding an additional nil element (at the end) to a container.


No, you can't. The problem is that this would (if it were effective)
make the logic nonmonotonic. Put another way, objects described in RDF
cannot have 'state' in the computational sense. They cannot 'change' by
adding new assertions. Whatever was true before you say the new stuff
has to stay true afterwards. So you can't take a container and *change*
the elements it has, eg go from 0 to 1 elements, by adding assertions.
The great advantage of lists is, when you add an element to a list,
you are in fact creating a new list: the old list is still around and is
still what it was before the addition. This is why lists (collections)
work in RDF, more or less, while containers don't. That is, RDF
containers, so called, are not really containers in the usual sense one
would think of when talking about data structures. This is also why
lists don't have what you call a stable identity: what you want is the
longer list after the addition to be the *same list* with a changed
state, but that isn't possible in RDF because there is no state to change.

Pat





This does not stop you using the containers, of course. They are
simple enough that you hardly need syntactic sugar, right?



True.

--
axel.rauschma...@ifi.lmu.de
http://www.pst.ifi.lmu.de/~rauschma/







IHMC (850)434 8903 or (650)494 3973
40 South Alcaniz St. (850)202 4416 office
Pensacola (850)202 4440 fax
FL 32502 (850)291 0667 mobile
phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes












Why are RDF containers (rdf:Seq etc.) so little appreciated?

2010-02-13 Thread Axel Rauschmayer
In contrast to RDF collections (rdf:List), they have a stable identity and 
don't use nested resources (=easy to remove). Furthermore, standard RDFS 
inferencing can be used to infer membership as the property rdfs:member.

Yet, most RDF vocabularies that I know of use collections and syntaxes such as 
Turtle have syntactic sugar for collections, but not for containers. Why is 
that?

Axel

-- 
axel.rauschma...@ifi.lmu.de
http://www.pst.ifi.lmu.de/~rauschma/






Re: Why are RDF containers (rdf:Seq etc.) so little appreciated?

2010-02-13 Thread Pat Hayes
Im not sure what you  mean by 'stable identity', but the chief problem  
with containers is the fact that there is no way to 'close' them. If I  
say that FOO is a container and A, B and C are in it, there is no way  
to say that this is *all* that is in it. This makes them useless for  
encoding structures, eg OWL syntax. Collections' overcome this  
difficulty. So the collection notion is widely used to layer higher- 
level notations onto RDF, which is probably why toolkits have special  
provision for them. This does not stop you using the containers, of  
course. They are simple enough that you hardly need syntactic sugar,  
right?


Pat Hayes


On Feb 13, 2010, at 8:28 AM, Axel Rauschmayer wrote:

In contrast to RDF collections (rdf:List), they have a stable  
identity and don't use nested resources (=easy to remove).  
Furthermore, standard RDFS inferencing can be used to infer  
membership as the property rdfs:member.


Yet, most RDF vocabularies that I know of use collections and  
syntaxes such as Turtle have syntactic sugar for collections, but  
not for containers. Why is that?


Axel

--
axel.rauschma...@ifi.lmu.de
http://www.pst.ifi.lmu.de/~rauschma/








IHMC (850)434 8903 or (650)494 3973
40 South Alcaniz St.   (850)202 4416   office
Pensacola(850)202 4440   fax
FL 32502  (850)291 0667   mobile
phayesAT-SIGNihmc.us   http://www.ihmc.us/users/phayes