W3C home > Mailing lists > Public > semantic-web@w3.org > December 2018

Re: Blank Nodes Re: Toward easier RDF: a proposal

From: Anthony Moretti <anthony.moretti@gmail.com>
Date: Sun, 2 Dec 2018 15:03:59 -0800
Message-ID: <CACusdfS=HKbgPaHfodMXPQqTzRF0aqWg7Z_FsWTAfsBWaqvy8w@mail.gmail.com>
To: tpassin@tompassin.net
Cc: Semantic Web <semantic-web@w3.org>
That's interesting Henry, I tried to think more about the example you
included in your message. Is what you're saying due to all properties
having inverse properties?

So the example could also be written as:

    var a = {
        type: Address,
        streetAddress: "123 West Jefferson St",
        addressOf: Joe
    }

    var b = {
        type: Address,
        streetAddress: "123 West Jefferson St",
        addressOf: Kate
    }

An implementation of ==() for Address would know which fields were relevant
to the equality of Addresses and which were not, so it would ignore the
addressOf field. It also shows that a check for structural equality is
often too simple, ==() is often type dependent.

Because these are blank nodes we have access to all the properties that
point to them and it would be possible to check for inverses prior to
checking for equality I think.

I do see things through the lens of OO though, so it's entirely possible
I'm missing a point being made, if so please let me know.

Anthony

On Sun, Dec 2, 2018 at 3:00 PM Thomas Passin <tpassin@tompassin.net> wrote:

> On 12/2/2018 4:31 PM, Henry Story wrote:
> > One could make a similar argument in Java, JavaScript or Scala. In
> > such languages the identity of objects can only be determined by
> > fields of the objects, that is arrows going *from* the object to a
> > literal or another object, as there is no way to determine what
> > objects are pointing to an object O from within O: there is no global
> >  object index.  So someone coming from that background would find it
> > odd that arrows pointing to a blank node could make a difference as
> > to the equality of that object.
>
> I don't think that this is quite right.  The usual objects in OO
> languages know their parent *type* or (prototype).  They don't know
> about any linkages to other objects unless properties are assigned that
> hold that information.  And it's common to provide for such linkages.
> Just think of doubly linked lists, or the XML DOM.  True, there is
> usually no built-in object index, but a programmer can provide for one
> if it's wanted.
>
> Anyway, garbage collectors need to find all the objects so they can do
> their job, so in garbage-collected languages the information must be
> available in some manner.
>
>
>
Received on Sunday, 2 December 2018 23:04:34 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:42:03 UTC