What about this tagging schema:

shop=pet_supplies for shops that don't sell pets
shop=pets for shops that do sell pets, and if you want to go in detail, you
can tag it
animals=fish;dog;cat;horse;whale (or in the plural form if you like to)

While you can give it the same amount of detail, it has some advantages:

2011/6/12 Serge Wroclawski <emac...@gmail.com>

>
> I'll elaborate on why this is a bad idea:
>
> 1. It's a lot of tags
>
> Not anymore, it's one or two tags, depending on how specific you want to be



> The problem with over specificity is that in my experience, it scares
> mappers off.
>
> We want users to come in and be able to map quickly and easily; but
> what we see from a subset of our community is the desire to design
> complex hierarchies of tags. These tags intimidate users.
>

If a user does not want to edit the animals list, he doesn't have to. It's
only one tag extra.

>
> 2. It won't get used in real life
>

Maybe not, but if someone likes to use it, he can.

>
> The second problem with these complex scheme is that the tagging list
> is an entity unto itself. People on this list love specificity, they
> love the idea of mapping in extreme depth. The problem is that it's
> rare that these tags get used. The original mapper uses them, maybe a
> few others, but overall they're just noise in the data, but appear
> prominently in the documentation. See #1.
>

It won't appear prominently, only in the description of the tag "shop=pets".

>
> 3. It's nested
>

Not entirely nested any more, you don't have the ':' structure.

>
> In the Python programming world, there's a saying "Flat is better than
> nested."- I feel the same applies to tags. In this example the
> question was "Can we distinguish between pet shops that sell animals
> and those who don't."
>
> My suggestion was that the term is ambiguous, but if you wanted to
> make them less ambiguous, you could distinguish a pet supply store by
> simply having a tag:
>
> shop=pet_supplies
>
> That's simple, easy, elegant, and solves the problem.
>
> if you wanted to have an animals=yes tag, I'd /almost/ be okay with that.
>

I don't like *feature=yes* tags, if you have a feature key, the value can be
used to describe it, putting "yes" is kinda useless IMHO.

>
> But when you start getting into these nests and subnests, I think this
> is an exercise in complexity and futility.
>
> 4. It's apt to change
>
> The value can change (like any value) but the keys won't change.


> animals:fish = yes is you listing a store's inventory.
>
> It would be the same as
>
> store=clothing
> men:bowties=yes
>
> Inventory changes, and this leads to increasingly bizare tagging of
> individual items.
>
> After all, why stop at "fish"
>
> animals:fish:neon_tetras=yes
> animals:fish:angel_fish=no
>
> ?
>
> 5. It's outside the reasonable scope of the project.
>

Maybe, but if someone wants to map it, he can.

>
> There's value in knowing what store carries what product, but it's not
> OSM's job to do that tracking.
>
> In some cases we bend the rules a bit, as you mention in your fuel
> example, or as I sometimes do with cuisine= on a restaurant. That's
> why I'm okay with the distinction between pets and pet supplies, but
> where I'm not okay with listing individual items of the inventory any
> more than I would be if we had:
>
> cuisine=thai
> menu:pad_see_ew=yes
> menu:pineapple_fried_rice=no
>
> We should be striving for simplicity wherever we can.
>
> - Serge
>
>
Please tell me what you think about it.


Regards,
Sander
_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging

Reply via email to