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

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

From: Jiří Procházka <ojirio@gmail.com>
Date: Wed, 28 Nov 2018 17:31:23 +0100
To: David Booth <david@dbooth.org>, semantic-web@w3.org
Cc: Nathan Rixham <nathan@webr3.org>
Message-ID: <d5ef51c3-08a2-665c-c60f-9d76983de619@gmail.com>
Adding to these good points, consider this blank node usage (using Turtle):

:joe :address [ a :Address;
     :streetAddress "123 West Jefferson Street";
     :postalCode "85003";
   ].

:kate :address [ a :Address;
     :streetAddress "123 West Jefferson Street";
     :postalCode "85003";
   ].

Someone please confirm, but I think using RDF semantics you cannot
conclude the bnodes refer to the same address (which would be quite
intuitive). As RDF is based on graphs, not tree, the "address" predicate
plays a role as much as "postalCode" does. The first bnode means there
exists an address with that streetAddress and postalCode and is an
address of Joe. The second bnode means there exists an address with that
streetAddress and postalCode and is an address of Kate. The RDF graph
could as well be written like this:

[ a :Address;
     :addressOf :joe;
     :streetAddress "123 West Jefferson Street";
     :postalCode "85003";
   ].

[ a :Address;
     :addressOf :kate;
     :streetAddress "123 West Jefferson Street";
     :postalCode "85003";
   ].

On 11/28/18 4:01 AM, David Booth wrote:
> On 11/27/18 2:04 PM, Nathan Rixham wrote:
> . . .
>> 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  },
>> }
>> . . .
>> [To] 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.
> 
> Not so fast.  Two points:
> 
>  - Unless you make a unique name assumption with URIs, that huge,
> horrible mess is pretty much the situation we already have using blank
> nodes.  Except that in some ways the current situation is *worse*,
> because the same data loaded twice cause duplicate triples (non-lean),
> whereas that would be automatically avoided if URIs were usesd.
> 
>  - Those same addresses don't have to use different URIs on different
> web sites.  If we have a standard way to generate URIs for them, based
> on a natural key (or composite key) that is typically formed from the
> constituents of the n-ary relation -- the components of the address, for
> example -- then all those websites could automatically use the *same*
> URI for them.  Tools could do this automatically whenever the user
> writes an n-ary relation, like the JSON-LD example above.  And that
> would be a *big* improvement over the current situation.
> 
> David Booth
> 


Received on Wednesday, 28 November 2018 16:31:56 UTC

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