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

On Fri, Nov 23, 2018 at 3:20 AM Thomas Passin <tpassin@tompassin.net> wrote:

> On 11/22/2018 6:49 PM, David Booth wrote:
> > Uh . . . I don't think that is quite correct.  As I understand, a blank
> > node does *not* represent *a* thing.  Rather, it asserts that there
> > *exists* a thing, as explained in the RDF Semantics:
> > https://www.w3.org/TR/rdf11-mt/#blank-nodes
> > In contrast, an IRI represents *a* thing.  I'm sorry to be pedantic
> > here, but I mention it because it underscores my point: the semantics of
> > blank nodes really *are* subtle -- at least to *average* developers.
>
> ... You can identify the thing by the union of its properties ... until
> there is another thing with the same set of properties ..
>

I want to ground this conversation back to reality here, schema.org data is
widely used - even in my day job we publish over a billion json-ld
documents , at least half of these are, or contain, business addresses

Here's an extract:
{
   ...
  "name": "County Assessor's Office",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 West Jefferson Street",
    "addressLocality": "Phoenix",
    "addressRegion": "AZ",
    "postalCode": "85003",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 33.4466,
    "longitude": -112.07837  },
}

this is a really simple but common real world usage, and without blank
nodes, both the address, and geo coordinates would need URIs generated.

As Thomas correctly pointed out, the identity of both of these things
(address, geo) is the union of their properties.

to then have the same address or geo coordinates published on tens of
thousands of different websites, all using a different ID (uri) would be a
huge, horrible, mess.

by using existential quantification, without naming, allows me as a
developer to quickly say that, for my purpose, all addresses with matching
union of propery object pairs are the same address, is valuable, invaluable
even - because I can say two businesses or people are associated with the
same address, without having a daily growing amount of different
identifiers (uris) for the same thing and trying to deduce if they are same
as or not.

sometimes the union of property/object pairs is the identity of a thing,
it's description suffices, and it doesn't need a full name.

on the flip side, sometimes we do need to name these things, for example in
address standardization and geocoding, where [ :streetAddress "123 West
Jefferson Street" ] and [ :streetAddress "123 W Jefferson St" ] refer to
the same thing, in this case it is useful to have a URI or name for the
address, and we can say that all these alternative forms of property unions
are different ways of describing the same thing - but this is usually done
via some kind of centralized service, and anybody who uses it agrees to use
the services identifiers/names - that is, multiple parties agree to share
the same identifiers/names between them.

so, from where I stand with commercial usage, it is far more valuable,
useful, and less messy, to be able to say something with these properties
exists, than to name everything.

Received on Tuesday, 27 November 2018 19:05:03 UTC