Необходимо продумать расширяемость методов проверки, тогда однозначно откажетесь от switch() и выносите проверку во внешние структуры (классы), и, может, не станет общего пространства. В обще, сложно судить, как лучше сделать, если хотите сохранить текущий принцип использования проверки. Я изначально всё упростил, потом колдовал с магическими методами)
Сделал нечто похожее. Но все значения, которые требуют проверки, помещаются в экземпляр класса «опасных значений» — Values. При этом никаких модификаций со значениям не происходят, они просто изолируются таким образом, что получить их можно будет только с указанием правила на них. Поэтому, важно было разработать универсальный способ описания правил. В правиле указывается тип значения, требуемая величина, структура, обязательность существования с возможностью определять условия на элементы массива, ну и с возможностью добавлять свои фильтры. Подробнее написано в статье про правила
А это важно кому будет принадлежать Веб? Интересней услышать кто и каких целей с его помощью сможет достигать. Вы предлагаете Профократию, но не поясняете зачем оно нам нужно, каковы причины его возникновения, либо сказано не убедительно. Необходимы две или более заинтересованных сторон, хотя бы как с экономическими махинациями США.
Заведомо изменяете описание, чтоб нельзя было идентифицировать нечто как треугольник. И что? А можно избавиться от некоторых характеристик или, наоборот, добавить, и все равно будет треугольник.
Как это касается модели знаний? Вы, похоже, рассуждаете про единство модели (структуры) в рамках одной базы знаний. Я же вам толковал, что результат определения нечто как «стена» будет зависеть от состояния и особенностей модели знаний. Здесь нет ничего сверхразумного. Обычный поиск. Можно по кирпичам и песку получить ассоциацию только на стену, можно на много чего разного найти или в обще ни на что.
Это смотря какая у вас модель знаний. Обычная задача поиска. Разница лишь в том, что сам поиск был осуществлен интеллектом при классификации данных, а в текущий момент уже используются ассоциации между данными. И повторюсь, что важно достижение какой-то цели при оперировании данными, чтоб их назвать знаниями.
Знания – это тоже данные, но которыми интеллект способен оперировать для достижения каких-то целей. Все эти онтологии во временных многомерных и прочих измерениях – результат классификации данных, и какого вида она зависит от интеллекта.
Столкнулся с одной проблемой. Большой расход памяти. Любой выбранный объект остаётся в оперативной памяти, так как мы не знаем, нужен ли нам будет ещё объект или нет, мы его все равно храним… типа, а вдруг понадобится.
Заведомо изменяете описание, чтоб нельзя было идентифицировать нечто как треугольник. И что? А можно избавиться от некоторых характеристик или, наоборот, добавить, и все равно будет треугольник.
Как это касается модели знаний? Вы, похоже, рассуждаете про единство модели (структуры) в рамках одной базы знаний. Я же вам толковал, что результат определения нечто как «стена» будет зависеть от состояния и особенностей модели знаний. Здесь нет ничего сверхразумного. Обычный поиск. Можно по кирпичам и песку получить ассоциацию только на стену, можно на много чего разного найти или в обще ни на что.