- From: Anthony Moretti <anthony.moretti@gmail.com>
- Date: Tue, 4 Dec 2018 14:22:17 -0800
- To: Dan Brickley <danbri@danbri.org>
- Cc: dave.e.reynolds@gmail.com, Semantic Web <semantic-web@w3.org>, Dan Brickley <danbri@google.com>
- Message-ID: <CACusdfTUaFJAmTofEXvidOk-aOoaAL1=4e4cUcrani=PzXDBNA@mail.gmail.com>
You've got to admit that this conversation about addresses has been
valuable though, blank nodes were the original topic of the thread after
all. A lot of developers before Hugh have tried to do simple address
matching, myself being one when I was trying to create a food delivery
startup. It's been good to talk this through in the context of RDF, I
appreciate everybody's comments.
Anthony
On Tue, Dec 4, 2018 at 1:31 PM Dan Brickley <danbri@danbri.org> wrote:
>
> ("Details like URIs or bNodes seem to me rather down in the noise.")
>
> Thanks, Dave. This chimes with a lot of our experience at Google using
> Schema.org data (roughly RDF triples) from the Web, fwiw.
>
> Dan
>
>
> On Tue, 4 Dec 2018, 03:30 Dave Reynolds <dave.e.reynolds@gmail.com wrote:
>
>> I don't want to get embroiled in the main thread(s) but, just in case
>> anyone is *really* dealing with UK addresses rather than using them as
>> rhetorical examples, then ...
>>
>> On 03/12/2018 23:37, Anthony Moretti wrote:
>> > I see your point Hugh, especially in your case because for UK addresses
>> > consisting of only house number and postcode structural equality is
>> > sufficient for address equality. Decentralized will work very well in
>> > that case.
>>
>> Sadly that's a long way from being true. UK addresses within a postcode
>> my be identified by house name, house name + number, business name (with
>> no house name or number at all), any of those plus a secondary address
>> etc etc. Even when there's a house "number" sometimes its actually a
>> number range not a single number and there's considerable ambiguity on
>> how those ranges are expressed and what the "definitive" range for a
>> given property really is.
>>
>> Identity of UK addresses is simply not something you can express in OWL
>> or any logic close to it. You need an address reconciliation algorithm
>> to map your address to an maintained identifier set such as a UPRN or
>> UDPRN. The reconciliation process will have error rates that you will
>> need to manage and recover from, there's no closed, guaranteed algorithm.
>>
>> Once you have the UPRN or UDPRN or whatever you can create URI's or some
>> inverse functional property as you wish. Except that even then the
>> official identifier schemes like that aren't perfect and have ...
>> oddities ... in them that can still mess you up.
>>
>> Generating unique keys for resources based on hashing a few properties
>> is all very well in simple cases but, at least in my experience, real
>> world problems are nothing like that simple clean. You need serious
>> effort to create and maintain identifier schemes and to reconcile source
>> data against those schemes. Details like URIs or bNodes seem to me
>> rather down in the noise.
>>
>> Dave
>>
>> > On Mon, Dec 3, 2018 at 3:07 PM Nathan Rixham <nathan@webr3.org
>> > <mailto:nathan@webr3.org>> wrote:
>> >
>> > Hugh, do you mean something like bnode.id <http://bnode.id> =
>> > sha256(serialise(bnode))
>> >
>> > On Mon, 3 Dec 2018, 22:58 Hugh Glaser <hugh@glasers.org
>> > <mailto:hugh@glasers.org> wrote:
>> >
>> > This is not directly about blank nodes, but is a reply to a
>> > message in the thread.
>> >
>> > I’m certainly agreeing that we should work towards common
>> > understanding of Thing equality.
>> > And addresses are a great place to start.
>> > In order for equality to be defined, I think that means you
>> > first need an idea of what an unambiguous address looks like.
>> >
>> > Having an oracle that defines what an unambiguous Thing looks
>> > like is one organisational structure, and it would be great if
>> > schema.org <http://schema.org> could lead the way.
>> > It particularly helps people who just want an off the shelf
>> > solution, especially if they have no knowledge of the Thing
>> domain.
>> >
>> > However I (and perhaps David Booth) am after something more
>> > anarchic, that can function in a decentralised way (if I dare to
>> > use that term! :-) )
>> > For example, I might decide that I think that House Number and
>> > PostCode is enough.
>> > (UK people will know that this is a commonly-used way of
>> > choosing an address, although it may well not be satisfactory
>> > for some purposes, I’m sure.)
>> > That may well be sufficient for me to interwork with datasets
>> > from Companies House, the Land Registry and a bunch of other
>> > UK-based organisations, plus many other datasets.
>> >
>> > Having a simple standard way to create keys for such things
>> > facilitates that, without any standardisation process and all
>> > that entails in weaknesses and strengths of trying to get
>> > agreement on what an unambiguous address might look like on a
>> > world scale for all purposes.
>> >
>> > Just generating a URI, without needing to make any service calls
>> > (having found where they are and chosen the one you want and
>> > compromised on it, etc.) or anything seems to me a way of making
>> > all the interlinking so much more accessible for us all.
>> > It is even future proof:- using such a URI means that if it is
>> > about something new (UK postcodes change all the time :-(, and
>> > there are more dead ones than live ones), the oracle doesn’t
>> > tell me anything it didn’t have until I ask again.
>> > In a key-generating world, my new shiny key will slowly align
>> > with all the other key URIs as they get created.
>> >
>> > So yeah, all strength to anyone who wants to take on the central
>> > roles, but not at the expense of killing the anarchic solution,
>> > please.
>> >
>> > Cheers
>> >
>> > > On 3 Dec 2018, at 22:10, Anthony Moretti
>> > <anthony.moretti@gmail.com <mailto:anthony.moretti@gmail.com>>
>> > wrote:
>> > >
>> > > Cheers for agreeing William. On the topic of incomplete blank
>> > nodes Henry I'd give them another type, the partial address
>> > example you give I'd give the type AddressComponent, or
>> > something to that effect. I could be wrong, but it's not a valid
>> > Address if it's a blank node and no other information in the
>> > graph completes it.
>> > >
>> > > Anthony
>> > >
>> > > On Mon, Dec 3, 2018 at 1:56 PM William Waites
>> > <wwaites@tardis.ed.ac.uk <mailto:wwaites@tardis.ed.ac.uk>>
>> wrote:
>> > > > standards like schema:PostalAddress should possibly define
>> > relevant
>> > > > operations like equality checking too.
>> > >
>> > > Exactly.
>> > >
>> > >
>> >
>>
>>
Received on Tuesday, 4 December 2018 22:22:52 UTC