4.4 KiB
TEST comunica
сравнения rdfLib
https://github.com/comunica/comunica/ github.io: https://comunica.github.io/comunica/
@comunica/query-sparql-file
обратный отсчет
3) JS query-sparql-file (local file)
2) JS query-sparql-file (SPARQL endpoint)
https://www.npmjs.com/package/@comunica/query-sparql-file (Usage within application)
Не заработал, см. исходный файл /sparql_file/sparql-file1_no.js
Поправил:
- Ругается на await , пишут, что нужно переписать в ESM. Переписал см. require-vs-import
- Хоть @comunica/query-sparql-file был установлен глобально (см. Установку CLI query-sparql-file ниже), но заработало только после:
npm install @comunica/query-sparql-file - Весь нижний блок
// Consume results as an array (easier)закоментировал, т.к. наbindings[0].getтоже ошибка.
В итоге/sparql_file/sparql-file1.mjsошибок не выдает, но и результата тоже (нужно далее разбираться).
1) CLI query-sparql-file
https://github.com/comunica/comunica/tree/master/engines/query-sparql-file#readme
https://comunica.dev/docs/query/getting_started/query_cli_file/
https://www.npmjs.com/package/@comunica/query-sparql-file
cd C:\Temp1\comunica\
npm install -g @comunica/query-sparql-file
отступление
вообще, npm install -g можно из любой папки (global).
Т.е. установить пакет в глобальную общую папку node_modules (там, где находится node). Это позволит получить доступ к модулю из командной строки, поскольку папка bin имеет ссылку в PATH:
Users\user\AppData\Roaming\npm
C:\Users\user\AppData\Roaming\npm\comunica-sparql-file-http.cmd
C:\Users\user\AppData\Roaming\npm\node_modules\@comunica\query-sparql-file\
Сам node C:\Program Files\nodejs\node.exe
продолжение
Для использования --query ; --file см.: comunica-sparql-file --help
test
- remote FOAF profile
comunica-sparql-file https://ruben.verborgh.org/profile/#me "CONSTRUCT WHERE { ?s ?p ?o } LIMIT 100"
(из любой папки) - remote RDF file, наш SemanticBPM/samples/vad_1/vad_1.ttl
comunica-sparql-file https://bpmbpm.github.io/SemanticBPM/samples/vad_1/vad_1.ttl "CONSTRUCT WHERE { ?s ?p ?o } LIMIT 100"
Не путать сcomunica-sparql-file https://github.com/bpmbpm/SemanticBPM/blob/main/samples/vad_1/vad_1.ttl "CONSTRUCT WHERE { ?s ?p ?o } LIMIT 100"
(node:18208) MaxListenersExceededWarning: обнаружена возможная утечка памяти EventEmitter.
т.е. нужен Github Pageshttps://bpmbpm.github.io/SemanticBPM/samples/vad_1/vad_1.ttl - local RDF file, тот же, но сохраняем файл vad_1.ttl в локальную папку:
comunica-sparql-file vad_1.ttl "CONSTRUCT WHERE { ?s ?p ?o } LIMIT 100"
Comunica N3 RDF Serialize Actor
An RDF Serialize actor that handles Turtle, TriG, N-Quads, N-Triples and N3 using N3.js. https://www.npmjs.com/package/@comunica/actor-rdf-serialize-n3?activeTab=readme
FAQ
local file system
Как выполнить запрос к RDF-файлу в локальной файловой системе?
Вместо использования Comunica SPARQL вы можете использовать Comunica SPARQL File для запроса файлов в локальной файловой системе.
Comunica SPARQL по умолчанию не позволяет выполнять запросы к локальному файлу из соображений безопасности.
bindingsStreamи quadStream
const quadStream = await myEngine.queryQuads(CONSTRUCT ..., {...});