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

On 9/19/22 11:53, Thomas Lörtsch wrote:
 > Let’s imagine - a shape X - an annotation syntax @ -
 > an annotation @X can be applied to most entities in RDF
 >
 > For example - X could mean List - the object could be a list
 > (a,b,c) - the annotation applied to the object would be
 > (@X a,b,c)
 >
 > The meaning would be that - this is not syntactic sugar
 > for an rdf:List struct - it is a list _object_ with certain
 > properties as described by the X shape, which in this case is
 > an rdf:List shape.

I like this general idea a lot!  I think it still needs quite a bit of 
refinement, both in syntax and semantics, but I think it's going in a 
good direction.

In essence, it is giving the ability to define new kinds of objects. 
When such an object is defined, it becomes "blessed", such that it is 
treated as a new type of object: it is no longer treated as the sum of 
its constituent parts.  "Unblessing" it allows you to access its 
constituent parts.

Modern programming languages such as Java do these blessing and 
unblessing operations implicitly when you define and implement a new 
class, so the operations are invisible.  Inside the class definition, 
the object is automatically unblessed, while outside the class 
definition it is automatically blessed.  However, in a language like 
Perl, the "bless" operation is explicit, so it is directly visible in code.
https://perldoc.perl.org/functions/bless

I bring this up because I think it is useful to bear in mind the 
distinction between the blessed object and the unblessed constituent 
parts.  As you stressed, they are not syntactically or semantically 
equivalent, even though they are interconvertible.

Thanks,
David Booth

Received on Monday, 19 September 2022 23:48:41 UTC