Skip to content

Commit

Permalink
Add section on LSD dereferencing service
Browse files Browse the repository at this point in the history
  • Loading branch information
rubensworks committed Jul 27, 2021
1 parent 4019d79 commit 79a4970
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 2 deletions.
28 changes: 28 additions & 0 deletions content/code/lsd-snippet.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"@context": [
"https://linkedsoftwaredependencies.org/contexts/npm.jsonld",
{ "lsd": "https://linkedsoftwaredependencies.org/" }
],
"@type": "doap:Version",
"@id": "lsd:bundles/npm/%40comunica%2Fcore/1.21.1",
"name": "@comunica/core",
"version": "1.21.1",
"description": "Lightweight, semantic and modular actor framework",
"dependencies": {
"@comunica/types": "lsd:bundles/npm/%40comunica%2Ftypes/%5E1.21.1",
"immutable": "lsd:bundles/npm/immutable/%5E3.8.2"
},
"maintainers": [
{
"email": "mailto:[email protected]",
"@id": "lsd:users/npm/rubensworks"
}
],
"dcterms:license": {
"@id": "https://spdx.org/licenses/MIT.html",
"rdfs:label": "MIT"
},
"lsd:scripts/npm/test": {
"@id": "lsd:bundles/npm/%40comunica%2Fcore/1.21.1/scripts/test"
}
}
22 changes: 20 additions & 2 deletions content/configs.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,26 @@ For example, the instantiation of [](#instance-oo) corresponds to the following

#### Dereferenceability

Write me: via LSD
{:.todo}
In [previous work](cite:citesAsAuthority van2017describing)
we introduced the [Linked Software Dependencies (LSD) service](https://linkedsoftwaredependencies.org/){:.mandatory},
which makes all resource URLs within components files fully dereferenceable.

Since our current focus is on enabling dependency injection for JavaScript,
this LSD service provides Linked Data subject pages for _all_ packages within the [npm package manager](https://www.npmjs.com/){:.mandatory} for JavaScript.
For example, the URL [`https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/1.21.1`](https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/1.21.1)
is an identifier for the `@comunica/core` package at version `1.21.1`.
[](#lsd-snippet) shows a snippet of the JSON-LD contents when dereferencing this URL.

<figure id="lsd-snippet" class="listing">
````/code/lsd-snippet.txt````
<figcaption markdown="block">
Part of the JSON-LD contents of []`https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/1.21.1`](https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/1.21.1).
</figcaption>
</figure>

This LSD service allows creators of components files mint LSD-based URLs for their packages,
which will automatically become dereferenceable as soon as these packages are published to npm.
The LSD service thereby removes the dereferenceability responsibility from package developers that want to use dependency injection via Components.js.

#### Generation from TypeScript

Expand Down

0 comments on commit 79a4970

Please sign in to comment.