# Apache Commons RDF

## 1.0.0-SNAPSHOT

See https://issues.apache.org/jira/browse/COMMONSRDF/
for issues fixed since the last release.

## 0.5.0 (2017-11)

This is the first release after graduation. Although there are not API changes
nor big improvements, it updates different core aspects and dependencies.

* [COMMONSRDF-47] - RDFSyntax should be interface, not enum
* [COMMONSRDF-51] - RDF-1.1 specifies that language tags need to be compared using lower-case
* [COMMONSRDF-52] - Duplicate Bundle-SymbolicName values across all components
* [COMMONSRDF-55] - Stream of Jena quads use wrong IRI for default graph
* [COMMONSRDF-57] - Use newer dependency Jena/RDF4J/JSONLD Java
* [COMMONSRDF-62] - japicmp-maven-plugin breaking build because there is at least one incompatibility
* [COMMONSRDF-63] - AbstractRDFParserTest.parseFile and parseFileContentType broken under Mac OS X
* [COMMONSRDF-66] - JenaDatasetImpl.toString() throws RIOT exception
* [COMMONSRDF-53] - Add ServiceLoader support in OSGi
* [COMMONSRDF-54] - overloaded versions of RDF4J#asRDFTerm(org.eclipse.rdf4j.model.Value)
* [COMMONSRDF-59] - Fix javadocs warnings
* [COMMONSRDF-64] - Add Automatic-Module-Name to bundle manifest
* [COMMONSRDF-65] - Upgrade to Jena 3.4.0, RDF4J 2.2.2
* [COMMONSRDF-70] - Upgrade Jena version to 3.5.0

## 0.3.0-incubating (2016-11)

This release adds RDF implementations based on Apache Jena, Eclipse RDF4J and
JSONLD-Java. New interfaces include Dataset and Quad. Note that the 
interface RDFTermFactory has been deprecated and been replaced by the interface
RDF. Graph.getTriples() has been deprecated and replaced by 
Graph.iterate(). This release adds an experimental interface 
RDFParser, note that this may evolve or be removed in the next release.

* [COMMONSRDF-7] - Document that RDFTerm, Triple and Quad are immutable
* [COMMONSRDF-33] - Jena integration
* [COMMONSRDF-34] - Add DatasetImpl using Jena
* [COMMONSRDF-35] - rdf4j integration
* [COMMONSRDF-36] - jsonld-java integratoin
* [COMMONSRDF-37] - Quad and Dataset support
* [COMMONSRDF-38] - simple Graph.contains(Triple) now maps bnodes consistently
* [COMMONSRDF-39] - Add RDFParser interface (experimental)
* [COMMONSRDF-46] - Rename RDFTermFactory to RDF

## 0.2.0-incubating (2016-04)

This release clarifies .equals() and .hashCode() for RDFTerms so that they can
be compared across graphs and implementations.

* [COMMONSRDF-14] - Define value returned by hashCode()
* [COMMONSRDF-20] - ServiceLoader mechanism to load RDFTermFactory
* [COMMONSRDF-21] - Remove BlankNode requirements from RDFTermFactory.createGraph()
* [COMMONSRDF-25] - Remove mentions of "local scope" in .equals()
* [COMMONSRDF-26] - Add RDFSyntax constants (e.g. TURTLE)
* [COMMONSRDF-27] - RDFTermFactory no longer require BlankNode mapping
* [COMMONSRDF-28] - Add internal SimpleRDFTerm marker interface

## 0.1.0-incubating (2015-05)

This is the first release after moving to Apache Incubator.

* [COMMONSRDF-2] - Change to package name org.apache.commons.rdf.api
* [COMMONSRDF-6] - Contract around the internal string of a blank node
* [COMMONSRDF-8] - simple .GraphImpl.add() must clone BlankNode
* [COMMONSRDF-11] - Simple should be extendable classes
* [COMMONSRDF-12] - Graph to be Iterable
* [COMMONSRDF-29] - BlankNode.internalIdentifier() renamed to BlankNode.uniqueReference()
* [COMMONSRDF-30] - Add "simple" implementation and unit tests
* [COMMONSRDF-31] - Add RDFTermFactory
* Added user guide to website


## 0.0.2 (2014-08-04)

* Change to package name com.github.commonsrdf.api
* BlankNode.getLabel() renamed to BlankNode.internalIdentifier()
* Removed Quad

## 0.0.1 (2014-07-18)

* First release
