Есть ли веб-семантическая структура, которая не представляет тройку как трехузловую структуру? - PullRequest
6 голосов
/ 11 марта 2011

В моей работе мы создаем огромное приложение, которое будет использовать миллиарды троек, чтобы оптимизировать пространство, необходимое для хранения этих троек. Я искал другой способ их представления, любой способ, более экономичный, приветствуется. Спасибо

Ответы [ 4 ]

3 голосов
/ 11 марта 2011

Существует также целый класс систем хранения графов, которые не хранят вещи в виде троек, как neo4j. Но я бы не стал исключать тройные магазины только потому, что они хранят вещи как тройки ;-) Многие из современных решений уже хранят миллиарды троек, так что это невозможно отменить (хотя, когда вы получаете на 1 или 2 порядка больше, чем эти вещи, получите жесткая). Я лично наполнил магазин Allegrograph более чем на 1 миллиард.

Смотрите эту тему: http://www.semanticoverflow.com/questions/3332/scalable-owl-rdf-database

3 голосов
/ 12 марта 2011

Я не думаю, что пространство, необходимое для хранения миллиардов троек, реально намного хуже, чем пространство, необходимое для хранения миллиардов строк в базе данных SQL.

Общий подход, используемый большинством систем на основе собственных хранилищ / на основе SQL, заключается в назначении идентификаторов узлам и сохранении каждой тройки как всего 3 идентификатора узла. Имея хороший выбор генерации идентификатора узла и эффективный индекс между идентификатором узла и значением узла, вы можете легко создавать магазины, которые масштабируются масштабно.

В качестве дальнейшей оптимизации некоторые магазины генерируют идентификаторы узлов таким образом, что простые типы значений (например, целые числа, логические значения, время и т. Д.) Кодируют свои значения непосредственно в идентификатор узла, поэтому нет необходимости выполнять поиск из Идентификатор значения (или наоборот при вставке таких данных)

2 голосов
/ 14 марта 2011

Как говорит РобВ, почти все магазины прикрепляют внутренние значения / идентификаторы узла к элементам тройки. Тем не менее, много места для тройного хранилища занято различными индексами, которые требуются для поиска. В реляционной базе данных вы можете легко уменьшить количество индексов на основе используемой вами модели данных. В тройных магазинах это намного сложнее, и магазины будут в основном создавать большое количество (6+) индексов для различных способов, которыми можно упорядочить элементы тройки.

0 голосов
/ 11 марта 2011

Есть много так называемых тройных магазинов. См. Википедия или W3C и выберите один.

...