0.10.0 • Published 9 months ago

@rdf-link/vocabulary v0.10.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

RDF Vocabulary

CI MIT license npm version

The @rdf-link/vocabulary JavaScript library:

  • gives access to well-known RDF vocabularies' terms as constants;
  • defines namespaces' base IRIs and commonly used prefixes;
  • bundles type declarations developed for convenient code completion.

Vocabularies

The core module contains the RDF, RDFS, OWL and XSD vocabularies.

import { RDF, RDFS, OWL, XSD } from "@rdf-link/vocabulary/core";

// Logs: http://www.w3.org/1999/02/22-rdf-syntax-ns#type
console.log(RDF.type);

The other module contains the FOAF (stable) vocabulary.

import { FOAF } from "@rdf-link/vocabulary/other";

// Logs: http://xmlns.com/foaf/0.1/knows
console.log(FOAF.knows);

The w3 module contains the EARL, SKOS, SKOSXL and VCARD vocabularies.

import { EARL, SKOS, SKOSXL, VCARD } from "@rdf-link/vocabulary/w3";

// Logs: http://www.w3.org/2004/02/skos/core#broader
console.log(SKOS.broader);

Namespaces

The ns module contains all vocabularies available in this library each with associated base IRI, prefix and terms.

import * as NS from "@rdf-link/vocabulary/ns";

// Logs: http://www.w3.org/2000/01/rdf-schema#
console.log(NS.RDFS.iri);

// Logs: rdfs
console.log(NS.RDFS.prefix);

// Logs: http://www.w3.org/2000/01/rdf-schema#label
console.log(NS.RDFS.terms.label);

Utils

The DATATYPE constant is a collection of RDF datatypes and the DEFAULT_DATATYPE constant is the default datatype for RDF literals.

import { DATATYPE, DEFAULT_DATATYPE } from "@rdf-link/vocabulary/utils";

// Logs: http://www.w3.org/1999/02/22-rdf-syntax-ns#langString
console.log(DATATYPE.RDF.langString)

// Logs: http://www.w3.org/2001/XMLSchema#string
console.log(DEFAULT_DATATYPE)

Type definitions

A vocabulary is a Record where keys are strings and corresponding values are the key prefixed by the vocabulary's base IRI.

export type IVocabulary<BaseIri extends string> = {
    [K in string]: `${BaseIri}${K}`
}

A namespace has a base IRI, an associated prefix (by convention for abbreviated IRI form) and terms.

export interface INamespace<BaseIri extends string, Vocabulary extends IVocabulary<BaseIri>> {
    iri: BaseIri;
    prefix: string;
    terms: Vocabulary;
}
0.10.0

9 months ago

0.9.0

10 months ago

0.8.0

10 months ago

0.7.1

10 months ago

0.6.2

10 months ago

0.5.0

10 months ago

0.4.0

10 months ago

0.3.1

10 months ago

0.6.1

10 months ago

0.6.0

10 months ago

0.5.1

10 months ago

0.3.0

10 months ago

0.2.0

10 months ago

0.1.0

10 months ago

0.0.2

10 months ago

0.0.1

12 months ago