{"_id":"@comunica/actor-init-sparql-link-traversal-solid","_rev":"2-186fd9bac2f696a27312784673f2cf18","name":"@comunica/actor-init-sparql-link-traversal-solid","dist-tags":{"next":"0.0.2-alpha.e74249a.0","latest":"0.0.2-alpha.e74249a.0"},"versions":{"0.0.2-alpha.e74249a.0":{"name":"@comunica/actor-init-sparql-link-traversal-solid","version":"0.0.2-alpha.e74249a.0","description":"A Comunica engine for link traversal-based query evaluation over Solid data pods","lsd:module":true,"main":"index.js","typings":"index","repository":{"type":"git","url":"git+https://github.com/comunica/comunica-feature-link-traversal.git#master"},"publishConfig":{"access":"public"},"keywords":["comunica","actor","init","sparql","link-traversal"],"license":"MIT","bin":{"comunica-sparql-link-traversal-solid":"bin/query.js","comunica-sparql-link-traversal-solid-http":"bin/http.js","comunica-dynamic-sparql-link-traversal-solid":"bin/query-dynamic.js"},"bugs":{"url":"https://github.com/comunica/comunica-feature-solid/issues"},"homepage":"https://comunica.dev/","dependencies":{"@comunica/actor-init-sparql":"^1.22.2","@comunica/actor-init-sparql-link-traversal":"^0.0.2-alpha.e74249a.0","@comunica/actor-init-sparql-solid":"^1.0.1","@comunica/actor-query-operation-bgp-traversal":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-metadata-extract-traverse-all":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-metadata-extract-traverse-content-policies":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-metadata-extract-traverse-quad-pattern":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-metadata-extract-traverse-quad-pattern-query":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-resolve-hypermedia-links-queue-wrapper-limit-count":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-resolve-hypermedia-links-queue-wrapper-limit-depth":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-resolve-hypermedia-links-traverse":"^0.0.2-alpha.e74249a.0","@comunica/actor-rdf-resolve-hypermedia-links-traverse-replace-conditional":"^0.0.2-alpha.e74249a.0","@comunica/context-entries":"^1.22.0","@comunica/core":"^1.22.0","@comunica/runner":"^1.22.0","@comunica/runner-cli":"^1.22.0"},"scripts":{"lint":"node \"../../node_modules/tslint/bin/tslint\" lib/**/*.ts test/**/*.ts --exclude '**/*.d.ts'","build":"node \"../../node_modules/typescript/bin/tsc\"","validate":"npm ls","prepare":"comunica-compile-config config/config-default.json > engine-default.js"},"gitHead":"e74249a69fc56f66dc1f419ce4f3f704e4f3527d","_id":"@comunica/actor-init-sparql-link-traversal-solid@0.0.2-alpha.e74249a.0","_nodeVersion":"14.17.0","_npmVersion":"lerna/4.0.0/node@v14.17.0+x64 (darwin)","dist":{"integrity":"sha512-pZHMc2pva0LtHZVbDComnjjrvRS1GpWb9w2f07LWKj9BHRJ3wGEODol/ElJA5WdocCIDV4OBhUrGUBN1N3q19w==","shasum":"f28e3699db5491ff1ef9cb9f987fc416cd5be31e","tarball":"https://registry.npmjs.org/@comunica/actor-init-sparql-link-traversal-solid/-/actor-init-sparql-link-traversal-solid-0.0.2-alpha.e74249a.0.tgz","fileCount":17,"unpackedSize":104749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh388mCRA9TVsSAnZWagAAeQYQAIjRn4TrOJhDEfs7kSln\nERnneZymvOuUOljI2uZA9UGQlWEq3IL8avyHbukjUrKQhuHhvo6urG2L0oWy\n4E997Nc7exS1CZAc8f1oETWJczXBlQW4k6EtmiGxiDjrmMh7DzketCVuG7Vv\nualYorXtujNOqcZYhBnGhz4Zv7CZAcCoz6knGA+RR4dMuchi5b8fIdwu64yE\nzOe9lsflJ0XQ0YEDMq1bSP1qmC0BcjMU21hh9w/JzI2J+wvJqETSYNeSylYd\nMaXY8/BjDIAp+Ta+in1QSmWsFLwsmroImVjHOaLt5fpP+SnEQiY+VX9ao106\nzDtKE9FPmpftQLuMY5Rj70VfrgoUAOUv48UC6JKvkqRoa+TnoYgET81oXyi1\n7WuL1I5ZVNnlkzUKz4zqtDfOE0tsGhxjLaUg/YYj81O1ZUL/CrOavMMxnVRa\nAS73l3D3jNj4l8IkhBkt05swM+UKmX6nrvC6NysB6mAFrxmTqvb6/DrMkUjb\nPfJvbiIy0cXAe+QS7/6NWCXrMeDA4UL1xBaS5CRoJzRjJC1FxNmCKIbF+Q0O\nyWL5uPu8657zDORfGr+1eUFU3zkLuSK7HRUD6kqJnq9WYXVEt6i/cbaCY3qS\nDkBsifMXpR4/jz2CgYkSOhwMHMyQPrDOZTBwcJpeCshkeijYGowNopnp8dTJ\ngADZ\r\n=D3tZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEIpyGaqJP5M3c+Iw6T2pL7BTdN3nX/FNNRMfrhXvLvAiEAkzkPLKbEqFffPiK0V1XXY27A16W2YumlG6c5A5Vm7AA="}]},"_npmUser":{"name":"rubensworks","email":"rubensworks@gmail.com"},"directories":{},"maintainers":[{"name":"joachimvh","email":"joachimvh@gmail.com"},{"name":"rubensworks","email":"rubensworks@gmail.com"},{"name":"rubenverborgh","email":"ruben@verborgh.org"},{"name":"dexagod","email":"dedecker.ruben@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/actor-init-sparql-link-traversal-solid_0.0.2-alpha.e74249a.0_1642057510548_0.849713106661729"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-13T07:05:10.494Z","0.0.2-alpha.e74249a.0":"2022-01-13T07:05:10.668Z","modified":"2022-04-05T00:43:51.979Z"},"maintainers":[{"email":"jmwright.045@gmail.com","name":"jeswr"},{"email":"joachimvh@gmail.com","name":"joachimvh"},{"email":"rubensworks@gmail.com","name":"rubensworks"},{"email":"ruben@verborgh.org","name":"rubenverborgh"},{"email":"dedecker.ruben@gmail.com","name":"dexagod"}],"description":"A Comunica engine for link traversal-based query evaluation over Solid data pods","homepage":"https://comunica.dev/","keywords":["comunica","actor","init","sparql","link-traversal"],"repository":{"type":"git","url":"git+https://github.com/comunica/comunica-feature-link-traversal.git#master"},"bugs":{"url":"https://github.com/comunica/comunica-feature-solid/issues"},"license":"MIT","readme":"# Comunica SPARQL Link Traversal Solid Init Actor\n\n[![npm version](https://badge.fury.io/js/%40comunica%2Factor-init-sparql-link-traversal-solid.svg)](https://www.npmjs.com/package/@comunica/actor-init-sparql-link-traversal-solid)\n[![Docker Pulls](https://img.shields.io/docker/pulls/comunica/actor-init-sparql-link-traversal-solid.svg)](https://hub.docker.com/r/comunica/actor-init-sparql-link-traversal-solid/)\n\nComunica SPARQL Link Traversal Solid is a SPARQL query engine for JavaScript that follows links across documents within [Solid](https://solidproject.org/) data pods.\n\n**Warning: due to the uncontrolled nature of the Web, it is recommended to always enable [lenient mode](https://comunica.dev/docs/query/advanced/context/#4--lenient-execution) when doing link traversal.**\n\nThis module is part of the [Comunica framework](https://comunica.dev/).\n\n## Install\n\n```bash\n$ yarn add @comunica/actor-init-sparql-link-traversal-solid\n```\n\nor\n\n```bash\n$ npm install -g @comunica/actor-init-sparql-link-traversal-solid\n```\n\n## Usage\n\nShow 100 triples from a private resource\nby authenticating through the https://solidcommunity.net/ identity provider (when using https://pod.inrupt.com/, your IDP will be https://broker.pod.inrupt.com/):\n\n```bash\n$ comunica-sparql-link-traversal-solid  --idp https://solidcommunity.net/ \\\n  https://www.rubensworks.net/ \\\n  \"SELECT DISTINCT * WHERE {\n       <https://www.rubensworks.net/#me> <http://xmlns.com/foaf/0.1/knows> ?p.\n       <https://ruben.verborgh.org/profile/#me> <http://xmlns.com/foaf/0.1/knows> ?p.\n       ?p <http://xmlns.com/foaf/0.1/name> ?name.\n   }\" --lenient\n```\n\nThis command will connect with the given identity provider,\nand open your browser to log in with your WebID.\nAfter logging in, the query engine will be able to access all the documents you have access to.\n\nShow the help with all options:\n\n```bash\n$ comunica-sparql-link-traversal-solid --help\n```\n\nJust like [Comunica SPARQL](https://github.com/comunica/comunica/tree/master/packages/actor-init-sparql),\na [dynamic variant](https://github.com/comunica/comunica/tree/master/packages/actor-init-sparql#usage-from-the-command-line) (`comunica-dynamic-sparql-link-traversal`) also exists.\n\n_[**Read more** about querying from the command line](https://comunica.dev/docs/query/getting_started/query_cli/)._\n\n### Usage within application\n\nThis engine can be used in JavaScript/TypeScript applications as follows:\n\n```javascript\nconst newEngine = require('@comunica/actor-init-sparql-link-traversal-solid').newEngine;\nconst { interactiveLogin } = require('solid-node-interactive-auth');\n\n// This will open your Web browser to log in\nconst session = await interactiveLogin({ oidcIssuer: 'https://solidcommunity.net/' });\nconst myEngine = newEngine();\n\nconst result = await myEngine.query(`\n  SELECT DISTINCT * WHERE {\n      <https://www.rubensworks.net/#me> <http://xmlns.com/foaf/0.1/knows> ?p.\n      <https://ruben.verborgh.org/profile/#me> <http://xmlns.com/foaf/0.1/knows> ?p.\n      ?p <http://xmlns.com/foaf/0.1/name> ?name.\n  }`, {\n  sources: [session.info.webId], // Sets your profile as query source\n  '@comunica/actor-http-inrupt-solid-client-authn:session': session,\n  lenient: true,\n});\n\n// Consume results as a stream (best performance)\nresult.bindingsStream.on('data', (binding) => {\n    console.log(binding.get('?s').value);\n    console.log(binding.get('?s').termType);\n\n    console.log(binding.get('?p').value);\n\n    console.log(binding.get('?o').value);\n});\n\n// Consume results as an array (easier)\nconst bindings = await result.bindings();\nconsole.log(bindings[0].get('?s').value);\nconsole.log(bindings[0].get('?s').termType);\n```\n\n_[**Read more** about querying an application](https://comunica.dev/docs/query/getting_started/query_app/)._\n\n### Usage as a SPARQL endpoint\n\nStart a webservice exposing https://www.rubensworks.net/ via the SPARQL protocol, i.e., a _SPARQL endpoint_,\nby authenticating through the https://solidcommunity.net/ identity provider.\n\n```bash\n$ comunica-sparql-link-traversal-solid-http --idp https://solidcommunity.net/ \\\n  https://www.rubensworks.net/ --lenient\n```\n\nShow the help with all options:\n\n```bash\n$ comunica-sparql-link-traversal-solid-http --help\n```\n\nThe SPARQL endpoint can only be started dynamically.\nAn alternative config file can be passed via the `COMUNICA_CONFIG` environment variable.\n\nUse `bin/http.js` when running in the Comunica monorepo development environment.\n\n_[**Read more** about setting up a SPARQL endpoint](https://comunica.dev/docs/query/getting_started/setup_endpoint/)._\n","readmeFilename":"README.md"}