Концептуальное моделирование данных: является ли RDF правильным инструментом? Другие решения? - PullRequest
2 голосов
/ 03 марта 2010

Я планирую систему, которая объединяет различные источники данных и позволяет пользователям выполнять простые запросы по ним. Часть системы должна действовать как уровень абстракции, который знает все подключенные источники данных: пользователь не должен [должен знать] о базовых «поставщиках» данных. Поставщиком данных может быть что угодно: реляционная СУБД, система отслеживания ошибок, ..., метеостанция. Они подключены к системе запросов через общий API, который определяет, как «предлагать» данные. Тип запросов, которые понимает определенный поставщик данных, определяется его «предложением» (например, Я знаю эти объекты, я могу дать вам агрегаты типа X для отношения Y, ... ).

Сейчас меня беспокоит унификация данных: различные поставщики данных должны договориться об общем словаре (например, название объекта «клиент» может различаться в разных системах). Таким образом, требуется определение представления объектов на высоком уровне и их отношений.

Пока у меня есть следующие требования:
Мне нужно уметь определять объекты и их свойства / атрибуты. Кроме того, должны быть представлены произвольные отношения между этими объектами: глагол, который определяет природу отношения (например, «знает»), множественность (например, 1: n) и направление / навигацию отношения.

Мне приходит в голову, что RDF является жизнеспособным вариантом, но действительно ли это «правильный инструмент» для этой работы?

Какие существуют другие решения / структуры для моделирования семантических данных, которые имеют машиночитаемое представление и почему они лучше подходят для этой задачи?

Я благодарен за каждое мнение и указатель на полезные ресурсы.

Ответы [ 2 ]

2 голосов
/ 07 апреля 2010

Если вам нужны ограничения количества элементов в отношениях (например, «Человек знает языки 1: n»), тогда RDF недостаточно (см. http://www.w3.org/TR/2004/REC-rdf-primer-20040210/#richerschemas).. Вам потребуются языки онтологии (по крайней мере, OWL-DL для количества элементов больше 1: http://www.w3.org/TR/owl-guide/#owl_cardinality)

2 голосов
/ 04 марта 2010

Я бы также рассмотрел базу данных XML и xquery, и, возможно, тематические карты (что очень похоже на RDF, но менее широко известно).

Существует также широкий спектр менее стандартизированных инструментов, таких как couchdb (который использует json).

Редко встречается «правильный инструмент», но RDF - очень сильный соперник, учитывая ваши требования.

...