Почему не сработает? Это смотря как проектировать.
На freebase.com всё вполне работает. Наследование активно используется. Там, правда, проблема что тип может редактировать только тот, кто его создал.
Из примеров того что работает, с наследованием: http://schema.org/docs/full.html, используется нынче на многих сайтах.
То есть наследование только для классов которые вообще без данных? Как это?
По-возможности, стараюсь наследовать только интерфейсы. Если родительский класс содержит данные, это очень часто выходит боком при расширении классификации. У того же GeoXG структура данных, как я понимаю, статична и весьма ограничена, так что там - почему бы и нет.
Я не понимаю, в чем именно вы видите проблему. То что база будет разрастаться? Польза в том, что при изменении тегов легко изменяются родители, проще делать новые сущности и легко описать все возможные варианты. При “все признаки родителя есть у потомка” не надо никакие теги отменять, все просто и прозрачно.
Кстати в качестве оффтопика wikipedia кажется создает стандартное решение для этой проблемы, какое оно будет объектно-ориентированным или нет - непонятно пока. Называется Wikidata.Цель проекта создать базу знаний, которую могут читать как люди так и машины.
Множественное наследование - потенциальный источник проблем.
И, мне думается, что проблемы эти возможно разрешить лишь при жестком проектировании сверху вниз, что совершенно нереализуемо для проекта, где в качестве разработчика может выступать любой желающий.
PS. Я тут в теме Каких инструментов вам не хватает" посетовал, что не хватает редактора, который не позволяет пользователям делать ошибки, в результате меня заклевали, (хотя тема такой реакции, вроде, не предполагала), заявляя, что пользователь должен мапить, как считает нужным, а не как ему позволяет редактор. Думаю, с таким подходом любое наследование (даже с единственным родителем) обречено на неудачу.
Что же касается размышлений о том, как должен выглядеть проект, то с моей точки зрения ему не хватает еще одной сущности (в дополнение к трем имеющимся: узел, путь, отношение) - объекта.
При этом объектами должны стать тегированные узлы и пути, а также отношения, обозначеющие физические сущности (мультиполигон, граница, кампус, etc.), а собственно отношениями должны остаться только логические сущности (запреты поворотов, адресация, etc.).
Я помню я с Вами ожесточенно спорил по похожей теме, а вот с этой формулировкой - категорически соглашаюсь. Непонятно, как возможно существование редактора, не заботящегося о сохранении [семантической] целостности данных.