TypeScript utilities for the Citation Typing Ontology (CiTO). Provides typed enums for all CiTO citation intents, inverse property lookups, and runtime validation — with zero dependencies.
bun add cito-utils
npm install cito-utilsimport { CitationIntent, inverseOf, urlOf, isCitationIntent } from 'cito-utils';
// Use enum values directly — each is the full IRI
CitationIntent.cites;
// => 'http://purl.org/spar/cito/cites'
CitationIntent.agreesWith;
// => 'http://purl.org/spar/cito/agreesWith'
// Look up inverse properties
inverseOf(CitationIntent.agreesWith);
// => CitationIntent.isAgreedWithBy
inverseOf(CitationIntent.isCitedBy);
// => CitationIntent.cites
// Get the URL for more information
urlOf(CitationIntent.citesAsEvidence);
// => 'http://purl.org/spar/cito/citesAsEvidence'
// Validate a string at runtime
isCitationIntent('http://purl.org/spar/cito/cites'); // true
isCitationIntent('http://example.com/not-cito'); // falseAll CiTO object properties as a TypeScript enum. Each key is camelCase matching the IRI suffix, and each value is the full IRI. Includes:
- Forward intents (subproperties of
cites):agreesWith,citesAsAuthority,citesAsDataSource,citesAsEvidence,confirms,corrects,extends,usesDataFrom, etc. - Inverse intents (subproperties of
isCitedBy):isAgreedWithBy,isCitedAsAuthorityBy,isConfirmedBy,givesBackgroundTo,providesDataFor, etc. - Relationship properties:
sharesAuthorWith,sharesJournalWith,sharesPublicationVenueWith, etc. - Structural properties:
hasCitationCharacterization,hasCitedEntity,hasCitingEntity - Other:
likes,citation(schema.org alignment)
All properties are fully documented with JSDoc descriptions and usage examples.
Returns the inverse CiTO property for a given intent, or undefined for properties without an inverse (e.g. likes, sharesAuthorWith).
Returns the IRI string for a citation intent. Since enum values are IRIs, this is a semantic accessor for when you want the URL for documentation.
Type guard that checks if a string is a valid CiTO citation intent IRI.
The base namespace: 'http://purl.org/spar/cito/'
Made with love by
Continuous Science Foundation