# rdf-vocab Common OWL/RDFS Vocabularies for use with Ruby [RDF.rb][] [![Gem Version](https://badge.fury.io/rb/rdf-vocab.svg)](https://badge.fury.io/rb/rdf-vocab) [![Build Status](https://github.com/ruby-rdf/rdf-vocab/workflows/CI/badge.svg?branch=develop)](https://github.com/ruby-rdf/rdf-vocab/actions?query=workflow%3ACI) [![Coverage Status](https://coveralls.io/repos/ruby-rdf/rdf-vocab/badge.svg?branch=develop)](https://coveralls.io/github/ruby-rdf/rdf-vocab?branch=develop) [![Gitter chat](https://badges.gitter.im/ruby-rdf/rdf.png)](https://gitter.im/ruby-rdf/rdf) ## Extensions This gem extends `RDF::Vocabulary` with `#to_ttl`, `#to_jsonld`, and `#to_html` methods to create special-purpose vocabulary serializations. The HTML version is templated using a Haml template to allow output to be customized. Also extends `RDF::Vocabulary::Format` with the `gen-vocab` command extension to the `rdf` executable. ### Limiting vocabularies used for lookup As loading vocabularies can dominate processing time, the `RDF::Vocabulary.limit_vocabs` method can be used to set a specific set of vocabularies over which to reason. For example: RDF::Vocabulary.limit_vocabs(:rdf, :rdf, :schema) will limit the vocabularies which are returned from `RDF::Vocabulary.each`, which is used for reasoning and other operations over vocabularies and terms. ## Vocabularies * RDF::Vocab::ACL - [Web Access Control](http://www.w3.org/wiki/WebAccessControl) (W3C) * RDF::Vocab::AS - [Activity Streams 2.0](https://www.w3.org/ns/activitystreams#) (W3C) * RDF::Vocab::BF2 - [BIBFRAME 2.0](http://id.loc.gov/ontologies/bibframe) (LoC) * RDF::Vocab::Bibframe - [Bibliographic Framework Initiative](http://bibframe.org/vocab/) (LoC) * RDF::Vocab::BIBO - [Bibliographic Ontology](http://bibliontology.com) * RDF::Vocab::CC - [Creative Commons Vocabulary](http://creativecommons.org/ns#) (Creative Commons) * RDF::Vocab::CERT - [Cert Ontology](http://www.w3.org/ns/auth/cert#) (W3C) * RDF::Vocab::CNT - [Representing Content in RDF](http://www.w3.org/TR/Content-in-RDF10/) (W3C) * RDF::Vocab::DataCite - [DataCite Ontology](http://purl.org/spar/datacite/) * RDF::Vocab::DBO - [The DBpedia Ontology](http://dbpedia.org/ontology/) * RDF::Vocab::DC - [DCMI Metadata Terms](http://purl.org/dc/terms/) (DCMI) * RDF::Vocab::DC11 - [Dublin Core Metadata Element Set](http://purl.org/dc/elements/1.1/) (DCMI) * RDF::Vocab::DCAT - [Data Catalog Vocabulary](http://www.w3.org/TR/vocab-dcat/) (DCMI) * RDF::Vocab::DCMIType - [DCMI Type Vocabulary](http://dublincore.org/documents/dcmi-terms/) (DCMI) * RDF::Vocab::DISCO - [DDI-RDF Discovery Vocabulary](http://rdf-vocabulary.ddialliance.org/discovery#) (DDI) * RDF::Vocab::DOAP - [Description of a Project (DOAP) vocabulary](https://github.com/edumbill/doap/wiki) * RDF::Vocab::DWC - [Darwin Core](http://rs.tdwg.org/dwc/terms/) * RDF::Vocab::EARL - [Evaluation and Report Language (EARL) 1.0 Schema](http://www.w3.org/ns/earl#) (W3C) * RDF::Vocab::EBUCore - [EBUCore](http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#) * RDF::Vocab::EDM - [Europeana Data Model (EDM)](https://pro.europeana.eu/page/edm-documentation) * RDF::Vocab::EXIF - [Exif vocabulary workspace](http://www.w3.org/2003/12/exif/) (W3C) * RDF::Vocab::Fcrepo4 - [Fedora Commons Repository 4 Ontology](http://fedora.info/definitions/v4/repository) * RDF::Vocab::FOAF - [Friend of a Friend (FOAF) vocabulary](http://xmlns.com/foaf/spec/) * RDF::Vocab::GEO - [GEO Vocabulary](http://www.w3.org/2003/01/geo/wgs84_pos#) (W3C) * RDF::Vocab::GEOJSON - [GEOJSON Vocabulary](https://purl.org/geojson/vocab#) * RDF::Vocab::GEONAMES - [GeoNames Ontology Vocabulary](http://www.geonames.org/ontology#) * RDF::Vocab::GR - [Good Relations](http://www.heppnetz.de/projects/goodrelations/) * RDF::Vocab::GS1 - [GS1 Web Vocabulary for GS1 SmartSearch](http://gs1.org/voc/) (GS1) * RDF::Vocab::HT - [HTTP Vocabulary in RDF 1.0](http://www.w3.org/TR/HTTP-in-RDF10/) (W3C) * RDF::Vocab::HYDRA - [Hydra Core Vocabulary](http://www.w3.org/ns/hydra/core#) (W3C) * RDF::Vocab::IANA - [Link Relations](http://www.iana.org/assignments/relation/) (IANA) * RDF::Vocab::ICAL - [iCalendar vocabulary](http://www.w3.org/2002/12/cal/) (W3C) * RDF::Vocab::Identifiers - [Standard Identifiers Scheme](http://id.loc.gov/vocabulary/identifiers.html) (LoC) * RDF::Vocab::IIIF - [International Image Interoperability Framework Presentation API](http://iiif.io/api/presentation/2.0/) (IIIF) * RDF::Vocab::JSONLD - [JSON-LD Vocabulary](http://www.w3.org/ns/json-ld) * RDF::Vocab::LDP - [Linked Data Platform](http://www.w3.org/TR/ldp/) (W3C) * RDF::Vocab::LRMI - [Learning Resources Metadata Initiative](http://dublincore.org/dcx/lrmi-terms/1.1/) (DCMI) * RDF::Vocab::MA - [Ontology for Media Resources](http://www.w3.org/TR/mediaont-10/) (W3C) * RDF::Vocab::MADS - [Metadata Authority Description Schema](http://www.loc.gov/standards/mads/) (LoC) * RDF::Vocab::MARCRelators - [MARC Code List for Relators](http://id.loc.gov/vocabulary/relators.html) (LoC) * RDF::Vocab::MO - [Music Ontology](http://musicontology.com) * RDF::Vocab::MODS - [Metadata Object Description Schema](http://www.loc.gov/standards/mods/) (LoC) * RDF::Vocab::NFO - [NEPOMUK File Ontology](http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#) (NFO) * RDF::Vocab::OA - [Open Annotation Data Model](http://www.w3.org/ns/oa) (W3C) * RDF::Vocab::OG - [Open Graph protocol](http://ogp.me) * RDF::Vocab::OGC - [Open Graph protocol classes](http://ogp.me) * RDF::Vocab::ORE - [Object Reuse and Exchange Ontology](http://www.openarchives.org/ore/1.0/rdfxml) (OAI) * RDF::Vocab::ORG - [Organization Ontology](http://www.w3.org/TR/vocab-org/) (W3C) * RDF::Vocab::PCDM - [PCDM Ontology](http://pcdm.org/models#) (PCDM) * RDF::Vocab::PPLAN - [P-Plan Ontology](http://www.opmw.org/model/p-plan/) * RDF::Vocab::PREMIS - [Preservation Metadata Implementation Strategies Ontology](http://id.loc.gov/ontologies/premis.html) (LoC) * RDF::Vocab::PremisEventType - [PREMIS Event Type](http://id.loc.gov/vocabulary/preservation/eventType.html) (LoC) * RDF::Vocab::PROV - [Provenance Ontology](http://www.w3.org/TR/prov-o/) (W3C) * RDF::Vocab::PTR - [Pointer Methods in RDF 1.0](https://www.w3.org/TR/Pointers-in-RDF10/) (W3C) * RDF::Vocab::RDAU - [RDA Vocabularies](http://www.rdaregistry.info/Elements/u/) * RDF::Vocab::RightsStatements - [Rights Statements for Cultural Heritage Institutions](https://rightsstatements.org/en/) * RDF::Vocab::RSA - [The RSA Ontology](http://www.w3.org/ns/auth/rsa) * RDF::Vocab::RSS - [RDF Site Summary](http://web.resource.org/rss/1.0/) * RDF::Vocab::SCHEMA - [Schema.org](http://schema.org) * RDF::Vocab::SD - [SPARQL Service Description](https://www.w3.org/TR/sparql11-service-description/) (W3C) * RDF::Vocab::SH - [Shapes Constraint Language (SHACL)](https://www.w3.org/TR/shacl/) (W3C) * RDF::Vocab::SIOC - [Semantically-Interlinked Online Communities](http://rdfs.org/sioc/spec/) * RDF::Vocab::SiocServices - [SIOC Services](http://rdfs.org/sioc/spec/) (SIOC) * RDF::Vocab::SiocTypes - [SIOC Types Ontology](http://rdfs.org/sioc/spec/) (SIOC) * RDF::Vocab::SKOS - [Simple Knowledge Organization System](http://www.w3.org/TR/skos-reference/) (W3C) * RDF::Vocab::SKOSXL - [SKOS eXtension for Labels](http://www.w3.org/TR/skos-reference/skos-xl.html) (W3C) * RDF::Vocab::V - [RDF data vocabulary](http://www.data-vocabulary.org) * RDF::Vocab::VMD - [RDF data vocabulary](http://www.data-vocabulary.org) * RDF::Vocab::VCARD - [Ontology for vCards](http://www.w3.org/TR/vcard-rdf/) (W3C) * RDF::Vocab::VMD - [RDF data vocabulary](http://www.data-vocabulary.org) * RDF::Vocab::VOID - [Vocabulary of Interlinked Datasets](http://www.w3.org/TR/void/) (W3C) * RDF::Vocab::VS - [SemWeb Vocab Status ontology](http://www.w3.org/2003/06/sw-vocab-status/note.html) (W3C) * RDF::Vocab::WDRS - [Protocol for Web Description Resources](http://www.w3.org/TR/powder-primer/) (W3C) * RDF::Vocab::WOT - [Web of Trust](http://xmlns.com/wot/0.1/) * RDF::Vocab::XKOS - [XKOS An SKOS extension for representing statistical classifications](https://ddialliance.org/Specification/XKOS/1.2/OWL/xkos.html) (DDI) * RDF::Vocab::XHTML - [Extensible HyperText Markup Language](http://www.w3.org/1999/xhtml/) (W3C) * RDF::Vocab::XHV - [XHTML Vocabulary](http://www.w3.org/1999/xhtml/vocab) (W3C) ## Installation Add to your Gemfile gem "rdf-vocab" then bundle install ## Usage require "rdf/vocab" This will load all the vocabulary classes in the library. Also adds the `gen-vocab` command to the `rdf` command-line executable to generate specifically generated output in Turtle, JSON-LD, and HTML+RDFa for either built-in or arbitrary vocabularies. Other output serialization formats are also supported as generic RDF Writers and may lack the vocabulary-specific formatting of Turtle, JSON-LD, and HTML+RDFa. ## Adding new vocabularies Vocabularies should only be added to this gem if they are widely used. An equivalent process can be used to add a vocabulary to an arbitrary Ruby application or gem if it is more application specific. New vocabularies should be generated via a pull request after cloning from GitHub. Be sure to use a custom branch name before creating the PR. * First, add an entry to `lib/rdf/vocab.rb`, the key is used to identify the vocabulary, and as the default basis for the prefix label to use for the vocabulary. The key names of the object value come from the following: