Hi,

All use cases you describe are valid. It's up to the users of OSM
permanent id to keep track of changing OSM ids - it's an offer of OSM.
The only constraint I would propose is to avoid to delete and recreate
a new id only because of a tool (like an editor) likes to do it like
this.

The concept of permanent, unique and never-reused object ids is a
well-known property in the Object-Oriented and Linked Data technology.

As I said: The killer criteria not to use overpass-approach is that
there exist many OSM objects which have too few or no tags at all. And
using coordinates as identifiers is no solution neither because it's a
float number with different precision and implementation dependent. OO
overcame exactly this restriction of the relational paradigm (which
identified a tupel by the set of it's values).

Responsible for the unique generation of a permanent id is finally the
OSM server instance(s). In case the OSM servers are distributed a
distributed id scheme is applied as in NoSQL databases and here [1].

Yours, Stefan

[1] http://www.interlis.ch/oid/oid_e.php


2013/5/7 Peter Wendorff <[email protected]>:
> Hi.
>
> Do you have any idea how this permanent ID could look like?
> You dislike the overpass-approach (and yes, it's far from perfect).
> What is your idea how a stable permanent ID to an object may be achieved?
>
> Let's use a shop as an example (and wikidata as the foreign database as
> an example, too).
>
> 1st stage: it's not mapped at all - okay, nothing to link to.
> 2nd stage: someone maps a shop - and only that shop, without name or
> anything like that. Wikidata could of course link to the osm id, even if
> it only contains a coordinate and "shop=supermarket", but if they want
> to do that, they have more information they could add to osm easily,
> like name and usually at least parts of the address.
> 3rd stage: someone (e.g. the wikidata people) adds these details - the
> overpass-api get's slightly more stable (I know, not completely stable
> of course).
> 4th stage: someone replaces the node by a polygon mapping the
> supermarkets building as a whole. Now the osm id has changed, so your
> approach to use that as a link key fails here.
> 5th stage: someone refines that polygon to include the hole in the
> middle, so it get's a multipolygon relation. again the internal osm id
> changes, the overpass-api (when designed usefully) is kept.
>
> 6th stage: the name of the shop changes (small change due to corporates
> decision, nothing really useful): The osm id is stable here, overpass is
> likely to fail now (but knows about this failure as it's possible to
> acknowledge the dead link).
>
> 7th stage: the shop moves to another address, therefore the tags are
> moved to another building, let's say, 3 streets away. The OSM id looks
> like it's still stable, but links to the wrong object. The overpass-id
> is either still valid or is automatically known to be a dead link.
>
> I agree, that the overpass-api isn't perfect and it's still possible to
> produce links that are either (or may get) ambiguous or that may break
> due to any edit in future. But the internal OSM ID has even more
> drawbacks: while the overpass-permanent-id includes semantics for the
> link, the osm id is a pure technical link.
>
> I'm keen to get a better idea how that could be achieved, or why you
> really think that the osm id is really better than overpass with respect
> to stability and maintainability.
>
> regards
> Peter
>
> Am 07.05.2013 00:31, schrieb Stefan Keller:
>> Hi,
>>
>> I also think that linking from an OSM object to a growing no. of
>> external databases (incl. Wikipedia/Wikidata) is not a good idea. And
>> I respect the wish of the OSM maintainers to change the OSM id in the
>> future. But the overpass-permanent-osm-id is no solution neither,
>> primo because a set of key-values is a clumsy id, and secondo because
>> there exist many OSM objects which have no identifying tags (or none
>> at all).
>>
>> As this issue pops up from in increasingly frequent intervals I think
>> it's time to think about a good mid term solution (short term is
>> sticking to the OSM id).
>>
>> I'm proposing a solution alongside one of the following two directions:
>> * either to implement a Linked Data API/service which maps from
>> permanent ids to OSM objects (and which is what I like about overpass
>> - being a service) -
>> * or to add a permanent id as an additional XML tag to every OSM
>> object! And if somebody thinks that's a waste of space we can easily
>> drop the XML tag "user" which is completely redundant to "uid" (which
>> in turn needs another simple API to find out the current users display
>> name).
>>
>> Yours, Stefan
>>
>>
>>
>> 2013/5/6 Peter Wendorff <[email protected]>:
>>> Am 06.05.2013 23:07, schrieb andrzej zaborowski:
>>>> Hi,
>>>>
>>>> On 6 May 2013 21:20, Peter Wendorff <[email protected]> wrote:
>>>>> Am 06.05.2013 20:26, schrieb Tobias Knerr:
>>>>>> On 06.05.2013 18:54, Peter Wendorff wrote:
>>>>>>
>>>>>> [...]
>>>>>>> Let's see this example: A building that was a merchants kontor a few
>>>>>>> hundret years ago, and now contains a museum and a restaurant, while in
>>>>>>> between it was - let's say - a hospital).
>>>>>>
>>>>>> That's historical mapping. The problems would be the same for e.g. the
>>>>>> name. But as for the parts of the example that are not directly 
>>>>>> "historic":
>>>>>
>>>>> No, it's not. I did not speak about mapping the hospital and the
>>>>> merchants kontor, but about wikidata entries ahout the hospital and the
>>>>> merchants kontor - and wikidata in fact includes historical entities
>>>>> like that, too.
>>>>
>>>> If you're not adding those historical entities to OSM (or a similar
>>>> database like that historical osm once discussed) then there's no
>>>> issue with linking to Wikidata because there's nothing to be linked.
>>>
>>> Why not?
>>> The building is the same, and it's not of interest, that the tag
>>> amenity=museum is not (any more) existent in osm.
>>>
>>> If that's an argument any wikidata entity that's not tagged as complete
>>> as the wikidata entity itself would be "nothing to be linked".
>>>
>>> Your cross-reference (only add a reference osm pointing to wikidata to
>>> the building, but link all other entities of wikidata to the building)
>>> argument may be valid, but it's complex (that's my question below); but
>>> especially historical entities are of interest to be linked, as they are
>>> not directly findable by going out and watch.
>>>
>>>
>>>> [...]
>>>>>>> - the restaurant's page
>>>>>>
>>>>>> Can be linked using the wikidata key at the restaurant POI.
>>>>> You assume here that osm has distinct objects for building, restaurant
>>>>> and museum, but often that's not the case.
>>>>> Let's say the building mainly "is"/hosts the museum, and the restaurant
>>>>> is a small part of it, covering a part of the building only (may be part
>>>>> of the museum, too.
>>>>
>>>> If it doesn't occupy the entire building then you can probably add the
>>>> museum tag on the building geometry but later once you want to add a
>>>> wikidata tag you'd probably split it out like you'd split a street
>>>> object when you want to add an attribute that applies to a part of the
>>>> attribute.  If you're into indoor mapping then you'd draw the museum
>>>> outline separately anyway.
>>> so you propose to split it up because of an external ID you propose to
>>> add...
>>> While I in general agree that objects of osm are split when they get
>>> mapped in more detail (like in this example), I'm not happy to do that
>>> for the reason to enable matching to external references.
>>>
>>>> Or you could do namespaces, basically using the same criteria as with
>>>> different attributes.  For example opening_hours which may be
>>>> different for the museum and the building.  The mechanism can be the
>>>> same for wikidata=* as for e.g. opening_hours=* and oneway=*.
>>> and it's not working for opening_hours either afaik; usually we split
>>> the pois in these cases.
>>>
>>>>>> [...]
>>>>>>> Perhaps look into the overpass-permanent-ID solution for that.
>>>>>>
>>>>>> In my opinion that's not really a good solution here. Manually creating
>>>>>> Overpass API queries is too hard.
>>>>> That's true, but what you propose is (yet) hard, too:
>>>>> To decide where to link to wikidata and where to rely on wikidatas
>>>>> internal links requires deep knowledge about the wikidata system, which
>>>>> is IMHO not acceptable as a general precondition for mappers (whose
>>>>> majority will have to deal with that in future to keep these links
>>>>> reasonably up to date).
>>>>
>>>> Again mappers are already dealing with this problem when they add
>>>> phone= or website= tags.  There's no clear criteria but it's not a a
>>>> problem specific to wikidata links.
>>> Of course not, but even the external id problem is not specific to
>>> wikidata links.
>>>
>>> Wikipedia links are for a long time relatively stable, and as wikipedia
>>> I think is often used as one reference for osm, too, it's widely
>>> accepted to be of benefit for both sides.
>>>
>>> Wikidata is not yet proven that stable nor that useful, and -
>>> especially: it's a data project. It would be a great task and solution
>>> to design e.g. an overpass-permanent-osm-id-editor that defines the link
>>> in a useful gui (e.g. derived from wikidata attributes like country,
>>> county, city, postcode, location/coordinate, address, ... which might be
>>> part of wikidata, I think.
>>>
>>> Wikidata links are harder to maintain, nearly impossible to check
>>> (without opening the page), while wikipedia links have meaningful names.
>>>
>>> Wikidata links currently are mostly duplicates of wikipedia article's
>>> entities (as that's the big imported stuff from the beginning).
>>>
>>> Therefore I personally oppose currently to reference wikidata entities
>>> from osm objects; at least where no good rules exist where and when to
>>> link which types of objects, and which not.
>>>
>>> regards
>>> Peter
>>>
>>> _______________________________________________
>>> talk mailing list
>>> [email protected]
>>> http://lists.openstreetmap.org/listinfo/talk
>>
>
>
> _______________________________________________
> talk mailing list
> [email protected]
> http://lists.openstreetmap.org/listinfo/talk

_______________________________________________
talk mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk

Reply via email to