- From: Henry Story <henry.story@bblfish.net>
- Date: Fri, 23 Nov 2018 08:52:36 +0100
- To: nathan <nathan@webr3.org>, Sir Tim Berners-Lee <timbl@w3.org>
- Cc: David Booth <david@dbooth.org>, W3C Semantic Web IG <semantic-web@w3.org>
- Message-Id: <79DE7688-31E4-4ECC-93E2-4F3A94796EA2@bblfish.net>
In my 2nd year report PhD report I have a longer chapter on how RDF works with Institution Theory (IT) [1]. In IT, which was developed by the late Goguen in order to reveal the structure common to all logics - and so in particular of RDF. The interesting thing is that if one defines RDF in IT , it is easier to start with Signatures that contain only IRIs - call that Signature S. It turns out then to be extremely easy to add blank nodes by a simple morphism from S to a signature S+X that is S with variables. This can be done with all logics, and it seems is the way IT brings together existential and universal quantification in one simple definition. The interesting thing seems to be that when one does that, if one takes blank nodes to be existential quantifiers, as I think we all do, then blank nodes fall out automatically in predicate position too. So this indicates two things: - if you ever develop a language without existential quantifiers you automatically have another language with existential quantifiers that falls out automatically - that language has them in predicate position - though there is a note in the IT books about some consequences of that which I need to look into. I can post that chapter here where I go into detail if people are interested. My aim was to write it so that it is easy enough to read by people with no background in IT or CT. I would need to fix up a number of typos that have been pointed out to me in the meantime, and see if I can understand the asterisk pointed out about quantification over predicates that I saw and see how that would apply to RDF. Since we are thinking of changing RDF we are inevitably in IT land, as we are looking at changes to the language, and so morphisms between languages. Henry [1] https://www.iep.utm.edu/insti-th/ > On 23 Nov 2018, at 01:31, Nathan Rixham <nathan@webr3.org> wrote: > > blank node identifiers in a surface syntax are a pita, issue causing, troublesome, discussion causing, skolemization causing > > as for blank nodes themselves, I see no issue personally, or reason to preclude them from any position in a triple - I'd rather have no IRI than a useless one. > > I can't remember ever seeing somebody say I want to have two json objects in a document that are the same json object but encoded and presented as two in that document, using some random identifier only valid to this serialization of the data to allow me to see they should be considered the same document, with x,y,z rules to combine them together and deserialize then reserialize, perhaps with skolemization of ... please no. > > Graph = Set of Triple > Triple = Node, Node, Node > > Why complicate it further? > > > > On Thu, Nov 22, 2018 at 11:52 PM David Booth <david@dbooth.org <mailto:david@dbooth.org>> wrote: > On 11/22/18 9:14 AM, Tim Berners-Lee wrote: > >> On 2018-11 -22, at 13:54, Martin G. Skjæveland <martige@ifi.uio.no <mailto:martige@ifi.uio.no>> wrote: > >> On 22/11/18 13:02, Tim Berners-Lee wrote: > >>>> On 2018-11 -21, at 22:40, David Booth wrote: > >>>> Blank nodes are special second-class citizens > >>>> in RDF. They cannot be used as predicates, > >>> Agreed it messes up the symmetry. Actually in most of my code you can use a blank node as a predicate. That said, RDF is unusual in having as much symmetry. > >> > >> I like symmetry. Can we get a ✅ for blank nodes as predicates too? > > > > Yes, please! > > Not so fast please. While I fully agree with the symmetry objective, I > think adding *more* blank nodes would be going in exactly the *wrong* > direction. We *do* need the convenience that blank nodes currently > provide, but we *don't* need blank nodes themselves, as Skolem IRIs have > already demonstrated. > > IMO a much better route for *easier* RDF would be to *eliminate* blank > nodes entirely -- or at least make them invisible to users -- while > *still* retaining the convenience that they currently provide. I think > this is achievable, but it will require some creativity and careful > engineering, to: > > - Make IRIs *easy* to allocate; and > > - Adopt higher-level RDF language constructs that eliminate or hide > blank nodes. > > As you suggest in a separate message, I think the implicit blank node > constructs of [] and () that N3 and Turtle provide are an excellent step > toward meeting the second of these requirements. But I don't think they > are quite enough. > > David Booth >
Received on Friday, 23 November 2018 07:53:01 UTC