Предположим, у меня есть строки данных, полученных из таблиц реляционных баз данных (возможно, путем объединения таблиц). Каждая строка имеет несколько столбцов (таких как A, B, C, D ..), и следующие строки - это то, что у меня есть.Потеря информации при сохранении строк базы данных в граф и RDF?
А1, В1, С1, D1,
А1, В2, С1, D1,
А1, В2, С1, D2,
Если бы я нарисовать сетевой график среди лиц, я может сохранить информацию в RDF путем создания нескольких троек, таких как
А1 В1 connectsTo
В1 connectsTo С1
С1 connectsTo D1
А1 connectsTo В2
В2 connectsTo С1
С1 connectsTo D2 (и в противоположном направлении, а)
Таким образом, в двунаправленной графике они будут
A1 - B1 - C1 - D1
'----- B2 ---' '--- D2
Проблема в этом подходе заключается в том, что я ввел двусмысленность, потому что, посмотрев на приведенный выше график, я также могу получить соединение между A1 - B1 - C1 - D2, которое у меня не было в оригинале строк. Мой первый вопрос - В общем, это то, что происходит при сохранении строк базы данных в сетевом графике (или я что-то не так?)
Чтобы сохранить исходную информацию, я мог бы объединить четыре объекта в каждом строка в bnode, но я обеспокоен тем, что это даст мне такую же гибкость (и производительность) при создании графических соединений, как и раньше. Возможно, мне нужно будет просто захватить все соединения между As и Bs или другими комбинациями подмножеств позже. И это будет не так эффективно, как раньше, потому что вам нужно будет хранить дублируемую информацию в разных bnodes.
So мой второй вопрос: - Каков наилучший способ хранения строк в RDF, но при этом сохраняйте гибкость и производительность? Я просмотрел рекомендации WWW.org по отображению RDF в RDF (http://www.w3.org/TR/r2rml/, а также http://www.w3.org/TR/rdb-direct-mapping/), но, похоже, мне пришлось бы группировать данные под одним и тем же идентификатором строки, чтобы сохранить данные. Это единственный способ?
Спасибо.
Большое вам спасибо! Именно то, что мне нужно. – Rolonoa