1.0.16 • Published 3 months ago

rdfjs-resource v1.0.16

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 months ago

rdfjs-resource

Resource abstraction over RDF/JS Datasets, inspired by similar abstractions in

Installation

npm i rdfjs-resource

Usage

Wrap an RDF/JS BlankNode or NamedNode in a Resource

const resource = new Resource({ dataset: theDataset, identifier: theNode });

Retrieve a value (object) of the Resource

import { rdf } from "@tpluscode/rdf-ns-builders";

const value = resource.value(rdf.type).toNumber().orDefault(0);

Resource.value(predicate) and Resource.values(predicate) return a Resource.Value, which has various to conversion methods that return purify-ts Maybe monads.

See the Resource.test.ts for additional usage.

MutableResource

Resource instances are immutable. To create a mutable resource, you have to supply an RDF/JS DataFactory as well as a graph identifier (BlankNode | DefaultGraph | NamedNode) to add/delete quads to/from in the supplied DatasetCore.

import { rdf } from "@tpluscode/rdf-ns-builders";

const mutableResource = new MutableResource({
  dataFactory: DataFactory,
  dataset,
  identifier: DataFactory.namedNode("http://example.com/subject"),
  mutateGraph: DataFactory.defaultGraph(),
});

mutableResource.add(rdf.type, rdf.Resource);

ResourceSet

For convenience, you can wrap a DatasetCore in a ResourceSet, then instantiate Resources from that:

const resourceSet = new ResourceSet({ dataset });
resourceSet.resource(identifier).value(rdf.type);

Named Resource

Resource and MutableResource take a type parameter for the identifier specified in the resource's constructor. The parameter defaults to BlankNode | NamedNode.

It's often useful to only deal in named resources (Resource<NamedNode>). The ResourceSet abstraction provides a namedResource factory method for convenience. MutableResourceSet provides a similar namedMutableResource factory method.

1.0.16

3 months ago

1.0.9

7 months ago

1.0.8

7 months ago

1.0.11

7 months ago

1.0.10

7 months ago

1.0.15

3 months ago

1.0.14

6 months ago

1.0.13

6 months ago

1.0.12

7 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.2

10 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.1

10 months ago

1.0.0

10 months ago