2016-09-08 14 views

ответ

0

Базы данных RDF по существу являются схематическими, что означает, что решение, такое как mysqldump, не является необходимым: вам не нужны какие-либо запросы для воссоздания схемы базы данных (структуры таблиц, ограничений и т. Д.), Простой дамп данных содержит все необходимую информацию для воссоздания базы данных.

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

Я не уверен в собственном подходе Virtuoso для этого (возможно, у него есть опция экспорта/данных в пользовательском интерфейсе клиента), но поскольку Virtuoso является совместимым с Sesame/RDF4J, вы можете использовать следующий бит кода сделать это программно:

Repository rep = ... ; // your Virtuoso repository 
File dump = new File("/path/to/file.nq"); 
try (RepositoryConnection conn = rep.getConnection()) { 
    conn.export(Rio.createWriter(RDFFormat.NQUADS, new FileOutputStream(dump))); 
} 
0

Удивительно, но Virtuoso website и documentation включить эту информацию.

В качестве вывода вы не можете получить файл .sparql, потому что RDF всегда использует одну и ту же тройную (или квадрантную) схему, поэтому в такой дампе нет определения схемы; просто данные.

Процедуры дампа выполняются через интерфейс iSQL.

Чтобы свалить один график - просто много троек - вы можете использовать the dump_one_graph stored procedure.

SQL> dump_one_graph ('http://daas.openlinksw.com/data#', './data_', 1000000000); 

Чтобы сбросить весь четверной магазин (все графы, кроме Виртуоз-внутреннего virtrdf:), вы можете использовать the dump_nquads stored procedure.

SQL> dump_nquads ('dumps', 1, 10000000, 1); 

many load options; мы обычно рекомендуем Bulk Load Functions для такого полного сброса и перезагрузки.

(ObDisclaimer:. OpenLink Software производит Virtuoso, и использует меня)