Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update Reader.open documentation to indicate that using the return value as a reader is not well supported, and implementations should restrict themselves to working within a block * Implement Node#intern using cache, so that Node(\"b\").eql(Node(\"b\")). This also allows Statement(:s, p, :o) to eql? Statement(:s, p, :o), where previously the nodes would not be the same. * Added missing Enumerable#enum_for; it was previously just in Countable and Queryable. * Major changes to Vocabulary: * Refactor Vocabulary using class instance variables. * Change RDF vocabulary to delegate to RDF::RDFV, allowing definitions for RDF properties, classes, datatypes along with comments and labels. * Implement Vocabulary::Term as subclass of URI used for vocabulary terms. This now implements Vocabulary::Term#label and Vocbulary::Term#comment in addition to Vocabulary.label_for and Vocabulary.comment_for. * Implement Vocabulary.to_graph to generate RDF statements for a ruby Vocabulary definition. * Change Vocabulary#to_graph to Vocabulary#to_enum (and #enum_for), basically doing the same thing, but avoiding emergent problems. * Rename HTTP vocabulary to HT, to avoid unfortunate prefix, and to be consistent with general use. * Describe fuller vocabulary DSL. * Implement Vocabulary.expand_pname. * Update vocabulary generation to serialize all properties (with no language or language \"en\") * Update all built-in vocabularies. * Use our own version of xsd RDFS vocabulary. Update RDF vocabulary. * Implement respond_to? and method_missing for Vocabulary::Term to create attribute accessors. * Move vocabulary loading from CLI method to Vocabulary.load; use for generating vocabularies. * Add RDF::Vocabuarly.find and .find_term to lookup URIs. * Remove Data-Vocabulary vocab (RDF::V). * Initialize vocabulary terms with the vocabulary it comes from; add Vocabulary::Term#vocab to retrieve this. * Implement URI#pname to create a string form of URI#qname. * Add :unique_bnodes option to writer to ensure that BNodes are uniquely serialized, in spite of any identifier used when they are initialized.
- Loading branch information