0.10.0 • Published 1 year ago

@rdf-link/vocabulary v0.10.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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

1 year ago

0.9.0

1 year ago

0.8.0

1 year ago

0.7.1

1 year ago

0.6.2

1 year ago

0.5.0

1 year ago

0.4.0

1 year ago

0.3.1

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.5.1

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago