2016-05-10 8 views
1

Я использую d2rq.org изменить свои реляционные данные базы данных в формате RDF, который я могу записать результат дамп с помощью http://d2rq.org/dump-rdfRDF изменить формат включить PREfix

и я сделал это, но генерируемые троек, как :

<http://www.bla.com/to#Media3348> <http://www.bla.com/to#hasGenre> <http://www.bla.com/to#Genre1> . 

Однако, я предпочитаю иметь префиксные сущности, а не полноразмерные URI.

Я извлечение данных с помощью:

map:Genre a d2rq:ClassMap; 
    d2rq:dataStorage map:database; 
    d2rq:class to:Genre; 
    d2rq:uriPattern "http://www.bla.com/to#[email protected]@[email protected]@"; 
. 

и даже если я изменить файл сопоставления для

d2rq:uriPattern "to:[email protected]@[email protected]@"; 

результат:

<to:Genre1> 

они всегда включают < >

+1

Что нужно изменить формат вывода. Не имеет значения, что вы используете префиксы в спецификациях сопоставления. Если нет возможности изменить формат, вы можете впоследствии конвертировать N-Triples в TURTLE, используя, например, рэппер, Йена, Кунжут и т. д. - все, что вы предпочитаете. – AKSW

+1

Что произойдет, если вы используете '-f TURTLE'? – AKSW

+0

@AKSW, так что это команда, которую я использовал после вашего комментария 'sh dump-rdf -o output.ttl -f TURTLE mapping-file.ttl' и ничего не писал в файл output.ttl. но когда я использовал ваше предложение, он записывает файл –

ответ

2

По умолчанию dump-rdf производит выход в формате N-Triples. N-Triples не поддерживает префиксные имена, поэтому он всегда выписывает полные URI в заостренных скобках.

Что вы хотите выводить в формате Turtle. Черепаха поддерживает аббревиатуру URI с префиксными именами. Так может быть это в начале файла:

@prefix to: <http://www.bla.com/to#>. 

И объявив этот префикс, можно затем записать префикс имени to:Something вместо полного URI <http://www.bla.com/to#Something>.

Вы можете указать dump-rdf, чтобы использовать выходной формат Turtle, добавив -f TURTLE в командную строку (как уже указывал AKSW).

Обратите внимание, что N-Triples работает лучше для больших баз данных, поскольку потребляется меньше памяти.