=== 0.5.9
* Update to 2010-10-26 LC version of RDFa Core 1.1
* Deep processing of XMLLiterals
* Case sensitive Terms
* Updated processor graph vocabulary
=== 0.5.8.2
* Don't create unnecessary namespaces when serializing RDF/XML.
* Don't use regexp to substitute base URI in URI serialization.
* Added :profile_graph option to RdfaParser#parse. This MUST be a ConjunctiveGraph and will be used to save profiles that are encountered.
* Fixme, for now, retrieval should include HTTP headers and perform appropriate HTTP cache control and check for potential updates.
* Added ConjunctiveGraph#add_quad. Adds a quad from the intended subject, predicate, object, and context.
@example
g = Graph.new
cg = ConjunctiveGraph.new
cg.add_quad(BNode.new, URIRef.new("http://xmlns.com/foaf/0.1/knows"), BNode.new, g)
=> results in the triple being added to g
=== 0.5.8
* Remove dependency on whatlanguage.
* Added support for Processor Graphs.
* Change Graph#seq to specifically look for subject type of rdf:Seq, rdf:Bag or rdf:Alt to trigger rdf:_n processing.
* Update RDFa processing to WD-rdfa-core-20100803 semantics
* Added Processor Graph and required output
* Reverse order of processing profiles
* Don't process element if any profile fails
* XMLLiterals must be explicitly specified as @datatype
* TERMorCURIEorAbsURI requires an absolute URI, not document relative
* Move @profile parsing before @vocabulary.
* Extract a new default vocabulary from @profile.*
=== 0.5.7
* Add back support for RDFa 1.0 as well as RDFa 1.1. Parser checks @version to determine which
* Remove specs for html4 and html5 until sorted out.
* Don't allow _ as a prefix name.
* Don't emit non-URI predicate values
* Use sqlite3-ruby version 1.2.5, as 1.3.1 breaks multiple argument execs.
=== 0.5.6
* Remove trailing ' in #encoding for treetop grammer, which caused problems installing rdoc in ruby 1.9.
* Fixed corner case in RDFa parser where document doesn't exist, which was raising an error.
* Add dependency on patron >= 0.4.6.
* Fixed Triple#inspect to properly display paterns. (closes Issue #2).
* Pre-process spec manifests into YAML files.
* Unescape values when creating URIs from N3 parser.
* URI Normalization isn't required so removed from parsers.
=== 0.5.4
* RDFa 1.1 parsing supported (based on RDFa Core 1.1 W3C Working Draft 22 April 2010)
* Fix URIRef#short_name (and consequently #base and #namespace) to not extract a non-hierarchical path as a short_name
* Namespace no longer uses URIRef, but just acts on strings.
* Namespace#new does not take an optional _fragment_ argument any longer.
* Added Namespace#to_s to output "prefix: uri" format
* Graph#qname first trys generating using bound namespaces, then adds well-known namespaces.
* URIRef#to_qname and #to_namespace No longer generates an exception. Each take either a Hash or an Array of namespaces and tries them from longest to shortest.
* Improved Turtle and XML serializers in use of namespaces.
* Generate pending messages if RDFa tests skipped due to lack of Redland installation.
* Change dcterms: prefix to dc: (fully compatible with previous /elements/ definitions)
=== 0.5.3
* Fix bug in XML serializer when type is a BNode.
* Undo change in 0.5.2 to remove old binding based on equivalent URI to equivalent prefix.
* Undo change form 0.5.1 to make BNode.new("") a named identifier. Required for RDFa test 0088.
=== 0.5.2
* Remove old binding for a namespace URI creating a new binding
=== 0.5.1
* Avoid stack-overflow when checking graph size (if ::RdfContext::debug? == true)
* Refactor serializers to be based on AbstractSerializer
* Graph
* Add Graph#serialize taking a serializer or symbol identifing a serialzer and a base URI
* Add Graph#add_seq to add the list of Resources as to an RDF Container (i.e., rdf:first/rdf:rest)
* Add Graph#sync_properties to write properties cached from Graph#properties back to the store.
* Add TurtleSerializer, along with AbstractSerializer, RecusiveSerializer, NTSerializer and XMLSerializer
* Update XmlSerializer, and Graph#to_xml to do more intelligent generation of RDF/XML
* Control depth of recursive node generation with :max_depth
* Serialize rdf:type and untyped literals as attributes with :attributes => :untyped
* Serialize typed literals as attributes with :attributes => :typed
* Added Literal#typed? and Literal#untyped? in addition to Literal#xmlliteral?
* BNode.new("") is not a named identifier, it's equivalent to an anonymous BNode
=== 0.5.0
* Support for Ruby 1.9, 1.8.7 and 1.8.6.
* Unicode escapes and URIRefs only work properly in Ruby 1.9
* Replaced some (&:meth)
spells with {|c| c.meth}
for Ruby 1.8.6 compatibility
* Fully compliant N3 parser (n3-rdf level) with extnensive tests, including SWAP, CWM and Turtle test suites.
* Supports paths, keywords, all semantic expressions.
* No support yet for Formulae, variables, rules or automatic reification
* Allow Triple#subject to be like an object, allowing literals and graphs
* Allow Triple#predicate to be a BNode as well as a URIRef
* Graph changes
* Graph#properties(subject) returns properties of a subject expressed as a hash to arrays of objects.
* Graph#seq(subject) returns ordered rdf:_n objects if subject is a rdf:Seq., or list of rdf:first/rdf:rest
* Graph#qname(uri) as alternative to uri.qname, has namespaces available.
* Graph#type_of(subject) array of RDF_TYPE objects.
* Graph#allow_n3 (getter/setter and option) controls if extra N3 semantics for graphs are allowed. Otherwise, calls Triple#validate_rdf to raise exception
* Real graph comparisons, including permutation search of triples containing BNodes (obviously, may be expensive)
* Add QuotedGraph and AggregateGraph
* Literal changes
* Literal#== as alias to eql? Needed for sort and uniq.
* Normalize valid typed literals
* Added Literal#valid? to perform some content validations.
* URIRef/Namespace changes
* Fix URI generation, performing normalizations for normal URI refs, and not for Namespace URIs.
* Fixed bug in URIRef#namespace & to_qname when namespace does not have a trailing / or #
* URIRef#short_name may return a different value after a namespace is assigned.
* Reduce dependency on Redland when running tests
=== 0.4.8
* Add Duration and support in Literal
* Add datatype support for xs:boolean, xs:double, xs:duration and xs:time.
* Literal::Encoding#encode_contents properly encodes different datatypes to string.
* Literal#to_native converts literal value to appropriate native object based on datatype.
=== 0.4.7
* Graph identifiers only URIRef or BNode; Literal not supported by SQL Store.
* Namespace#+ updated to not use URIRef logic for creating URIs, as this removes part of the URI in the case that the URI does not end with / or #.
* Incorporated pdlug's changes:
* Support using trailing underscores to work around generating URI's with Namespace that use methods that are on core ruby classes or reserved words (like Nokogiri Builder does). For example dc.type_ to generate the dc:type URI.
* Tests for Date/DateTime literals, added support for detecting them and generating the right literals in Triple.
=== 0.4.6
* Added Graph#uri_mapping and AbstractStore#uri_mapping for uri => Namespace mappings in graph
* Fix BNode creation from existing identifier (named or un-named)
* Graph#destroy removes graph context from store without configuration, and removes store storage with configuration
* Added Triple#to_n3 and URIRef#to_n3
* Added AbstractStore#uri_binding to give uri => namespace mapping from all store classes.
=== 0.4.5
* Order includes to remove platform dependencies on load requirements.
* Fix XML Comparison matcher
* Add --store option to bin/rdf_context. Let Parser#detect_format intuit file type.
* Add Graph#contents as alias to store
* Add ConjunctiveGraph#triples to return all triples from store, not just default context
* Add Graph#nsbinding to retreive Store#nsbinding
* Fix numerious SQLite3Store and AbstractSQLStore bugs. Add round-trip tests to Graph spec.
=== 0.4.4
* Namespace usage cleanup
* When serializing graph to RDF/XML, create namespaces as necessary.
* rename bin/reddy to bin/rdf_context
=== 0.4.3
* Coverage tests
=== 0.4.2
* Released as RdfContext gem
=== 0.2.2
* Added AbstractSqlStore and SQLite3Store
* Store contexts are always graphs
=== 0.2.1
* Added MemoryStore, a context-aware store based on Python RDFLib IOMemory
* Add ConjunctiveGraph, a conjunction of all graphs in a context-aware store
* Triple(nil, nil, nil) is wildcard, plus variations. No support for regular expressions.
* BNodes not graph/store specific, generated using milli-second time and sequence.
* Graph(:store) may be one of :list_store or :memory_store, which will instanciate appropriate store
* Graph#contains? iterates over triples if object is a literal to allow for fuzzy matching.
* Change gem name to "gkellogg-reddy" to allow publishing to Github.
* ConjunctiveGraph tests.
=== 0.2.0
* API and RDoc cleanup
* Removed Graph#each_with_subject, Graph#get_resource, Graph#has_bnode_identifier?
* Added Graph#predicates and Graph#objects
* Changed Graph#triples to take optional subject predicate and object to match statements.
* Renamed Graph#bind o Graph#merge!
* Graph#triples yields triples if a block is provided
* Changed Namespace#short to Namespace#prefix
* Change BNode to require a graph. Most uses go from graph.bnode, rather than BNode.new. This is required because bnodes are only equivalent within the same graph
* Added identifier to Graph, defaults to BNode. This from Python RDFlib based on TriX recommendation, see: http://www.w3.org/2004/03/trix/
* Only add triple to graph if it does not already exist in graph.
* Added Graph#contains? to look for existance of triple.
* Added Graph#eql? (and ===) to do simple check for graph equality. This version ignores BNodes (like Python RDFlib)
* Prepend "named" to named BNodes to ensure no overlap between generated and named BNodes.
* Added Graph#clone and Triple#clone
* Merge Graphs, replacing BNodes with new values from new graph.
* Remove duplicate triples when adding or merging graphs
* Added Abstract Store and List Store.
* Delegate Graph methods to store. Currently only supports :list.
* Reduce dependence on HTML namespace in RDFa parser.
* Add RDFa tests for HTML4 and HTML5
=== 0.1.5
* Update RDFa tests to use RdfContext RDF/XML parser.
* All negative RDF/XML parser tests pass.
* Add RdfContext::Parser, super-class of other parsers and move common code.
* Change N3Parser to use same new/parse logic as other parsers.
* Remove debug array by default, and add in calls to tests.
=== 0.1.4
* Update N3 treetop parser to version 1.4.0 (no digits in parser rule names).
* Fix N3 literal handling (still has bug with escaped double quote).
* Handle N3 <#> prefix.
* Don't output lang for typed literals in n3 format
* Rewrite of RDF/XML parser based on spec; passes existing tests.
* Update rdfcore tests based on rdfa test harness.
* Move Literal string escape/unescape to string_hacks.
* Fix literal n3_encoded parsing.
* All positive RDF/XML parser tests pass.
=== 0.1.3
* Added rdfa-test-suite as sub-module and refactored RDFa tests to use them.
* Fix but in white-space separated attributes
* Downcase XHTML reserved words
=== 0.1.2
* Move most test-case logic into rdfa_helper.
* Separate approved and unreviewed tests.
* Allow for soft failure of unreviewed tests by catching Spec::Expectations::ExpectationNotMetError.
* Integrate rdfa-test-suite and create test cases in the same manner. (Causing SPARQL problems with XMLLiterals)
=== 0.1.1 / 2009-11-01
* Changes from rdfa_parser project.
=== 0.1.0 / 2008-12-02
* First public alpha. RDF/XML parsing works but is not fully spec or test compliant. There is much work to be done.