<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p> </p>
<div> </div>
<p>I see your point Martin. So all we need now (for your example) is a documented map from shop=tobacco to a list of sells:*=* tags which are default for shop=tobacco. One would reasonably expect sells:cigarettes=yes, sells:pipe_tobacco=yes and sells:rolling_tobacco=yes, but I am not sure about sells:chewing_tobacco or actual devices such as rolling machines and pipes. The product categories may also appear with other types of shop, like shop=supermarket might have sells:pipe_cleaners=yes if anyone finds it necessary to tag that. So we have a simple, flat list of product categories, with a 1:n mapping from shop type to product categories.</p>
<p>Tobacco shops</p>
<p>* Main tag: shop=tobacco</p>
<p>* Typical product categories and defaults for this type of shop:</p>
<p>** cigarettes (yes)</p>
<p>** pipe_tobacco (yes)</p>
<p>** rolling_tobacco (yes)</p>
<p>** chewing_tobacco (unknown)</p>
<p>** snuff (unknown)</p>
<p>** pipes (unknown)</p>
<p>** pipe cleaners (unknown)</p>
<p>** rolling machines (unknown)</p>
<p>Back to our chemists/drugstores/pharmacies, I would suggest prescription_only_medicines, pharmacy_only_medicines, general_medicines, plus a bunch of others to represent the wide variety of things you get in "drugstores" like household_cleaning, hair_products, etc.</p>
<p>The "art" is going to be choosing these product categories so they are a) not so specific that the list gets too long and unwieldy and b) not too high-level that they add too little distinction between the shop types ("medicines" would probably be an example of this).</p>
<p>//colin</p>
<p>On 2015-11-02 12:17, Martin Koppenhoefer wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr">
<div class="gmail_extra"><br />
<div class="gmail_quote">2015-11-02 11:45 GMT+01:00 Colin Smale <span><<a href="mailto:colin.smale@xs4all.nl">colin.smale@xs4all.nl</a>></span>:<br />
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<p>On 2015-11-02 11:26, Martin Koppenhoefer wrote:</p>
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;">
<div dir="ltr">
<div class="gmail_extra"><br />
<div class="gmail_quote">2015-11-02 11:16 GMT+01:00 Colin Smale <span><<a href="mailto:colin.smale@xs4all.nl">colin.smale@xs4all.nl</a>></span>:<br />
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<p>The second issue is that the value part of the KVP is redundant - the presence of the key is enough.</p>
</blockquote>
<div> </div>
<div>not if you consider values like "no" and "only".</div>
<div> </div>
</div>
</div>
</div>
</blockquote>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<div>The "no" would be indicated by the absence of the tag (we are not going to add a sells:*=no for everything it doesn't sell, are we?)</div>
<div>The "only" would be indicated by the absence of any other sells:*=* tag</div>
</div>
</div>
</div>
</blockquote>
</div>
<br /><br />that's the difference between explicit and implicit mapping. If you are explicit, you know that it should be like that, if you rely on the absence of information / tags you might fall on your nose because the data wasn't complete etc.</div>
<div class="gmail_extra">For some stuff it might sense to use the "no" to avoid misinterpretations by wrong asumptions, e.g. shop=tobacco, sells:cigarettes=yes, sells:cigarette_tobacco=no</div>
<div class="gmail_extra">or highway=motorway_link, oneway=no.<br /><br /></div>
<div class="gmail_extra">also: sells:vegetables=only</div>
<div class="gmail_extra">sells:cabbage=yes</div>
<div class="gmail_extra">sells:carrots=yes<br />...</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">etc.<br /><br /></div>
<div class="gmail_extra">Cheers,</div>
<div class="gmail_extra">Martin</div>
</div>
</blockquote>
</body></html>