Граф базы данных против тройных магазинов
Какой в настоящее время лучший выбор для сохранения графоподобных структур? Графовые базы данных (например, Neo4j) или RDF тройные магазины (например, Virtuoso)?
Например, у нас есть следующий вариант использования:
- слабо связанный граф (похожий на один из научных трудов в сборнике) с почти 10 миллионами узлов;
- довольно редкие обновления;
- критические операции: извлечение определенных подграфов, обновление узлов в данном подграфе, повторное вычисление мер анализа ссылок (например, HITS или PageRank) после обновления некоторых узлов.
Также желательно предоставить стандартный API для запроса данных для сторонних приложений (например, Facebook или Twitter).
2 ответа
С Virtuoso у вас есть следующие работающие для вас:
- SPARQL, SQL, SPASQL (SPARQL внутри SQL) и SQL внутри поддержки SPARQL (например, для работы с N-арными отношениями через магические / функциональные предикаты / свойства).
- работает как компактный движок (например, эксплуатируемый через KDE Desktop) или массивная СУБД, как продемонстрировано с помощью живого 17-миллиардного троек + облачного кеша LOD или меньшего живого экземпляра DBpedia.
- включает полнотекстовое индексирование и текстовые шаблоны в SPARQL (через bif: содержит), также включает XPath/Xquery (через xcontains)
- Кислотный или некислотный режим То же самое Schema-Last при работе с Property Graph Store
- Через промежуточное программное обеспечение преобразования он может извлекать данные из более чем 80 источников данных (включая API-интерфейсы REST, сервисы SOAP, Hypermedia Resource, доступные для реляционных источников данных ODBC или JDBC и т. Д.) И преобразовывать их в графики переходных или постоянных связанных данных.
- Публикация связанных данных происходит автоматически, т. Е. После создания записи СУБД у вас есть встроенные Страницы связанных данных, которые отображаются в виде СУБД. Нет возиться с ре. Правила перезаписи URL, 303 перенаправления или что-то в этом роде. Super Keys от InterWeb просто работает!
Вот и все сейчас:-)
Для горизонтального масштаба (таким образом, для небольших и средних баз данных) графовые базы данных, такие как neo4j, в настоящее время будут давать лучшую производительность для обходов графов. Триплеты наверстывают упущенное. Большим преимуществом Triple Store по сравнению с графической базой данных является то, что дампы данных и язык запросов стандартизированы, что означает, что их гораздо проще перенести на другой продукт и предотвратить блокировку поставщика.