- From: David Booth <david@dbooth.org>
- Date: Mon, 19 Sep 2022 19:48:28 -0400
- To: "semantic-web@w3.org" <semantic-web@w3.org>
- Cc: Thomas Lörtsch <tl@rat.io>
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