Pull to refresh

Comments 6

Прочитал заголовок сначала как «Заметки Датасатаниста»…
И здесь очень просто добавлять новые данные: все, что не указано в виде предиката над объектами — это false, в литературе это известно, как Closed-world assumption.


LinkedData и Semantic WEB строятся на предположении об открытости мира. Данные в WEB не полны. Если данных в системе нет, то они могут быть в другом месте, или вообще еще не оцифрованы. Если в WikiData не указан рост и вес Дугласа, то из этого нельзя сделать вывод, что он не обладает этими характеристиками.

А вот большинство реляционных баз данных как раз придерживаются предположения о закрытости мира. Если в базе данных авиакомпании нет записи о авиарейсе, то обычно делается вывод, что такой авиарейс компания не обслуживает.
Согласен, слишком упрощенно вышло.

Про классические БД — все так, там CWA везде и всегда.

C LinkedData — тут по прежнему бинарная логика да/нет, так что нельзя сказать, что closed world assumption совсем не применим — если я попрошу ВикиДата посчитать все материки, то он их насчитает 6, а не «не знаю сколько» — ведь у меня нет доказательства, что все остальные объекты не материки (в случае с open world у нас по сути есть вывод как плюса, так и минуса — все, что посередине unknown)
closed/open world assumption — это предположение о полноте или неполноте данных, из которого делается вывод о семантике оператора отрицания. Если данные полны, то булево отрицание можно расширить до «отрицания как отказ», т.е. высказывание считается ложным не только, если ложность можно вывести в явном виде, но и если о нем ничего не известно.
LinkedData вцелом (как коллекция взаимосвязанных наборов данных в WEB) изначально задумывалась как неполная. Те же статьи в википедии постоянно дополняются и расширяются. Поэтому к этим данным нельзя применять операцию «отрицание как отказ». Т.е. можно посчитать атрибуты, проверить, есть ли они или нет. Но нельзя из отсутствия атрибута сделать вывод о его ложности.
Но в то же время какие-то отдельные частные наборы данных могут быть и полными. Они так-же могут быть описаны с помощью RDF или OWL. Мы можем решить, что этот набор данных полон, все что в нем не описано — не существует, и к нему можно применять другую логику вывода, включающую отрицание как отказ. Могут быть и гибридные наборы данных, часть их полна, часть — нет.

а какие конкретные инструменты для C# /.net посоветуете? как к ним крепится entity framework?

Sign up to leave a comment.