В чем разница между аллегрографом и таблицей mysql из пяти столбцов? - PullRequest
3 голосов
/ 06 января 2012

Аллегрограф - это, по сути, тройной магазин RDF (фактически пять полей).Тогда почему мы не можем создать таблицу MySQL с пятью столбцами и сохранить в них тройки.?

Какие функции имеет AG над такой таблицей MySql?

Ответы [ 2 ]

5 голосов
/ 07 января 2012

Проще говоря, он поддерживает SPARQL

SPARQL - это язык запросов для RDF и имеет довольно разную семантику для SQL, есть инструменты для преобразования SPARQL в SQLзапросы, но производительность часто очень плохая.Кроме того, существует множество функций спецификации SPARQL (особенно встроенные функции), которые не имеют эквивалента в MySQL и поэтому должны быть выполнены с помощью хранимых процедур / пользовательских функций или выполнены в коде.

Оценка SPARQL сильно отличается от оценки SQL, поскольку SPARQL гораздо больше зависит от множества сложных объединений, хранилища SPARQL используют оптимизаторы, которые работают на тех же принципах, что и оптимизаторы SQL, но предназначены для работы с очень разными видамизапросы к тем, которые обычно обрабатывает традиционная СУБД.

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

Если все, что вам нужно, это сохранение и загрузка RDF-троек в / из базы данных SQL, то наивный подход к одной таблице может быть вполне подходящимдля тебя.Если вы действительно хотите сделать что-то полезное, вам нужна более сложная схема базы данных SQL или правильное хранилище RDF, например AllegroGraph

0 голосов
/ 28 января 2012

AllegroGraph устанавливает промышленный стандарт для ACID-совместимых баз данных RDF-графов и оптимизирован для приложений OLTP, рассуждений и бизнес-аналитики которые используют семантические технологии.

Так что, если вы решите создать одну таблицу из пяти столбцов для имитации графика RDF база данных, что вам будет не хватать?

  • Как описано в другом ответе, вы не получите SPARQL (запрос язык семантического мира) или возможность создания собственного SPARQL расширения.
  • mySQL оптимизирован для сильно нормализованных схем баз данных, а не для одной таблица большая таблица и несколько самостоятельных объединений на запрос.
  • AllegroGraph поддерживает несколько языков программирования на стороне сервера (Javascript, Prolog, Lisp), которые все оптимизированы для этого типа магазина.
  • AllegroGraph поддерживает данные RDF и расширения Geo, Социальная сеть Расширение анализа все одновременно в одном наборе данных.
  • AllegroGraph поддерживает рассуждения по наборам данных RDF-графа (RDFS ++)
  • AllegroGraph поддерживает трехуровневую защиту.
  • AllegroGraph поддерживает семантические библиотеки Java Jena и Sesame, а также Интерфейс Python, C #, Clojure, Lisp, Ruby, REST
  • Как и любая корпоративная база данных, AllegroGraph также поддерживает резервное копирование в онлайн-хранилище, репликация, теплый резерв, восстановление на определенный момент времени
...