Мне нужно создать шаблон с помощью TDE в MarkLogic. И этот шаблон будет генерировать тройки из существующих XML-документов. Если тема - это URI документа, предикат - это имя элемента, а объект - это значение элемента.
Как создать шаблон с помощью TDE в MarkLogic для генерации троек
Ответы (1)
В руководстве по семантике есть примеры. По вашему запросу вы можете сделать что-то вроде этого, но обратите внимание, что такие контекстные пути могут значительно снизить производительность приема (в зависимости от размера ваших входных данных):
<template xmlns="http://marklogic.com/xdmp/tde">
<context>//*[text()]</context>
<vars>
<var>
<name>EX</name>
<val>"http://example.org/ex#"</val>
</var>
</vars>
<triples>
<triple>
<subject>
<val>sem:iri( fn:base-uri(.) )</val>
</subject>
<predicate>
<val>sem:iri( $EX || fn:name(.) )</val>
</predicate>
<object>
<val>fn:data( . )</val>
</object>
</triple>
</triples>
</template>
HTH!
person
grtjn
schedule
25.01.2018
Он не извлекает данные из xml.
- person Anuj Gupta; 29.01.2018
Не могли бы вы добавить более подробную информацию о том, что вы пробовали, и к каким результатам в разделе вопросов?
- person grtjn; 29.01.2018
Еще одна вещь, есть ли способ получить тройки в форматах XML вместо JSON? Также мы можем использовать TDE для создания и вставки Triples XML в ML.
- person Anuj Gupta; 30.01.2018
Тройки, извлеченные с помощью TDE, сохраняются только в тройном индексе, а не на диске. У них нет ни XML, ни JSON формата. Однако вы можете запустить запрос SPARQL, а затем решить сохранить результат как постоянные тройки в базе данных, либо как управляемые тройки, либо как встроенные тройки в документах JSON или XML.
- person grtjn; 30.01.2018
Спасибо! Итак, можете ли вы мне сказать, как мы можем сохранить результат запроса SPARQL в базе данных ML в виде троек?
- person Anuj Gupta; 30.01.2018
С оператором обновления SPARQL в строках
CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }
.
- person grtjn; 30.01.2018
Спасибо! Итак, что лучше использовать. В памяти или на индиске?
- person Anuj Gupta; 31.01.2018