Re: RDF lists/arrays and n-ary relations [was Re: OWL and RDF lists]

On 10/1/22 08:22, Nicolas Chauvat wrote:
> Hi Peter and List,
>
> Le Fri, Sep 30, 2022 at 04:18:09PM -0400, Peter F. Patel-Schneider a écrit :
>
>> This is bad for starters, but it is also not stated anywhere what
>> the correspondence between the lists and strings is.  For example, I
>> might want to be little-endian, so I mean that the name is "boB". Or
>> I might want to alternative between forename and surname letters, so
>> the name would be "Bb o".
> I am not sure I follow you here. When you say you may want to be
> little-endian and write
>
>    :me :name "boB"
>
> aren't you supporting my previous point by saying that you encoded the
> name "Bob" in a string as "boB" ?

I'm not arguing about this at all.  You encoded "Bob".  I encoded "boB".  The 
problem is that when someone else sees the triples what string do they end up 
with.  Well, probably no string at all, but even if they know that the triples 
are supposed to encode a string what string are they encoding?   "Bob"?  
"boB"?  "Cpc"? They have no way of knowing, and this destroys the main 
rationale for RDF.

>
> You are not changing the name, just changing how you represent it with
> RDF triples.
>
> Does it mean that you agree with the fact that there is some
> implicit/obvious encoding/decoding for numbers and strings, but not
> for other types (yet) ?

I am arguing that there is no obvious way for encoding anything in RDF.  I'm 
even arguing that encoding is a bad idea for RDF.

>
>> In my view it it much better to make these decisions explicit (and write
>> them down in the namespace document), which for chess positions would be
>> something like
>> [...]
>> Ideally the last two should be represented in RDF(S), but that goes beyond
>> the capabilities of RDFS.
> Yes, you could use two predicates rank and file, but I would like to
> design my vocabulary so that you can not state one without the other,
> by making them stick together in a compound value as in (one character,
> one numeral).
>
> I agree I could model things as:
>
>    :name :range :nameString
>    :firstChar :domain :nameString
>    :firstChar :range :Character
>    :secondChar :domain :nameString
>    :secondChar :range :Character
>    :thirdChar :domain :nameString
>    :thirdChar :range :Character
>   
> that would allow me to write
>
>    :me :name :bobsname
>    :bobsname :firstChar "B"
>
> but since I am only interested in the complete name, what is the point
> in designing a model that would allow me to assert just some letters of a
> name ?
But what tell the proverbial person behind the tree that you are doing this?
>
> Would you treat my other example, the complex number, in the same way and use
> two predicates realPart and imaginaryPart ?
>
> What would you think of something like this ?
>
>    :me :positionInPlan9 (2, -3)^:complexPosition
>    :marty :driveTo ("1985-10-26", "09:00", "EST")^:timeDateTZ
>
> I very much doubt to be the first person to suggest this kind of
> thing. Could anyone point me to archives of previous discussions about
> this ?


What does this get you?  Why not just do "(2,-3)"^^:complexNumber?


peter

Received on Saturday, 1 October 2022 13:43:28 UTC