-
AbstractSQLStore was incorrectly putting Literal::Language representation rather than value in database.
-
Changed Graph#eql? and Graph#== to do simple equality check.
-
Added Graph#isomorphic? which does more exhaustive equivalence check.
-
Fixed bug in MemoryStore where a frozen resource could be returned.
-
AbstractStore#destroy either removes all triples from store, or specified context. No longer removes the DB file.
-
N3 Parser
-
Allow mixed case literal languages.
-
Unescape literals
-
-
Rspec 2.1.0
-
Added Resource class, a common super-class of BNode, Graph, Literal and URIRef.
-
Implemented Resource.parse and variations for sub-classes to parse N3-coded resources.
-
Literal#typed
-
Namespaces option now is {prefix => href} rather than {prefix => Namespace}.
-
Add all in-scope namespaces, not just those that seem to be used.
-
-
RDFa Parser
-
Upgrade for changes to RDFa 1.1 test suite
-
For non-XHTML, allow use of xml:base for non-HTML languages
-
XHTML has no default vocabulary.
-
No longer pass vocabularies, prefixes or terms when creating XMLLiterals. Only namespaces derived via xmlns are passed to Literal#typed.
-
-
SQLite3Store
-
Basic support for using with ActiveRecord: #initialize configuration can take a connection option, using ActiveRecord::Base.connection.raw_connection
-
If result set is returned as a hash, change back to an array (needed, as rails sets results_as_hash attribute on DB)
-
-
Added ActiveRecordStore
-
Uses ActiveRecord connection to store graph information, not an ActiveRecord::Base model
-
-
Fix minor graph property caching bug relating to manipulation of sequences.
-
Update to 2010-10-26 LC version of RDFa Core 1.1
-
Deep processing of XMLLiterals
-
Case sensitive Terms
-
Updated processor graph vocabulary
-
-
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
-
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.*
-
-
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.
-
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.
-
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)
-
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.
-
Remove old binding for a namespace URI creating a new binding
-
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
-
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
-
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.
-
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.
-
-
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.
-
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 numerous SQLite3Store and AbstractSQLStore bugs. Add round-trip tests to Graph spec.
-
Namespace usage cleanup
-
When serializing graph to RDF/XML, create namespaces as necessary.
-
rename bin/reddy to bin/rdf_context
-
Coverage tests
-
Released as RdfContext gem
-
Added AbstractSqlStore and SQLite3Store
-
Store contexts are always graphs
-
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.
-
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: 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
-
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.
-
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.
-
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
-
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)
-
Changes from rdfa_parser project.
-
First public alpha. RDF/XML parsing works but is not fully spec or test compliant. There is much work to be done.