You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/03/22 18:46:06 UTC
[1/2] jena git commit: JENA-896 : Remove out-of-date notes
Repository: jena
Updated Branches:
refs/heads/master c8bdc16e1 -> 570def232
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-core/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-core/ReleaseNotes.txt b/jena-core/ReleaseNotes.txt
deleted file mode 100644
index 625fd07..0000000
--- a/jena-core/ReleaseNotes.txt
+++ /dev/null
@@ -1,1540 +0,0 @@
-Release Notes
-=============
-
-==== Jena 2.12.0
-
-Jena now requires Java7 as of this version.
-At the same time some classes and methods previous deprecated and marked
-for removal have now been removed.
-+ JENA-694 : Require Java 7
-+ JENA-714 : Source language upgrades
-+ JENA-726 : remove deprecated classes and methods.
-
-==== Jena 2.11.2
-+ Addition of Datatypes to SchemaGen
-
-==== Jena 2.10.1
-
-+ RIOT is the main way to read and write RDF data.
- http://jena.apache.org/documentation/io/
-+ JENA-412 : RETE patch for faster forward rule execution (from Tilo Fischer)
-
-==== Jena 2.10.0
-
-+ Remove OntModel.queryFor (exposed graph level abstractions which have been removed)
-+ JENA-362 : Fix for listStatements with a null object but specifying a language string.
-+ Removed support for DAML+OIL
- ARP : transition support for daml:collection removed
- Vocabulary files removed
- OntModelSpec for DMAL+OIL modes removed
- DAMLMicroReasoner removed
-+ Consolidation of versions numbers.
-+ JENA-338 : Fix for RulesetNotFoundException thrown when arbitrary IO errors occur
- in rules parsing and NPE thrown when non-existent ruleset referenced
-
-==== Jena 2.7.4
-
-+ Deprecation of some operations in BulkUpdateHandler
- Long term, graph level BulkUpdateHandler will be removed, and the necessary operations moved to Graph
- There will be no client API changes.
-+ Deprecate DAML+OIL support.
-+ JENA-335 : Fix to XSD hexBinary and XSD base64Binary to handle illegal lexical forms.
-+ The command tool scripts for linux/unix have been rewritten so that
- no environment setting is needed. The correct environment variable
- is JENA_HOME - this is automatically set unless already set.
-
-==== Jena 2.7.3
-
-+ Remove unused: GraphMemSmall, MixedGraphMem and GraphMem (in-memory is GraphMemFaster).
-+ Schemagen: add ontology's owl:versionInfo if it exists.
-+ Rename GraphMemFaster as GraphMem as there is only one implementation. Pull up classes into mem package.
-
-==== Jena 2.7.2
-
-(maintainence to other modules)
-
-==== Jena 2.7.1
-
-+ Fix timezone calculation during transition to/from DST. (JENA-247)
-+ Rename c.h.h.j.graph.Query as c.h.h.j.graph.GraphQuery (not related to SPARQL)
-+ remove out-of-date resultSet vocabulary class
-+ icu4j dependency removed (JENA-177)
-+ xml / xmlns namespaces issues on write fixed (JENA-24)
-
-==== Jena 2.6.5 / 2.7.0
-
-** Java 6 is now required for running Jena.
-** The deprecated RDB subsystem has been removed. Please use TDB or SDB.
-
-==== Jena 2.6.4
-
-+ Maintenance release
-
-==== Jena 2.6.3
-
-GraphBase:
- o Added limits to the number of triples thatr GraphBase.toString() will
- serialise.
-
-Model/Resource API:
- o Took advantage of covariant return types to allow Resource.inModel() and
- Property.inModel() to have Resource resp. Property return types, allowing
- casts of calls to inModel() to (mostly) be eliminated.
-
- o As per request on mailing list, ModelGraphInterface now has a method
- `Resource wrapAsResource(Node)` [name changed to fit better] which
- wraps a node as a Resource and throws if the node is a Literal.
-
- o As per request on mailing list, added Resource method
- x.getPropertyResourceValue( Property p )
- which answers some R such that x p R if any exists, otherwise null
-
- o As per request on mailing list, there's now an OWL2 vocabulary class
- with constants for the terms of OWL2. NOTE: there is no OWL2 ontology
- support present or implied by this vocabulary class.
-
- o getModel() has been pulled up from Resource to RDFNode. This means that
- Literal now supports getModel() and inModel().
-
- o RDFNode has .asLiteral() and .asResource() methods, which deliver
- the Literal or Resource respectively if the RDF Node has that type,
- and otherwise throw a *RequiredException.
-
-Misc:
- o Patched AnonId using UID when running in environments like GAE
- o Fixed problem with comparison on XSDDurations with fractional seconds
-
-Reasoners:
- o added makeSkolem builtin
- o fixed deadlock problem with hybrid rule systems
- o changed interpretation of Functors so they are neither literals nor objects,
- this allows validation of nested reasoners to cope with the introduction of
- functors representing inferred individuals
- o improved RETE initialization so that fewer triples are injected
- into the rule network in cases such as the RDFS no-resource rules
-
-Ontology API:
- o Fixed NPE bug when an ObjectProperty was not the inverseOf another property
-
-Schemagen:
- o Internal refactoring, which should not affect the external behaviour but should
- make it easier to extend the schemagen class
- o Individuals in an included namespace now appear in the output, even if their
- rdf:type is not included.
-
-
-==== Jena 2.6.2
-
-+ Resource.addLiteral() now has an overload that takes a Literal object
- and uses it as the statement object unaltered. (Previously such a Literal
- would be treated as an Object and converted to a String literal, oops).
- Similarly model.addLiteral() has a Literal overloading.
-
-+ N3 pretty writer now write Turtle (no use of "=" for owl:sameAs)
-
-+ Maven-style codebase layout.
-
-+ Update to iri.jar (version 0.7).
-
-+ Change the way URIs are split into namespace and
- local part so as to not split %-encoded sequences.
-
-Reasoners:
- o Fixed problems with pure forward rules generating functor values (fixed
- looping behaviour, fixed selective filtering of functors).
- o Generalized rule reasoner to permit triples in subject position at
- Graph level. Returned InfGraph and deductions graphs are safe but
- getRawGraph on deductions graph will return generalized graph.
- o Fixed handling of unbound groups in regex.
-
-Core API:
- o Fixed bug in comparison of dateTimes with fractional seconds and with
- round-tripping from calendars
-
-ARQ: removed from Jena development
- The following jars have been removed from the lib/ directory - they are only used by ARQ:
- arq.jar, arq-extra.jar, lucene-core-2.3.1.jar, json.jar, stax-api-1.0.jar, wstx-asl-3.0.0.jar
-
-(Jena 2.6.1 is an internal tag, not a release)
-
-==== Jena 2.6.0
-
-** Codebase converted to Java 5
-
- o Convert to use SLF4J for logging facade
-
- o Exceptions AlreadyExistsException, DoesNotExistException and
- RulesetNotFoundException no longer inherit via RDFRDBException
-
-Jar changes:
- o Removed antlr-2.7.5.jar (no longer used)
- o Removed concurrent.jar (no longer used)
- o Removed xml-apis.jar (no longer used)
- o Removed commons-logging-1.1.1.jar
- o Add slf4j-api-1.5.6.jar, slf4j-log4j12.jar
- o junit.jar upgraded to junit-4.5.jar
-
-Deprecation clearance.
- Methods, classes and statics marked deprecated in previous releases have been largely removed.
-
-ObjectF deprecations
- The interface ObjectF and the methods that use it have been deprecated.
- They are hangovers from before the time RDF acquired typed literals;
- nobody should be using them any more. They will be removed in the next
- Jena release.
-
-Reasoners:
- o Extended validity checking for OWL configurations to include
- datatype range checking that can cope with user datatypes as done for RDFS.
- Places the culprit Triple as the ValidityReport.Report extension value.
- o Removed deprecated reasoners (RDFS1, RDFSExpt, OWLExpt) and associated support.
- o Fixed RDFS-SIMPLE to include properties being reflexive
- o Removed DIG 1.0 reasoner interface
-
-JenaModelSpec:
- o This long-deprecated vocabulary (which supported the old ModelSpec system)
- has been removed. ModelSpec was replaced by Assembler long ago.
-
- o some Maker methods that implicitly relied on this vocabulary (but which
- had not been deprecated) have also been removed. This affects GraphMaker,
- SimpleGraphMaker, BaseGraphMaker, and ModelMakerImpl: the methods used
- were getMakerClass, augmentDescription, addDescription, and
- getDescription. These methods were only relevant to uses of the old
- ModelSpec system, which was removed in previous releases.
-
-N3:
- o N3 parser is now the Turtle parser.
- The dialect of N3 that Jena supported (which is quite old) has some idioms that
- are not legal Turtle although they are nowadays not correct N3 either.
- o Turtle writer now speeded up when many namespaces in use.
-
-Ontology API:
- o Removed support for no-longer-supported OWL syntax checker.
- o Removed previously-deprecated namespace management methods from OntDocumentManager.
- Namespaces should be managed via the PrefixMapping API.
- o Unified code for checking individuals in OntResource.isIndividual() and
- OntModel.listIndividuals(), and updated the check to account for some user-reported
- edge cases.
-
-Datatypes:
- o Added a getTypeByClass call to TypeMapper and registered additional primitive types
- based on suggestion and patch supplied by Thorsten Moeller.
-
-==== Jena 2.5.7
-
-Database layer:
- o Compatibility fixes for PostgreSQL 8.3 (no schema changes)
- o Compatibility fixes for MS SQL Server 2008 (no schema changes)
-
-ReasonerFactoryAssembler
- o Now takes note of ja:schema properties & binds such a schema
- to the reasoners that the factory produces.
-
-Reasoners:
- o Modified @include processing and Rule.rulesFromURL to support
- FileManager redirects.
- o Fixed problem withLPTopGoalIterator which caused one extra level
- of lookahead in some circumstances.
-
-==== Jena 2.5.6
-
-Typed literals:
- o Fixed bug in retrieval of decimal values with trailing fractional
- zeros by canonicalizing values after parsing and improving
- canonicalization.
-
-==== Jena 2.5.5
-
-Jar changes:
- o lucene-core has been upgraded from lucene-core-2.0.0 to lucene-2.2.0.jar.
- o logging-commons-1.1.jar upgraded to logging-commons-1.1.1.jar
-
-Deprecated Method Removal Frenzy
- o A bunch of methods in Resource, Model, ModelCon, and Statement have
- for a while now been marked as deprecated. These methods took literal
- values for the object of a statement and used the old treat-it-as-a-string
- approach rather than the newer typed-literal approach.
-
- o These deprecated methods have been removed. However, to allow migrators
- an easier life and to avoid requiring many many calls of
- createTypedLiteral (which needs a model, not always conveniently to hand),
- typed-literal versions of these methods have been added to the interfaces.
-
- o Model has grown:
-
- * addLiteral( Resource, Property, Various )
- * listResourcesWithProperty( Property, Various )
- * createLiteralStatement( Resource, Property, Various )
- * listLiteralStatements( Resource, Property, Various )
- * listResourcesWithProperty( Property, Various )
-
- o Resource has grown:
-
- * addLiteral( Property, Various )
- * hasLiteral( Property, Various )
-
- o Statement has grown:
-
- * changeObject( Various )
-
- where `Various` is one of float, double, long,boolean, char, short,
- int, or object [short & int may be missing in some cases].
-
- o As signalled in the Jena 2.5 release, the dedicated DAML API has
- now been removed. Users who still process DAML+OIL ontologies should
- switch to using the generic OntModel with the DAML profile.
-
-PrefixMapping loses deprecated usePrefix
- o The deprecated PrefixMapping method `usePrefix` has been removed.
- (Use `shortForm` instead.)
-
-ModelSpec
- o ModelSpec, which has been deprecated for a while, has been removed,
- along with ModelSpecImpl. OntModelSpec, which used to implement
- ModelSpec (via OntModelSpecObsolete, also removed), doesn't any more.
-
-RDF/XML-ABBREV
- o Aesthetic improvement changes most RDF/XML-ABBREV output.
- The treatment of URI nodes and blank nodes has been made more uniform.
- Please give feedback if for your data this is inappropriate.
-
-Schemagen
- o Member variables (i.e. for classes, properties and individuals) are now
- lexically sorted to create more stability in change-sets when generated
- Java classes are placed under source code control.
- o Now tries to guess the namespace of an ontology file in the absence of
- specific hints (hints such as: an option, prefix binding for the empty
- prefix, or an owl:Ontology or daml:Ontology resource). The algorithm
- is to look for the most prevalent URI that is not owl:, rdf: etc.
- o Added a new option, --includeSource, which causes schemagen to include
- the source code of the input ontology into the generated Java object.
-
-Ontology API updates
- o Added methods to Individual to allow testing and manipulation of the
- classes to which an individual belongs.
- o Added a method to OntProperty to list the Restrictions that mention
- the property
- o Clarified the contract of OntModel.listOntProperties, and added a new
- method OntModel.listAllOntProperties that is more robust in the
- absence of a reasoner, but potentially slower.
- o Added a utility class of basic ontology manipulation tools,
- com.hp.hpl.jena.ontology.OntTools. So far, this includes:
- * compute the lowest common ancestor of two classes
- * compute minimum path between two nodes
- * compute the named roots of a class hierarchy
-
-Reasoners:
- o Changed the equality contract of Rule objects to include the rule name.
- o Extended OWLMicro to include support for hasValue to match documentation.
- o Fixed problem with OntModel.getDeductionsModel not always triggering prepare.
- o Fixed problem with reasoner configuration when using typed literals
-
-Change of Behaviour in getByte/Short/Int on typed literals
- o The methods getByte(), getShort(), and getInt(), when applied to
- typed literals whose value is out of range, delivered a truncated
- value [as opposed to those methods on plain literals, which throw
- an exception]. This was deemed to be an error, and those methods
- will now throw IllegalArgumentExceptions.
-
- o These methods may be deprecated & removed in later releases.
-
-Assemblers
- o When the Assembler system (ie AssemblerGroup et al) load a class,
- that class is loaded before any of the implementsWith of that
- group are consulted. Thus the loaded class can update existing
- groups inplementsWith tables.
-
- o Because such an update need not be done to the global group
- Assembler.general, the group loading the class must be
- available, so using a static initialiser isn't sufficient.
-
- o Instead, if the class has a (static) method called
- `whenRequiredByAssembler` with an AssemblerGroup argument,
- that method is called passing in the loading AssemblerGroup.
-
- o Users are discouraged from using static initialisers which
- update Assembler.general, since this will not work as
- they might have expected when other assembler groups are
- being used.
-
- o OntModelSpecs have acquired an optional likeBuiltinSpec property
- for defining the "base" on which an OntModelSpec can be built by
- specifying other properties. In particular, this allows OntModelSpecs
- /with no reasoning/ to be constructed, which was a mysterious absence
- in earlier assemblers.
-
-Typed literals:
- o Fixed bug in equality checking of instances of xsd:decimal,
- and creation of xsd:decimal or xsd:integer instances from BigDecimal
- or BigInteger instances
-
-Reasoners:
- o Changed the equality contract of Rule objects to include the rule name.
-
-==== Jena 2.5.4
-
-Graph
- o Graph has grown a new method, getStatisticsHandler
- o null is an acceptable result
- o Graphs that extend GraphBase have this defined for them
- o It is intended for the ARQ optimiser optimising in-memory graphs
-
-Assemblers
- o ContentAssembler now respects the fileManager property for external
- content.
- o withFullModel now does subclass closure (as it should have done)
- o the code for findSpecificType is now better
-
-N3 & Turtle Writer
- o Correct writing nested bnodes with no properties to make strict Turtle.
- o No longer automatically add default namespace prefix.
-
-Reasoners
- o Added rebindAll() to FBRuleInfGraph
- o Extended OWLMini/full to include validation of maxCardinality(1) over individuals
- o The (forward) deductions model is now preserved across rebind() operations
- so that listeners on deductions models are safe
- o added now(?x) builtin to return the current xsd:dateTime
-
-Misc
- o Extended ResourceFactory.createTypedLiteral to handle Calendar objects
-
-==== Jena 2.5.3
-
-Statement.Util
- o The interface Statement has grown a Util class containing
- the three constants getSubject, getPredicate, and getObject,
- which are Map1 objects with the obvious meanings.
-
-Assembler modification-and-fix
- o There was a bug with the behaviour of OntModelSpec assemblers.
- The "feature" that if a ja:OntModelSpec had no properties it
- was treated as an OntModelSpec constant name did not work,
- since the generalAssembler obligingly inferred properties for
- it.
-
- The behavior has changed (I hope for the better ...). Instead,
- an OntModelSpec is built by modifying the properties of [a copy
- of] a default spec, which is normally OWL_MEM_RDFS_INF. However,
- if the root resource is ja:<SomeOntModelSpecConstantName>, then
- that constant provides the default. This gives the intended
- behaviour of "I specified no properties" and additionally
- allows specs to be specified as tweaks-to-a-constant.
-
- ContentAssemblers can now be constructed with default FileManager
- arguments. External content is loaded using that FileManager.
- The object of an externalContent statement can be a string
- literal or a URI.
-
- AssemblerGroups (which includes the instance Assembler.general)
- now support a `copy` method which makes a new group initialised
- with the same mapping.
-
- ReasonerFactoryAssembler now respects JA:reasonerClass properties,
- which specify the factory by giving its class name.
-
-ModelSpec and family REMOVED
- o the long-obsolete and recently-deprecated ModelSpec has been removed,
- along with its related tests, descendants, registry, and references.
- OntModelSpec remains (but is no longer a ModelSpec), with the old
- ModelSpec-oriented constructors deprecated and new Assembler statics
- introduced.
-
- OntModelSpec now extends OntModelSpecObsolete, which holds (almost)
- all of the OntModelSpec's deprecated ModelSpec-oriented machinery.
- OMSO will vanish after the next Jena release, when the remaining
- ModelSpec code will evaporate.
-
-Deprecated XSD.NS in favour of XSD.getURI() which reports namespace with a
- trailing # character.
-
-Reasoners:
- o Extended rule syntax to accept URIs wrapped in <..> and file: uris
-
-Typed literals
- o Fixed problem which prevented Calendars being used to instantiate
- XSDDates rather than full XSDDateTimes
-
-IRI
- o Fixed conformance problem with mailto:
- o Rewrote relativize code, fixing a #frag bug.
-
-==== Jena 2.5.2
-
-RDQL support now in ARQ
- o Removed old RDQL engine
- Migrate to SPARQL, use ARQ instead and package com.hp.hpl.jena.query
- http://jena.sf.net/ARQ/ -- ARQ also supports RDQL as a legacy language
-
-RDFException removed
- o Removed RDFException. It was obsolete (and recently deprecated). It's
- subclasses are now subclasses of JenaException.
-
-rdfcat tool
- o The handling of command line arguments to rdfcat has changed slightly.
- The input format (N3, RDF/XML, n-triple) argument, -n, -x and -t
- respectively, now *only* affect the following argument. In previous
- versions, the format was 'sticky' in that it persisted until another
- input format argument was supplied. To set the default input format,
- a new parameter -in has been added. See the rdfcat Javadoc for full
- details.
-
-==== Jena 2.5.1
-
-Fix for test.bat not setting the classpath correctly.
-Fix for PropertyNotFoundException from OntResourceImpl.getPropertyValue, not a null return.
-
-==== Jena 2.5
-
-ModelJEB is no longer supported
- o The ModelJEB BDB storage for graphs is no longer supported. (It
- has been unofficially unsupported for quite a while without
- complaint.) It's job -- cheap-and-cheerful persistent models -- has
- been taken over by HSQLDB.
-
-RDFException has been deprecated
- o It has been obsolete [because of the JenaException revisions] for
- yonks. No-one should be using it (other than some internal uses
- to be excised.) It will be removed post-2.5.
-
-Single-Element Unions [hence, OntModels]
- o If a union graph contains a single element, both find and queryHandler
- delegate directly to that single element. This means that find does
- not need to remember all the found elements to discard duplicates,
- and query gets to use any specialised code for that single graph
- (rather than the general nested-finds that a full union needs).
- In particular, if that single graph is a database graph, it will
- be able to use fastpath.
-
- A specific use of this is an OntModel with no imports in a database.
- (If it has imports, then this optimisation cannot apply.)
-
- In case something breaks as a result, the optimisation can be
- disabled by setting the system property jena.union.optimise to
- anything other than "yes".
-
-Reification with Inference Models
- o A partial fix to a reported bug with reification on inference models.
- Previously the built-in inference models had the reifier of their
- base model, and hence deduced triples did not contribute to the
- ReifiedStatement API calls, so deduced reified statements were
- invisible. Now those inference models have their own reifier and
- the reified statements of an inference model are the reified
- statements of the base model and of the deductions model.
-
- Reified statements inferred by backwards inference are /not/
- reported. Reified statements formed from fragments spread between
- the base model and the deductions model are /not/ reported.
- Implementing those reifications would be expensive both for
- the implementors and for any users.
-
-PropertyImpl.getOrdinal() [internal]
- o now computed on demand rather than on construction. Also log-on-too-big
- replaced by throw-an-exception. I doubt very very much that this will
- ever matter. There was no TestPropertyImpl code, but there is now. It
- should be extended to cover the "illegal URI detection", or perhaps we
- should remove that since it's RDF/XML-specific and checked by the XML
- output code anyway?
-
-Turtle support
- o New Turtle parser (uses javacc, not antlr). Accessed for files with extension ".ttl"
- and language names "TTL", "TURTLE", "Turtle"
-
-Database backends:
- o Changed MS SQL Server driver to use NVARCHAR instead of VARCHAR,
- to fix i18n support.
- o Fixed i18n bug in Oracle backend and also switched to NVARCHAR.
- o No requirement to compile Jena for Oracle use. The Oracle driver
- now works in the standard Jena distribution.
-
-ModelFactory:
- o added methods to construct models using Assembler system. Updated
- ModelFactory howto to include them. Deprecated the ModelSpec
- methods. Removed them from ModelFactory howto.
-
-ModelSpec:
- o deprecated the ModelSpec class. Modified the ModelSpec docs to
- say it's deprecated.
-
-Assembler:
- o missing subclass declarations added to vocabulary. Bogus `domain`
- replaced by correct `range`. FileManagerAssembler now by default
- builds a FileManager with the standard locators. To test this,
- made the existing standard locator classes have appropriate
- .equals() and .hashCode() methods.
-
- o ConnectionAssembler now records subject resource in
- ConnectionDescription. ConnectionDescription falls over
- usefully if the URL or type is null when it's opened.
-
-RDF/XML output:
- o bug whereby a literal containing the sequence "]]>" generated illegal
- XML (because the "]]>" went through unchanged, and is illegal except
- as CDATA end) fixed by converting any ">" in element content into
- ">".
-
- o unencodable characters (any control character except \n, \t, \r, also
- \uFFFF and \uFFFE) now throw exceptions. We may allow a new parameter
- setting to switch this off later.
-
- o the entity-conversion code has been rewritten using Java regex's to
- avoid multiple conversions.
-
- o the new Writer property "showDoctypeDeclaration" is used by the RDF/XML
- writers to force inclusion of a !DOCTYPE header declaring as entities
- each of the prefix-mappings of the model. Attributes that start with
- the URIs of the mapping are written to use the entity invocation
- instead.
-
-RDF/XML Input:
- o When reading from a URL, content negotiation is now used
- prefering: RDF/XML, then XML, over other content types.
- o An over-eager and confusing warning was suppressed.
- o Behaviour on very large files has been modified. For such files, checks
- for illegal reuse of rdf:ID are not made after the first 10000
- have been seen. A warning is issued about this change when
- reading a large file.
-
-IRI:
- Release synchronized with an IRI release (iri 0.3).
- Minor bug fixes.
-
-Untyped literal operations deprecated (char, boolean, long, float, double, Object)
- These operations do not work on typed literals. They converted their arguments
- to plain strings and parsed strings to retrive values.
- They are a ghost from pre-datatyping RDF.
- ** The forms on RDFNode, String, String+lang, and XML literals remain.
- ** Forms taking a typed literal or a lexical form and RDF datatype added (or already exist).
- Model: .add, .listStatements, .listSubjectsWithProperty
- Resource: .hasProperty, .addProperty
-
-JAR file changes:
- Added: arq-extra.jar
- Changed: wstx-asl-2.8.jar ==> wstx-asl-3.0.0.jar
-
-EnhNodes/UnsupportedPolymorhismException/QualifiedRestriction
- o Any EnhNode now automatically canAs any type already on its
- view ring if that view is still isValid. Previously it
- required finding a relevant Personality and Implementation
- and trying canWrap, which failed if the EnhNode had no EnhGraph,
- eg a Resource allocated by ResourceFactory.
-
- o This exposed problems with the QualifiedRestriction family of
- classes, which didn't override isValid. They do now.
-
- o Attempting to .as() an EnhNode with no EnhGraph no longer generates
- a NullPointerException, instead giving an explicit
- UnsupportedPolymorphism exception.
-
- o Attempting to canAs an EnhNode with no existing implementation
- of the required type and no EnhGraph returns false.
-
-OntResourceImpl
- o some internal modifications to simplify/correct the code:
-
- - corrected uses of .remove duing an iteration
- - replaced some loops by existing single Graph methods
- - some uses of getRequiredProperty + exception handling
- (probably hangovers from the old days when getProperty
- threw an exception) replaced by uses of getProperty and
- tests for null
-
-ResourceImpl
- o implementation of removeAll simplified in two ways: uses the
- Model removeAll method, and no longer tests for an InfModel,
- since the InfGraph implementation of removeAll works on the
- base model anyway so no special-case code required. Also
- avoids iffy (but currently safe) use of remove(StmtIterator)
- where the StmtIterator is active over the same Model.
-
-Statement
- o the method getWellFormed has been deprecated in favour of a new
- method hasWellFormedXML(), paralleling Literal's newish
- isWellFormedXML().
-
-Model
- o Model has acquired a new method isClosed(), true iff the model has
- been .close()d
-
- o Graph ditto
-
- o The built-in Graph and Model implementations have been modified to
- implement this method.
-
-Typed literals
- o Fixed bug in serialization of xsd:duration types.
- o Added getBigSeconds to XSDDuration to avoid rounding errors in
- use of getSeconds.
-
-OntModel
- o the prefix mapping of an OntModel will not offer as a default URI
- the default URI of any non-base component. This change is
- implemented via Polyadic and hence any MultiUnion will have this
- behaviour.
-
- o added some extra checks so that importing a previously closed model
- URI no longer causes ClosedException (SF bug 1474220)
-
- o aliased method 'listImportedModels' to 'listSubModels' (the preferred
- name), and introduced a Boolean flag to allow the listed sub-models to
- be presented without their own import sub-models if required
-
-OntDocumentManager
- o added a 'load hook' so that custom behaviours can be executed just
- before and/or just after a URI is read in to the contents of an
- OntModel or one of its sub-models
-
-BooleanClassDescription (UnionClass, IntersectionClass, etc)
- o canAs() checking in the language profile is now more liberal
- for OntClass resources, to prevent partially-formed class
- descriptions triggering a ConversionException (SF bug 1608765)
-
-Legacy DAML API
- o This entire API has been deprecated, and will be removed in Jena 2.6.
- Ontology users are encouraged to work with OWL rather than DAML+OIL,
- however the DAML+OIL profile for OntModel will continue to work
- and be supported. The deprecated API is in the package:
- com.hp.hpl.jena.ontology.daml
- and was originally provided to ease transition of existing code
- from Jena 1 to Jena 2. This transitional capability is no longer
- supported.
-
-Reasoners
- o Fixed a ConcurrentModificationException bug in TransitiveReasoner
- o added simple string hanlding builtins regexp, strConcat, uriConcat
- o fixed bug with arithmetic builtins which caused matching against an
- already bound but incorrect solution to pass.
- o fixed bug in backward reasoner which caused to try redundant solutions
- to purely grounded calls. This may improve efficiency in some cases.
- o fixed bug in duplicate removal in GenericRuleReasoner in pure backward mode
- o fixed bug in parsing of typed literals to handle user defined prefixes
- (thanks to Steve Cranefield for the fix)
- o removed MAX_VARS limit from the old forward rule engine
-
-==== Jena 2.4
-
-JAR file changes:
- Added: wstx-asl-2.8.jar
- json.jar
- iri.jar
- Removed: stax-1.1.1-dev.jar
- jakarta-oro-2.0.8.jar
-
-
-N3/Turtle:
- o The syntax form 2.3 is now treated as an XSD decimal, not an XSD double
- This is inline with chnages to N3 and Turtle specifications and
- compatible with SPARQL.
-
-General
- o Fixed various security violations which prevent use within Applets
-
-Model
- o Model[Con] has acquired a new method, remove(S, P, O),
- which removes the triple (S, P, O) from the model. None
- of S, P, O can be null. O is of type RDFNode (no overloading
- for primitive types etc).
-
-ExtendedIterator [hence NiceIterator and ResultSetIterator]
- o added toSet() and toList(), which bundle the [remaining]
- elements of the iterator up as a Set or List. Testing
- these is a bit tricky; for the moment I've cheated by
- testing specific instacnes of WrappedIterator, which is
- built on NiceIterator, and NiceIterator is the base class
- for /almost/ all the ExtendedIterators in the system,
- except ResultSetIterator for which I added special code.
-
-Node
- o added getBlankNodeLabel() as shortcut to the label string
- of a blank node.
-
-AnonId
- o added getLabelString(), which delivers the label of this
- AnonId and (unlike toString()) is guaranteed to do
- /only/ that.
-
-GraphMatcher
- o following up on a performance issue, replaced the idiom
- find().hasNext() for containment in GraphMatch with proper
- use of contains(). After fixing a hashing problem in
- LiteralLabel [see below], this worked and sped up the
- checker /lots/ in some circumstances.
-
-NEW: Assembler specifications
- o Assembler specifications replace the old ModelSpecs. They are
- documented in doc/assembler/index.html and linked pages.
-
-JenaTestBase
- o Added new test method assertInstanceOf to do instanceof testing
- with a nice failure message; updated (some) test code to use it.
-
-FileGraph[Maker]
- o The recent change to FileGraph which meant that closed FileGraph's
- were removed from their owning Maker also meant that they were
- not deleted when the Maker was closed. Amongst other things, this
- left crud in the tmp directory when running the tests. Fixed: the
- Maker remembers /all/ the FileGraphs, even the closed ones.
-
- o Added a constructor that allows the file language to be explicitly
- specified.
-
-LiteralLabel
- o reported bug whereby a LiteralLabel can be constructed with the
- value part null has been fixed [by putting in the missing 'this.']
- o discovered a problem with literal labels whose values are arrays:
- hashing doesn't work. Added delegation so that an RDFDataType
- can provide a specialised hash function and arranged that the
- relevant XSD datatypes used it.
-
-Database:
- o Added a based MS SQL Server 2000/MSDE 2000 driver.
- o Suppressed the "reifier must fix over-specification" messages from tests.
-
-Reasoners:
- o Fixed bug in the forward rule engine which prevented firing of axiomatic
- rules with non-empty bodies (i.e. no pattern match but calls to builtins).
- o Changed contract for TransitiveReasoner so the same reasoner can be bound
- to multiple datasets without interference between them
- o Added error check for backward rules with multiple head clauses
-
-OntModelSpec:
- o Changed contract for reasoners so that if a ReasonerFactory is supplied then
- the generated reasoner instances won't be cached. This allows the same spec
- to be reused multiple times with reasoners which can only be bound once.
-
- o OntModelSpecs now export access to their to-be-deprecated ModelMakers via
- the importModelGetters. This is part of the move to using Assemblers.
-
-OntDocumentManager
- o When the OntDocumentManager asks for a model for an import, it goes via
- the OntModelSpec's ModelGetter. Since the default ModelGetter just wraps
- the spec's ModelMaker, this doesn't change the usual behaviour, but it
- allows the OntModelSpec to use weak Getters.
-
-Jar changes:
- o stax-1.1.1-dev.jar ==> stax-1.1.2-dev.jar
- o new iri.jar required
-
-==== Jena 2.3
-
-ARQ - SPARQL for Jena
- o ARQ added to Jena
- See doc/ARQ/index.html for details
-
-JAR changes
-
- jena.jar has been split into jena.jar and jenatest.jar (the test packages).
-
- Replaced and upgraded with name changes:
- antlr.jar => antlr-2.7.5.jar
- jakarta-oro-2.0.5.jar => jakarta-oro-2.0.8.jar
- log4j-1.2.7.jar => log4j-1.2.12.jar
- icu4j.jar => icu4j_3_4.jar
-
- Xerces jars updated to Xerces 2.7.1
-
- New Jarfiles:
- arq.jar
- jenatest.jar
- stax-1.1.1-dev.jar
- stax-api-1.0.jar
-
-Constraint rewriter
- o the .graph.query.Rewrite class recognises certain RDQL regex
- idioms and rewrites them. The rewritten expressions contained
- errors: (a) the case-insensitive classes stored the lowercased
- version fo the test string, which broken the RDB generated code;
- (b) against all his principles, kers had used toString() on
- the results of expression evaluation, which broke the comparison
- on typed or languaged literals. These Have Been Fixed.
-
-PrefixMappings
- o new boolean method samePrefixMappingAs(PrefixMapping) compares mappings
- for equality but has opportunity to avoid creating intermediate
- maps.
-
- o NOTE: cannot overload .equals() because Model::equals() is already
- defined. Making Model implement PrefixMapping may have been a
- mistake ...
-
-ARP
- o Total rewrite of internals. Now approx four times faster.
- User code will experience significantly less speed up,
- depending on the percentage of runtime taken up with
- parsing (as opposed to reading the data from the network
- or disk, and adding the triples to a Model).
-
- o The contract concerning behaviour after syntax errors has
- changed. (See Javadoc for ARPOptions#setErrorMode, for details
- of the new contract)
-
- o Some changes in the error codes produced for ill-formed
- input.
-
- o The treatment of interrupts has changed. Instead of
- throwing an InterruptedIOException, an error
- is produced: ERR_INTERRUPTED, and reported through
- the error handler as a fatal error. This normally
- throws a ParseException.
-
- o A few public classes that were in the old ARP package, but
- labelled as not part of the API have been removed.
-
- o DOM2Model public constructors have been deprecated, and
- replaced with factories.
-
- o SAX2Model and SAX2RDF factories methods have been deprecated and replaced.
-
- o SAX2RDF, SAX2Model protected constructors have changed in a not
- backwardly compatible fashion.
-
- o NTriple command-line option documentation changed, in manner
- that is theoretically not backwardly compatible.
- -r is now default (in documentation,
- follows previous implementation). -R option added to cancel -r.
-
-Node/Node_Literal/Literal
-
- o Node has gained the method getIndexingValue(), which is the
- value to use when indexing this Node for GraphMem lookup (and
- other such things). Non-literal nodes return themselves. Literal
- nodes return an appropriate value; the current implementation
- defers to the getIndexingValue() method of the associated
- LiteralLabel.
-
- o Node has gained the method getLiteralValue(), which fails if
- the node is not a Node_Literal and otherwise returns the
- value of the associated literal. This method allows uses of
- getLiteral().getValue() to be replaced, so that external
- code need not know about getLiteral() as much.
-
- o Literal::getWellFormed() has been deprecated; it is replaced
- by Literal::isWellFormedXML(). There is a missing API method
- eg isWellFormed() which would apply to any typed literal;
- this will arrive in due course.
-
- o Support for indexing of typed literals added. NodeToTripleMaps now
- use an indexing object to represent the Node rather than the Node
- itself. That object should implement the appropriate semantic equality:
- index(x) == index(y) <=> sameValueAs(x, y)
- If future datatyping extensions can't meet this contract it could be weakened to:
- index(x) != index(y) => ! sameValueAs(x, y)
- at the expense of post-processing find results with a sameValueAs test.
- Currently the index objects used are:
- plain literals, no lang and xsd:string literals -> the lexical form
- plain literals, lang tag -> the Node
- XMLLiterals -> the Node
- known typed literals -> the java getValue() object
- unknown typed literals -> a cons of the lexical value and datatype URI
-
-RDFNode/Resource/Literal
-
- o The method Resource::getNode() has been deprecated in favour of
- RDFNode::asNode().
-
- o The method Resource::isAnon() has been moved up into RDFNode.
-
- o The (pointless) method Literal::isLiteral() has been moved up
- into RDFNode() (where it is pointful).
-
- o RDFNode has acquired `boolean isURIResource()` and `boolean
- isResource()`.
-
- o This allows all three what-kind-of-node tests to be applied to
- an RDFNode. Note that heavy use of these methods is a likely
- design smell - visitWith() may be a better solution to the
- classification problem.
-
-GraphMem/GraphTripleStore/NodeToTriplesMap
-
- o Performance analysis suggests that a chunk of the time in find() was
- taken up with redundant comparisions when filtering the intermediate
- iterator with the triple pattern. [EG: the hashmap index field is
- always right; the ANY nodes are never relevant.] So, after a go or
- two around the houses, this was optimised to only test the non-wild
- remaining fields, using the new Triple.Field operations plus the new
- Filter operations.
-
- o The default memory-based graph is now GraphMemFaster, which does
- optimised query handling.
-
-Triple
-
- o S/P/O fields made final (dunno why they weren't already).
-
- o Added Field class, which gives three constants (getSubject, getObject,
- Predicate) which have a getField(Triple) method to extract that field.
- Fields also have filterOn() methods to create filters over nodes and
- fields of triples; filtering over ANY nodes delivers any(), which
- composes cheaply.
-
-Filters & Iterators
-
- o Removed a performance infelicity in the default andThen implementation
- (it kept calling the left-hand hasNext even when it had been exhausted).
- Later replaced the implementation with one that keeps a list of
- pending iterators and itself implements .andThen() by extending the
- pending list.
-
- o Added FilterDropiterator so that filterDrop doesn't need to create a
- new negated Filter and suffer an extra indirection layer; added
- filterKeepIterator for symmetry.
-
- o Filter is now a class, not an interface, to make it easier to add
- new operations to it (otherwise the API changes would be grossly
- visible to all users).
-
- o Filter has new methods: .and(Filter), producing a Filter that passes
- only elements that pass both filters, and .filterKeep(Iterator),
- which filters the iterator in the same way as ExtendedIterator's
- filterKeep operation does.
-
- o any() has fast implementations for these operations, allowing
- it to be used as a fairly cheap identity element.
-
-ModelSpecs
-
- o Fixed a bug: the loadFile property did not work on inference models.
- The fix ensures that any descendant of ModelSpecImpl implements
- createModel() using a method doCreateModel() and then loading the
- specified files.
-
-Schemagen
-
- o Schemagen now by default includes individuals whose class is in one
- of the target namespaces for the document, even if the individual itself
- is not. This behaviour can be turned off with option strictIndividuals.
-
-Typed literals:
- o Fixed bug in unparsing of xsd:time values.
-
- o Added normalization step so that creating a typed literal from
- an XSDDateTime will use narrow types (e.g. xsd:date) when appropriate.
-
- o Fixed bug in sameValueAs when comparing an integer to a float/double.
-
-Reasoners:
- o Extended rule parser to support typed literals using N3 type syntax
- such as 'true'^^xsd:byte.
-
- o Fixed bug with rule sets which include a proprocessing hook to ensure,
- the hooks are rerun after new triple adds which should invoke the hook.
-
- o Fixed two bugs with derivation logging of backward rules.
-
- o Modified processing of non-monotonic rulesets (involving drop/remove) so
- that each entry in the conflict set is fired separately and all the
- consquences propagated before attempting to fire the next rule.
- To avoid performance hits, rulesets not involving such operators
- execute as before.
- User defined Builtins which remove data should be marked as such
- using the isMonotonic method.
-
- o Fixed bug in TransitiveGraphCache which had resulted in some
- transitive reductions being incompletely reduced (i.e. some
- indirect property instances were being incorrectly reported as
- being direct).
-
- o Added "drop" operator as an alternative to "remove" when performing
- non-monotonic rewrites.
-
- o Fixed bug in rebind/reset of infgraphs which use TGC and failed to
- reset the transitive engine.
-
- o Optimized Resource.remove operations for the case where the parent model
- is an InfModel.
-
- o The default DIG reasoner used in the documentation examples has been
- changed from Racer to Pellet. Pellet is free and open-source, while Racer
- has switched to a commercial license model.
-
-Ontology API
- o OntDocumentManager now delegates file resolution and model caching to
- FileManager, which means that FileManager's resolution strategies can
- be used to locate ontology files (e.g. from the classloader).
- o Prefix mapping and ontology language selection in the OntDocumentManager
- has been deprecated, and will be removed in a future version of Jena.
-
-Command line utilities
- o New utility jena.rdfcat, which can merge any number of individual rdf
- documents together into one model, and perform syntax translation (e.g.
- RDF/XML to N3).
- o New query utilities for SPARQL
-
-ModelLock
- o Deprected in favour of Lock (in shared).
- o Two implementations: LockMRSW and LockMutex
-
-==== End Jena 2.3
-
-
-MySQL
------
-There is a problem when using MySQL j-connection 3.1.* and MySQL 4.1.*.
-It manifests itself as truncation of long literals. Systems not using long
-literals should not see any problem. Using j-connector 3.0.* or the
-development versions of j-connector 3.2 do not exhibit the problem.
-
-Post 2.2beta change list
-
-
- ARP
- o Fixed XMLLiteral bug relevant to OWL-S
- o Added workaround for ICU bug.
- The workaround may slow processing of Tamil and other languages
- which use Unicode composing characters. If you are processing
- large volumes of Tamil using a patched version of icu4j may be
- faster. Ask on jena-dev for more information.
- o Improved character encoding support: all character encodings
- supported by Java are now supported by Jena.
-
- FileGraph and ModelMakerImpl
- o ModelMakerImpl now implements [the obsolescent] createModelOver
- using maker.openModel( ... ) rather than .createModel( ... ). This
- fixes a problem with existing files in the directory not being
- consulted for their contents.
-
- o FileGraphs now (weakly) support (non-nested) transactions, using
- checkpoint files to record their state at a begin() and restoring
- that state at an abort(). A commit() writes the current state to
- the backing file and deletes the checkpoint.
-
- InfModelBase (hence, any inference model)
- o Inference models now (weakly) support transactions; they delegate them to
- their base model. Additionally, an abort() will do a rebind().
-
- JMS & ModelSpec
- o Added new modelName property to the vocabulary and schema, ready
- to properly support named models as well as model makers.
-
- o The specification for RDB models has changed: it is not the maker,
- but it's /hasConnection/ value, that has the connection properties.
- (This allows the connection to be shared, or to be prespecified.)
-
- o The vocabulary class JMS has been renamed to JenaModelSpec. There
- is a (deprecated) JMS subclass to allow legacy use of the vocabulary.
-
- o OntModelSpec understands the `modelName` property; it gives the name
- of the model (in the baseModelMaker) which is to be used in a
- ontModelSpec.create() call.
-
- OWL Syntax Checker
- o No longer in the Jena download.
- o A separate contribution.
- o Can be separately download from the Jena project files page.
-
- PrefixMappings
- o the requirement that adding `(prefix, uri)` to a prefix mapping remove
- any existing prefix for `uri` has been removed. Calls that run the
- mapping backward (eg qNameFor()) will get a correct answer, not
- necessarily the same one each time; if possible, it will be the
- "most recently bound" prefix. (The "not possible" cases are those
- where a prefix has been removed and the inverse mapping has been
- regenerated.)
-
- Ontology API
- o As part of a move to provide more consistent behaviour, listDeclaredProperties
- has been completely re-written. The new behaviour, which in some
- important respects differs from the old behaviour, is now documented
- in doc/how-to/rdf-frames.html. There has also been a non
- backwards-compatible change in the meaning of the Boolean flag
- passed to listDeclaredProperties.
- o An OntModel can now list the root classes in the local class hierarchy,
- see OntModel.listHierarchyRoots()
-
- DIG reasoner
- o Fixed a bug that meant that <top> and <bottom> were not being translated
- to owl:Thing and owl:Nothing, and hence not appearing in output
-
- RDF/XML Output
- o Improved character encoding support: all character encodings
- supported by Java are now supported by Jena.
-
-Post Jena 2.1 change list [up to 2.2beta]
-
- RDF API
- o Fixed bug in typed literals support which caused isValidLiteral tests
- to fail on user defined types derived indirectly from simple types.
- o Fixed bugs in conversion of Calendar to XSDDateTime
- o Fixed XSDDouble isValidValue test to check for Double
- o Fixed XSDbase64Binary, XSDhexBinary returning strings instead of byte[]
-
- o GraphExtract operations made available through ModelExtract plus
- StatementBoundary[Base] & StatementTripleBoundary.
-
- o Model has gained read(String url, String baseURI, String lang ).
-
- Database
- o Fixed user-reported problem where removeNsPrefix() wasn't persistent
- o handles some constraints internally
- o A minor change to ModelCom has improved the speed
- with which DB models with several prefixes are opened.
-
- GraphBase and Reification SPI
- o Reifier::getHiddenTriples() and getReificationTriples() REMOVED and
- replaced by iterator-returning find(TripleMatch) [for all quadlets],
- findExposed(TripleMatch) [for exposed quadlets, ie Standard], and
- findEither(TripleMatch, boolean showHidden) [for exposed or hidden
- quadlets].
-
- o Reworking of GraphBase to clean up reification and fix bug with
- duplicated fully-reified triples. GraphBase now implements find()
- by appending triples from reifier with triples from local triple
- store. find() is not over-ridable; over-ride graphBaseFind() instead.
- Similarly size -> graphBaseSize, contains -> graphBaseContains.
-
- o Reworking of SimpleReifier to express it in terms of implementations
- of a store for fragments and a store for complete triples, with new
- interfaces. This should allow implementors of persistent Graphs an
- easier time of it. [Driven by GraphBDB work, so there's an example to
- hand.]
-
- o Reifiers must also implement size[OfExposedTriples]() and close()
- methods.
-
- Model & Graph removeAll(), remove(S, P, O)
- o added new API operation Model::removeAll() which removes "all" statements
- from a model [currently there are issues about inference models]
- o added removeAll() to Graph BulkUpdateHandler
- o added Model::remove(S, P, O) which removes all statements matching
- (S, P, O) with nulls as wildcards
- o added BulkUpdateHandler.remove(S,P,O) removing triples matching
- (S, P, O), Node.ANY as wildcard
- o BulkUpdateHandler generates events for these
-
- o ModelFactory has gained createUnion(Model, Model) which creates a
- dynamic union of the two argument models.
-
- o The class GraphExtract and its related interface TripleBoundary
- have been created to allow the extraction of rooted subgraphs
- from a graph, terminating at triples satisfying some boundary
- condition.
-
- GraphMem, SmallGraphMem
- o GraphMem has had the redundant Set(Triple) excised, and changes made
- to NodeToTriplesMap to push the triple-matching inwards and simplify
- GraphMem's find code. It will use a little less memory and should be
- a tad faster.
- o a new memory-based Graph, SmallGraphMem, has been introduced. This
- *only* holds a Set(Triple); no indexing is done. Hence it is
- unsuitable for graphs with more than "a few" statements, unless
- memory footprint is (much) more important than search speed. It
- is primarily an extreme to compare other Graphs against.
-
- Graph Capabilities gains findContractSafe()
- o used to tell prettywriter that its use of find() works, otherwise
- it falls back to the ordinary writer.
-
- Graph Query handling
- o Query now rewrites (some) RDQL pattern matches which are equivalent
- to startsWith, endsWith, or contains to use new Expression nodes
- with labels J_startsWith, J_endsWith, J_contains, to allow back
- ends to optimise those.
-
- RDQL
- o Added langeq operator
- o Remove ResultBinding.getValue() (which was an internal use
- operation) as part of move to more directly using the graph level
- queryhandling.
- o ResultBinding becomes an interface. See also ResultBindingImpl.
-
- Event handling
- o added new graph.GraphEvents as holder of event constants with one
- such, .removeAll, issued by BulkUpdateHandler for removeAll(), and
- a static method for creating removed-by-pattern triple values.
- o the standard Jena readers generate startRead and finishRead events
- o all the Graph events now come with their source Graph attached as an
- argument to the event method.
- o added test case and fixed resulting issues to ensure that .remove()
- on the iterator from find() generated a notifyDeleteTriple event.
-
- Reasoners
- o Changed processing of PROPruleSet on GenericRuleReasoners to accept
- multiple rulesets and merge them
- o Added support for @prefix and @include to the Rule parser utility
- o Suppressed internal properties (rb:xsdRange etc) from leaking out of infmodel
- o Fix space leak in backward chainer
- o Added subProperty inheritance of domain/range values
- o Fixed validation of owl Functional properties to handle literals
- o Changed validation report of un-instantiatable classes to be warnings rather
- than errors, report name is "Inconsistent class"
- o During validation the culprit resource is now made available via the error
- report's getExtension method
- o Fixed bug in backward reasoner which caused it to occasionally miss
- some results in non-deterministic ways
- o Fixed performance problem with listing all triples in a transitive reasoner
- o Fixed bug 927644, mishandling of cycles in transitive reasoner
- o Fixed ommission in handling of someValuesFrom applied to an rdfs:Datatype.
- o Fixed bug in hide() table not being carried across from prebuilt
- reasoner caches, which resulted in the prototypical instance of
- owl:Thing being visible in listIndividuals.
- o Fixed bug in TransitiveReasoner reported by wangxiao
- o Changed delete for RETE reasoner to be non-incremental to work around
- bug without demanding full reference counting
- o Added experimental OWLMini and OWLMicro reasoners
-
- o [kers] Added WrappedReasonerFactory class and RuleReasoner interface.
- Some tweaking to "implements" clauses. Refactored out some setRules
- code into FBRuleReasoner and BaseRuleReasonerFactory, to make it easy
- to share code for ModelSpec's reasoner specs.
-
- ModelSpecs
- o The modelspec language has been extended. Reasoner specs can now
- specify multiple rulesets by URL or by literal strings. Schemas
- may also be specified by URL.
-
- o Internal refactoring has cleaned up the API somewhat, and there
- is, optionally, config information read from
-
- etc/modelspec-config.n3
-
- At the moment, this only allows the Java class that implements
- a given jms:ModelSpec type to be specified.
-
- o The JMS (Java Model Spec) vocabulary class has had its schema
- extracted - it is now loaded from vocabularies/jena-model-spec.n3.
- That vocabulary element is now added to jena.jar (as are some other
- vocabulary elements used by the system).
-
- PrefixMappings
- o Standard no longer contains vcard, jms, or rss.
- o Extended introduced = Standard + vcard, jms, rss.
- o usePrefix deprecated - use shortForm instead.
- o qnameFor added; result is legal qname or null.
- o w.withDefaultMapping(x) added, which adds mappings from x which
- don't clash with those already in w.
- o the restriction that namespaces must not end with name characters
- has been removed.
-
- Exceptions
- o added WrappedException extends JenaException for wrapped exceptions
- o added WrappedIOException extends WrappedException
-
- Node
- o Node cache hash table replaced by specialised implementation
- o new Node methods getNameSpace, getLocalName, hasURI(String)
- o minor adjustments to Node.create(String) to allow for specifying
- language or type for literals, use of default prefix, and
- elimination of the nn-NN hack for numeric literals.
- o default Node.toString() uses quoting and @/^^ for literals
-
- Triple
- o Triple.create now uses a cache
-
- Resource
- o new method hasURI(String)
-
- Ontology API
- o Added a new method getOWLLanguageLevel() to OntModel, which returns the
- OWL sublanguage - lite, DL or full - and error messages
- o Fixed ont language profiles to allow .as() on e.g. owl:SymmetricProperty as
- OntProperty.class. Previously this relied on the reasoner; the change was
- needed to support the DIG interface.
- o OntModels created over existing base models don't include elements
- from their document manager's PrefixMapping if they would clash with
- those already existing in the base.
- o Fixed bug 985258 - schemagen can now create RDFS vocabularies
- o Fixed bug 940570 - solved a problem with listIndividuals when using
- the default OWL reasoner
- o Fixed bug 948995 - .as() on owl:InverseFunctionalProperty for
- datatype properties failing
- o Various fixes to prevent cycles in the graph confusing listSubClasses,
- listSuperClasses, etc
- o fixed profiles to allow owl:Thing .as(OntClass.class) even if no
- reasoner present
- o In response to bug 1065103, DAML models now by default use rdfs:subClassOf,
- rdfs:subPropertyOf, rdfs:range and rdfs:domain in preference to their daml:
- equivalents. The old (Jena 2.1) behaviour is available by switching to the
- DAML_OILLegacyProfile in the OntModelSpec. The new version more closely
- matches what typical DAML ontologies do.
- o Added createIndividual() to OntClass
- o Added listDataRanges() to OntModel
-
- DIG reasoner interface
- o Various bug fixes, plus a significant performance fix for listIndividuals()
-
- OWL Syntax Checker
- o Added support for OntDocumentManager
- o Improved command line, supports N3 etc, OntDocumentManager
-
- File Utilities
- o ModelLoader retired by deprecation.
- Use FileManager instead, specifically, FileManager.get() for the
- global FileManager (or create your own).
- Create new model with FileManager.get().loadModel
- Read into an existing model with FileManager.get().readModel
- o In schemagen, inference is now *not* used by default on input models; a
- new option --inference has been added to allow inference to be turned on.
-
- Creating sets/maps
- o util.CollectionFactory has static methods for creating hashed Maps
- and hashed Sets. These are used in the internals to allow the
- implementing classes to be changed (eg to use the trove library).
- Non-hashed-collection create methods may follow.
- o This was initially called HashUtils; that class remains, with the
- initial method names, but it is deprecated and will disappear post
- J2.2.
-
- ARP
- o New support for non-Xerces SAX sources.
- o Support for DOM sources (Java 1.4.2 and later).
- o ARP setup rationalized, a few methods deprecated as a result.
- o Improved documentation, covering new features, (see doc/ARP)
- o *Removed* StanfordImpl, assuming noone uses it. Please
- complain (jena-dev@yahoogroups.com) if assumption was false.
-
- Utilities
- o new class IteratorCollection with methods iteratorToSet and
- iteratorToList (heavility used in tests and useful in general)
-
- N3
- o Resolve relative URIs if there is a base.
-
-
-
-
-Jena 2.1 - Main changes from Jena 2.0
- Installation
- The names of some jars have changed be sure to update your classpath.
- The name of the xerces jars are now: xercesImpl.jar and xml-apis.jar
- We also require Jakarta commons logging: commons-logging.jar
- See readme.html for the full list of jars.
-
- OWL Syntax Checker
- Major update from alpha version (Jena 2.0), to production
- version (Jena 2.1).
- API created.
- Many fold performance improvement (orders of
- magnitude)
- Now conformant with OWL Recommendation.
- Streaming mode added, suitable for lower memory
- environments or large input.
- Command-Line jena.owlsyntax program added.
- Still to do: better error messages.
-
- RDF/XML-ABBREV output
- Changes default configuration to not use property
- attributes, which seem unpopular.
-
- ARP
- Extended API to show bnode scope and XML Namespaces.
- Discovered memory leak which has been present since
- the beginning. This is not fixed. Users of ARP and
- Jena in memory limited, or long-running applications,
- or reading lots of varied RDF/XML, should read the
- updated Javadoc for the package
- com.hp.hpl.jena.rdf.arp.
-
- Reasoner
- Small bug fixes (see below).
-
- Xerces
- Now requires Xerces 2.6.0 or better. The included jars are Xerces 2.6.1.
-
- Ontology API
- General bug fixes and improvements based on jena-dev feedback.
-
- The default document manager policy (etc/ont-policy.rdf) no longer
- re-directs imports of owl.owl and daml+oil.daml to a cached copy in
- the 'vocabulary' directory. This is becuase the vocabulary directory
- is not included in jena.jar, and this default re-direction was causing
- problems in some applet or web service environments. The Jena 2.0
- behaviour can be restored by replacing ont-policy.rdf with ont-policy-test.rdf.
-
- Instance detection has been improved, with the side-effect that DAML
- ontologies using the DAML micro rule reasoner may now report that
- instances have rdf:type daml:Thing in addition to other types.
-
-Jena 2.1 changes from Jena 2.1-dev-3
- Minor bug fixes in OWL Syntax Checker.
- Streaming mode in OWL Syntax Checker.
- Documented ARP memory leak.
-
-Jena 2.1-dev-3
- Implements W3C RDF and OWL Proposed Recommendations
- OWL Syntax Checker - much faster, new API (error msgs still being worked on)
- RDF/XML-ABBREV output various bug fixes
- RDF/XML-ABBREV msg added requesting bug reports on rdf:parseType="Collection"
- ARP new extended handler for scope of blank nodes and namespace handler
- ARP improved syntax error messages
- OWL Syntax checker prolog source included in download (see tools dir)
-
-Jena 2.1-dev-2:
- Developers' release to include recent bug fixes (notably
- handling of typed literals in validation rules).
- Do not use this version unless you need one or more bug
- fixes not in Jena 2.0.
-
-Jena 2.1-dev-1:
- This is a developers' release, particularly
- intended for users of the OWL Syntax Checker.
- Most users should continue to use Jena 2.0.
- For changes, see directly below.
- Documentation may not be up to date.
- Do not use this version unless:
- - you need a conformant OWL Syntax Checker
- - you need one or more of the bug fixes not in
- Jena 2.0
-
-
-RDF API:
-o Bug fixes:
- - fixed issue with typed literals sometimes treating lexically different,
- sameValueAs resources as equal.
-
- - fixed bug in Model::remove(StmtIterator) at the expense of manifesting
- the iterator into a List
-
- - fixed bug in .remove on StmtIterators returned from listStatements()
- on a memory model
-
-o ModelFactory improvements:
- - ModelSpecs can now be identified by URI as well as Model values
- - ModelRDBMaker.createModel will now return a ModelRDB rather than plain Model
-
-Reasoner subsystem:
-
-o Fixed delete bug in FORWARD_RETE configurations, remove of statements
- should now remove the consequents of that statement.
-o Added a check for constructing one OWL reasoner instance layered on top
- of another because this can have a large performance impact to no benefit.
-o Added a "hide" primitive which marks nodes as hidden. When querying an
- inference model no triples containing hidden subject or object nodes will
- be included in the result iterator.
- Used this to hide class-prototype instances
-o Extended the comparision builtins (equal, le etc) to support comparison of
- XSDDataTime instances. Many thanks to Bradley Schatz (Bradley@greystate.com)
- for supply the patches for this.
-o Extended OWL rules to include more explicit representation of XSD knowledge.
-o Various bug fixes in OWL rules (maxCardinality bug, hasValue in intersection
- lists fixed, bug in someValuesFrom fixed, misssing property subclass axioms).
-o Fixed bug in RETE engine which could loop when deleting non-deletable triples.
-o Fixed bug in LP engine which could lead to loss of variable bindings
- (manifested as "Internal error in LP reasoner: variable in triple result")
-o Extended is/notDTtype to check for ill-formed typed literals.
-
-OWL Syntax Checker
-o Now conforms with OWL Proposed Rec of December 2003
- - Performance much improved. There is
- about a one second delay on start-up.
- - Error messages still somewhat cryptic
- (Should be better in next release)
-
-RDF/XML-ABBREV output
-o Failed to fix bug concerning rdf:parseType="Collection"
- - added new message trying to generate sufficient user feedback
- on jena-dev to track down bug.
-o Fixed other bugs on bug list
-
-RDQL
-o Improved handling of character sets in qnames
-
-N3
-o Improved handling of character sets in qnames
-
-
-
-Graph query SPI [NB NOT visible at the model level]
-
-o replaced use of Graph for constraints by new Expression interface as
- part of ongoing query improvement.
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-csv/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-csv/ReleaseNotes.txt b/jena-csv/ReleaseNotes.txt
deleted file mode 100644
index 58688df..0000000
--- a/jena-csv/ReleaseNotes.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Release Notes
-=============
-
-==== Apache Jena - CSV PropertyTable 1.0.0
-
-+ PropertyTable and its 2 implementations:
- PropertyTableArrayImpl
- PropertyTableHashMapImpl
-+ GraphPropertyTable and StageGenerator Optimization
-+ RIOT Reader for CSV Files
-+ CSV2RDF tool
-
-
-
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-fuseki1/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-fuseki1/ReleaseNotes.txt b/jena-fuseki1/ReleaseNotes.txt
deleted file mode 100644
index c849d56..0000000
--- a/jena-fuseki1/ReleaseNotes.txt
+++ /dev/null
@@ -1,104 +0,0 @@
-==== Fuseki
-
-== Fuseki 1.0.1
-
-+ JENA-600 : Support GZipped uploads correctly i.e. files with .foo.gz style
- extensions
-
-== Fuseki 1.0.0
-This is the final version of what was 0.2.8
-
-== Fuseki 0.2.8
-
-+ jena-text added to the server : Lucene/solr backed search:
- http://jena.apache.org/documentation/query/text-query.html
-
-+ Upgrade to Jetty 8.1.11.v20130520
-+ JENA-522 : Fix of occasional "Currently in a locked region" errors
-+ JENA-499 : --localhost will cause the server to only listen to the loopback interface
-
-== Fuseki 0.2.7
-
-+ JENA-422 : Improved service startup script (Linux)
-+ JENA-440 : Query timeouts fixed. Fuseki behavior may change
- to the reflect the fixes to ARQ in this area.
-+ Exact layout in output format Turtle may vary due to changes in Jena.
-+ JENA-439 : Return 503, not 408, on query timeout.
-+ JENA-433 : Absent Accept header could cause NPE.
-
-== Fuseki 0.2.6
-
-+ Upgrade to Jetty 8.1.8.v20121106
-+ Uses Jena 2.10.0.
-+ JENA-376 : Fuseki linux service script : Either use options as given or use defaults, not append defaults to any given.
-+ JENA-387 : Fuseki includes request ID in response headers as Fuseki-Request-ID to allow correlating problem HTTP responses with Fuseki log output
-+ JENA-309 : If supported by the underlying storage engine, Fuseki can exploit transactions in order to stream SPARQL Update requests
-
-== Fuseki 0.2.5
-
-+ JENA-334 - Fix for Fuseki start script fails when invoked with full pathname
-
-== Fuseki 0.2.4
-
-+ Upgrade Jetty dependency to 7.6.5.v20120716
-+ JENA-307 - Close QueryExecution object after query execution.
-+ JENA-295 - Implement using-graph-uri= and using-named-graph-uri=
-+ Add support for default-graph-uri= and named-graph-uri= query parameters to a dataset.
- It picks the specific graphs out of the dataset for the query.
-
-== Fuseki 0.2.3
-
-+ Add a script to support running Fuseki as a service (JENA-268)
-+ (TDB change) Remove excessive and harmless warnings in log file.
-
-== Fuseki 0.2.2
-
-+ This version picks up bug fixes from TDB and ARQ.
- This includes problems with concurrent operations.
-
-== Fuseki 0.2.1
-
-+ Switch from JSPs to Velocity.
- This means the standalone jar does not contain a JSP engine anymore.
-
-+ Service by configuration file, command line argument --config=
-
-+ Add a servlet filter that processes Accept-Encoding
- Result are now compressed if the client request asks for that (JENA-209)
-
-+ Rename packages to be org.apache.jena.fuseki.
-
-+ --jetty-config= Use a file to configure the jetty server (connector type, parms of connector like "host").
- Replaces --host. See Jetty configuration documentation.
-
-+ General purpose SPARQL processor servlet written (not enabled)
-
-+ XSLT style sheet for SPARQL XML results now puts clickable links in the results - query goes back to the server.
-
-+ JENA-74 (from Brian McBride): --host= to select the interface to listen on. Use with --host=localhost if using Apache as a front-end.
-
-+ Add --timeout: adds a timeout to all query executions
-
-+ Split logging into 2 loggers: general messages and per-request messages.
- http://openjena.org/wiki/Fuseki#Logging
-
-== Fuseki 0.2.0
-
-+ Validators now include:
- Query
- Update
- RDF (non-XML formats)
- IRI
-
-+ HTTP request error pages now in "text/plain;charset=utf-8"
-+ Location of a TDB database must exist when server starts.
-
-+ Form parameter name for SPARQL Update sent by HTML form changed from request= to update=
- Likely direction of SPARQL-WG.
-
-+ Internal consistency checking (also TDB internal consistecy checking).
- You should not see any warnings.
-
-== Fuseki 0.1.0
-First release.
-
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-fuseki2/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-fuseki2/ReleaseNotes.txt b/jena-fuseki2/ReleaseNotes.txt
deleted file mode 100644
index da3d1a5..0000000
--- a/jena-fuseki2/ReleaseNotes.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-==== Fuseki
-
-== Fuseki 2.0.0
-
-Fuseki 2.0.0 is a major change to Fuseki. Se the documentation for details.
-
-* Security, provided by Apache Shiro.
-* New admin API
-* New UI
-
-Migration:
-
-Existing installations of Fuseki should work unchanged
-but some new functionality if not available to datasets
-defined in the Fuseki config.ttl file.
-
-+ Service assemblers should be placed configuration/
- one service per file. Only this way will all features,
- particularly making a dataset offline, be available.
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-iri/RELEASE_NOTES.txt
----------------------------------------------------------------------
diff --git a/jena-iri/RELEASE_NOTES.txt b/jena-iri/RELEASE_NOTES.txt
deleted file mode 100644
index 9a45fd1..0000000
--- a/jena-iri/RELEASE_NOTES.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Release Notes:
-
-iri-0.9.1:
-Remove icu4j dependency.
-
-iri-0.7:
-Java5 compatible.
-
-iri-0.6:
-Convert to Java6
-
-iri-0.4:
- fixed mailto scheme rules
- set file: to allow sameSchemeRelativeRefs in jenaImplementation
- fixed bug in relativize code
- This version is used by Jena 2.5.3.
- Added some documentation.
-
-iri-0.3: First released version
-
-This version is released to provide a stable
-version of the source for Jena 2.5.
-It is not intended for use as a general purpose library.
-In particular, many of the methods are unimplemented;
-the documentation is inadequate.
-Partial support may be available on
-jena-dev@yahoogroups.com.
-
-iri-0.2: Version in Jena 2.4
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-sdb/ChangeLog.txt
----------------------------------------------------------------------
diff --git a/jena-sdb/ChangeLog.txt b/jena-sdb/ChangeLog.txt
deleted file mode 100644
index 5d08994..0000000
--- a/jena-sdb/ChangeLog.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-SDB Change Log
-==============
-
-
-
-==== SDB v1.4.0
-
-+ Integrated with main Jena build process.
-+ Add support for SAP database (JENA-241) - thanks to Fergal Monaghan
-
-==== SDB v1.3.4-snapshot
-
-+ Enable safe concurrent updates on postgresql, db2 and
- oracle.
-
-==== SDB v1.3.3
-
-+ Upgraded to ARQ 2.8.6
- Includes SPARQL 1.1 Update support.
-+ Add processing of regex filters to SQL LIKE for substrings
- regex must not involve metacharcaters except ^ and $
- (anchored and unanchored, case sensitive and case insensitive)
-
-==== SDB v1.3.2
-
-+ Upgraded to ARQ 2.8.5 and Jena 2.6.3.
- Older versions of these jars will not work.
-+ Enable OFFSET/LIMIT processing of SQL.
-+ Work around MySQL bug concerning IN
-
-==== SDB v1.3.1
-
-+ Changed the index structure for the quad table to improve converage.
- Migration: drop all secondary indexes and reindex.
-+ Added StoreUtils.isFormatted(Store)
-+ Added sdbdelete and sdbload --replace option
-
-==== SDB v1.3
-
-+ Reification: Support for Reification style "standard" (only)
-
-+ Upgraded to Jena 2.6.0 and ARQ 2.7.0
- Older versions of these jars will not work.
- antlr-2.7.5.jar and concurrent.jar removed, logging now slf4j
-
-+ Added improvement for Oracle to avoid blob handling over JDBC for lexical forms <= 2000.
- Thanks to Metatomix (Scott Kagels) for the patches.
-
-==== SDB v1.2
-
-+ Must use ARQ 2.6 (changes to quad support in preparation for optimization and path support)
-+ Fix to BulkLoader (MS SQL Server) to allow creating a second store over an JDBC so JDBC pooled conenctions work
-+ Added Store#isClosed(). Does nothing currently except track whether you've called close().
-+ Various bug fixes
-
-==== SDB v1.1
-
-+ SPARQL/Update support
-
-+ Jar upgrades:
- commons-logging-1.1.1
- new versions ARQ and Jena jars (no name changes).
-
-+ MySQL : Node table schema changed to be LONGTEXT. In v1.0 literals longer than 64K caused errors.
- Old databases layouts continue to work. Ideally, reformat and reload.
-
-**** The named graph indexing has been improved ****
- Old databases still work but ideally should be reindexed.
-
- Migration: drop indexes with SBD 1.0 tools, create indexes with SDB 1.1 tools
- Manaual deletion of all secondary indexes via DB admin tools also will work
-
-+ Assembler structures clarified. [document on wiki]
-
-+ SQL code generation made more regular.
-
-+ H2 support
-
-+ removeAll() fastpath added
-
-==== SDB v1.0
-
-+ DB2 support
-+ Fix: Transaction handling
-+ More testing
-
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-spatial/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-spatial/ReleaseNotes.txt b/jena-spatial/ReleaseNotes.txt
deleted file mode 100644
index 0da48ad..0000000
--- a/jena-spatial/ReleaseNotes.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Release Notes
-=============
-
-==== Jena Spatial 1.0.2
-
-Update to Lucene 4.2.6 and spatial4j 0.4.
-
-==== Jena Spatial 1.0.0
-+ Jena spatial search support with property functions:
- nearby
- withinCircle
- withinBox
- intersectBox
- north
- south
- west
- east
-
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-tdb/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-tdb/ReleaseNotes.txt b/jena-tdb/ReleaseNotes.txt
deleted file mode 100644
index e946d26..0000000
--- a/jena-tdb/ReleaseNotes.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-ChangeLog for TDB
-=================
-
-==== TDB 1.1.2
-
-+ JENA-782 : StoreParams allow configurability of TDB databases.
-
-==== TDB 1.1.0
-
-Jena now requires Java7 as of this version.
-At the same time some classes and methods previous deprecated and marked
-for removal have now been removed.
-
-QueryExecution is now AutoCloeable and can be used with try-resource.
-
-+ JENA-720 : NodeId did not handle BigDecimal correctly
-
-==== TDB 1.0.1
-
-+ JENA-550 : tdbloader2 now checks that the target location either
- does not exist or does not contain database files.
-
-
-==== TDB 1.0.0
-
-This was also know as TDB 0.10.2
-
-==== TDB 0.10.1
-
-+ JENA-426 : Default statistics gathering now collects information on rdf:type usage.
- Large databases, with small numbers of different classes, may benefit from recalculating stats.opt.
-
-==== TDB 0.10.0
-
-** TDB 0.10.0 depends on Jena 2.10.0 (ARQ 2.10.0)
-
-+ Improve the performance of union default graph by efficiently handling potential duplicates.
-+ Command line tdbquery: --mem (or --data) reads into an in-memory dadaset and executes the query.
-+ JENA-289 : QueryExecution timeouts now cause TDB BGPs to timeout even if they produce no output.
-+ JENA-363 : Fix to handling of integers with absolute values between 2^56 and 2^63.
-+ JENA-346 : Further fixes for default union graph + write transactions.
-+ Consolidation of versions numbers.
-+ JENA-344 : Union default graph now works for SPARQL Update WHERE clauses.
-
-==== TDB 0.9.4
-
-+ Enable batching of flushing commits to the main database -
- This improves transactional write performance.
-+ Extensive testing and fixing for recovery due to abrupt termination of the JVM.
-+ JENA-318 : Fix rejection of bad language tags.
-+ JENA_317 : Fix to handling decimal numbers. Decimals of around 15 digits could be corrupted.
-+ JENA-301 : Recovery did not reset internal file state under certain conditions.
-+ Bug fix: out-of-range derived integers (e.g. xsd:int)
-+ Cache read transaction datastructures and reuse view when possible.
-+ Add StoreConnection flush() operation to push delayed writer-commits if possible.
-+ JENA-290 : TDB txn creation touched stats unnecessarily, causing slow down.
-
-==== TDB 0.9.3
-
-+ Batching of writer-commits to improve write transaction performance.
-
-==== TDB 0.9.2
-
-+ Bug fix (for use in Fuseki). Caused excessive, if harmless log messages.
-
-==== TDB 0.9.1
-
-+ (JENA-252) Fix multithreaded interaction transitioning to transactional mode
-+ (JENA-250) Fix lack of sync transitioning to transactional mode
-+ Added tdbloader3 (i.e. a pure Java version of tdbloader2) (JENA-117)
-+ Bug fix: Graph.size() reports '0' for TDB "urn:x-arq:UnionGraph" (JENA-222)
-+ Bug fix: Illegal UTF-8 could corrupt the node table. Use binary-safe encoder/decoder (JENA-225)
-+ Bug fix: (JENA-230)
-
-==== TDB 0.9.0
-
-TDB 0.9.0 introduces ACID transactions for TDB. This is based on write-ahead logging.
-
-+ Transactions and transactional datasets.
- http://jena.apache.org/documentation/tdb/tdb_transactions.html
-+ Maven group id is now "org.apache.jena" and artifact name is "jena-tdb".
-+ Java 6 is required to run TDB.
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-text/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-text/ReleaseNotes.txt b/jena-text/ReleaseNotes.txt
deleted file mode 100644
index bd27f64..0000000
--- a/jena-text/ReleaseNotes.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-ChangeLog for jena-text
-=======================
-
-==== jena-text 1.1.2
-
-+ JENA-848 : Fix concurrency control for in-process Lucene index
-+ Add option to specify an analyzer for the query string
-+ Add mechanism for defining custom TextDocProducers
-
-
[2/2] jena git commit: JENA-896 : Remove out-of-date notes
Posted by an...@apache.org.
JENA-896 : Remove out-of-date notes
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/570def23
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/570def23
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/570def23
Branch: refs/heads/master
Commit: 570def232ea3da00a0e6b878296ab18706c697a8
Parents: c8bdc16
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Mar 22 17:45:49 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Mar 22 17:45:49 2015 +0000
----------------------------------------------------------------------
jena-arq/ReleaseNotes.txt | 649 ---------------
jena-core/ReleaseNotes.txt | 1540 ------------------------------------
jena-csv/ReleaseNotes.txt | 14 -
jena-fuseki1/ReleaseNotes.txt | 104 ---
jena-fuseki2/ReleaseNotes.txt | 19 -
jena-iri/RELEASE_NOTES.txt | 30 -
jena-sdb/ChangeLog.txt | 86 --
jena-spatial/ReleaseNotes.txt | 18 -
jena-tdb/ReleaseNotes.txt | 82 --
jena-text/ReleaseNotes.txt | 10 -
10 files changed, 2552 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/570def23/jena-arq/ReleaseNotes.txt
----------------------------------------------------------------------
diff --git a/jena-arq/ReleaseNotes.txt b/jena-arq/ReleaseNotes.txt
deleted file mode 100644
index 12b0e08..0000000
--- a/jena-arq/ReleaseNotes.txt
+++ /dev/null
@@ -1,649 +0,0 @@
-ChangeLog for ARQ
-=================
-(the list covers new features and refinements. See ASF JIRA for details of bugs fixed)
-
-==== Jena 2.12.2
-
-+ JENA-813 : Improve performance of DatasetGraphCollection for large numbes of named graphs.
-
-==== Jena 2.12.1
-
-+ JENA-768 : Add "--out" to the "riot" command to choose a
- different output format.
-+ JENA-769 : StreamWriter, a place to get an output class that streams.
- This supplements RDFDataMgr.
-+ JENA-767 : Fix the JSON parser to handle \b escapes.
-+ JENA-762 : Provide a registry for result set readers and writers.
-+ JENA-761 : Provide a means to disable SERVICE
-
-==== Jena 2.12.0
-
-Jena now requires Java7 as of this version.
-At the same time some classes and methods previous deprecated and marked
-for removal have now been removed.
-
-QueryExecution is now AutoCloeable and can be used with try-resource.
-
-+ JENA-694 : Require Java 7
-+ JENA-714 : Source language upgrades
-+ JENA-726 : remove deprecated classes and methods.
-+ JENA-727 : Checks on ResultSet from execSelect that it is still valid/
-
-+ JENA-710 : Bug fix for filter optimizer where the filter only
- mentions a variable onl yused with GRAPH.
-+ JENA-723 : Bug fix in TopN optimization revealed in Java8
-+ JENA-715 : Read payload for errors in HttpOp
-+ JENA-713 : Reduce costly string operations in utility class
-+ JENA-712 : ARQ outputs BASE if expclitily set in a query else
- does not produce relative URIs. This is now consistent
- with behaviour of RIOT writers.
-
-==== Jena 2.11.2
-
-+ JENA-631 : rdfs:member supported in property paths.
-+ JENA-671 : More filter placement optimization
- See also JENA-619, JENA-627, JENA-628, JENA-653
-+ JENA-638 : Improve coverage of TopN optimziation
-+ JENA-634 : Add JSON-LD support
-+ JENA-518 : Add getter/setter for the error handler to ReaderRIOT.
-+ JENA-688 : Update N-Triples and N-Quad parsers to UTF-8 instead of ASCII to match RDF 1.1 W3C Recommendation in all cases
-+ JENA-692 : Fix for a case where implicit join optimisations could break the query
-+ JENA-695 : SPARQL CSV parser
-+ JENA-630 : Add constant folding to query optimisation
-+ JENA-637 : Fix for bug in rdfs:member property function
-+ JENA-663 : Prefer Turtle when communicating with SPARQL Graph Store Protocol endpoints
-+ JENA-685 : Improvements to fixed reordering for BGPs
-+ JENA-697 : Property function to split a string into multiple bindings (apf:strSplit)
-
-==== Jena 2.11.1
-
-RDF 1.1 Language support (Turtle, TriG, N-Triples, N-Quads)
-
-+ JENA-595 : Improved filter placement optimization.
- See also JENA-293, JENA-383, JENA-432, JENA-616
-
-+ JENA-606 : URIs for prefixes are resolved (made absolute) before adding
- to a models prefix mapping. Previously, they were left as
- relative, ifrelative URis in the document.
-+ Fix a couple of possible deadlock conditions when using PipedRDFIterator
-
-==== Jena 2.11.0
-
-+ Support draft RDF 1.1 TriG
- GRAPH keyword, bnodes for graph labels, no "<g> = {}".
-+ JENA-500 : Substitution for an initial binding is now done
- on the algrebra before optimzation is attempted.
-+ JENA-470 : Enable optimization of mixtures of disjunctions with equality
- and other expressions.
-+ JENA-473 : Enable implicit join optimizations
-+ JENA-475 : HTTP Authentication for SPARQL Updates was not properly supported
-+ JENA-471 : Fix regression in generated quad form of algebra for some queries
-+ JENA-519 : Restored initial binding support for SPARQL Update execution (INSERT/DELETE/WHERE and DELETE/WHERE only)
-
-==== Jena 2.10.1
-
-+ JENA-352 : Solution to parsing N-Triples with any number of bnode labels.
-+ RIOT is the main way to write RDF data.
- All the writers for Turtle/TriG/N-triples and N-Quads revised.
- http://jena.apache.org/documentation/io/
-+ Improve ParameterizedSparqlString to prevent some identified SPARQL Injection attacks, revised the
- javadoc to note that these protections are not foolproof and that there are known attack vectors.
- Users relying this to prevent SPARQL injection are advised to add their own validation in addition
- to those that the class provides.
-+ JENA-429 : Top level BIND may not be restored correctly by OpAsQuery when algebra involves grouping
-+ JENA-405 : QueryEngineHTTP respects ServiceContext and uses it to pre-populate authentication and
- behaviour settings appropriate to the service used where set
-+ JENA-422 : SERVICE clause now propagates top level BIND within the query pattern
-+ JENA-419 : Calculating a project expression on result of aggregation is no longer incorrectly reported
- as a scope error
-+ JENA-389 : Correct variable scoping transformations of FILTER NOT EXISTS within subquery
-+ JENA-423 : Ensure that query iterators that were previously left open in certain circumstances are
- now closed
-+ New ResultSetPeekable interface extends ResultSet with peeking capabilities, ResultSetMem implements
- this and ResultSetPeeking is provided as an implementing wrapper over an arbitrary ResultSet
-+ JENA-441 : New optimizations for ORDER BY + DISTINCT/REDUCED combinations that gives substantially better
- performance for some queries
-
-==== Jena 2.10.0
-
-+ Consolidation of versions numbers.
-+ Command line SPARQL query reads all data formats (triples and quads) for --data
-+ RIOT is the main way to read RDF data. Includes content negotiation and file extension interpretation.
- See RDFDataMgr for methods to read RDF (triple and quads formats).
- Model.read(...) operations use RIOT by default.
-
-+ Added DatasetAccessor interface to com.hp.hpl.jena - The SPARQL Graph Store Protocol
-* JENA-379 : Incorrect results from a property paths with same subject and object variable.
-+ Introduce RDFParserOutput as output interface for parsers (was Sink<Triple> or Sink<Quad>)
- Assorted implementations of this new interface
-+ RIOT - internal reorganisation moving to org.apache.jena.riot.
-+ Remove the partial migration support for old-style SPARQL submission update forms.
-+ Update Turtle/Trig parsers for prefixed name details in RDF 1.1
- Add %-sequences, \char sequences and ':' to local part of prefixed names.
- NB. The characters 123. are now an integer 123 and a DOT; they were a decimal, and no DOT.
-+ RIOT tokenizing now records the subtokens for language and datatype literals.
-+ JENA-345 : execConstructTriples() now excludes malformed triples (e.g. literal subjects) from it's output
-+ Internal reorgansiation of packages
- org.openjena.atlas moved to org.apache.jena.atlas
-+ PipedRDFStream and PipedRDFIterator replace RIOTParserPuller as method for getting
- an iterator over parser output
-+ PrefixMap is now an interface
- Use PrefixMapFactory as the primary means of creating prefix maps
- Abbreviation performance for common namespace patterns (/ or # terminated) much improved
-+ New FastAbbreviatingPrefixMap, can be much faster for abbreviation when namespaces
- do not follow common patterns
-+ JENA-330 : Streaming support for SPARQL Update queries and streaming support for quads in INSERT DATA / DELETE DATA queries
- (Note to 3rd party storage engine implementers, the internal API for UpdateEngine has changed, see UpdateEngineMain or
- UpdateEngineNonStreaming for example of the new design)
-+ SPARQL Update execution no longer supports setting an initial binding
-
-==== ARQ 2.9.4
-
-+ Deprecate syntax support for SPARQL/Update (the W3C submission - this is not SPARQL 1.1 Update)
- for several cycles of migration support only.
-+ Blank node labels can not be reused across different INSERT DATA operations in the same SPARQL Update Request
- (spec clarification)
-+ JENA-322 : Make jcl-over-slf4 a required dependency
-+ JENA-321 : Remove GraphStore.(start|finish)Request() (was previously deprecated)
-+ Remove deprecated QueryExecutionBase.cancelAllowDrain (see JENA-93)
-+ Implement SPARQL-WG decision on BIND : use original semantics.
-+ JENA-294 : improved optimization of sequeneces of OPTIONALs where the group is only OPTIONAL and an equality filter
-+ JENA-298 ResultSetStAX.hasNext() can now be called again after it has returned false
-+ JENA-302 Add URIs for all XQuery/Xpath F&O functions for duration accessors
-+ JENA-303 Add URIs for all XQuery/Xpath F&O functions where there are SPARQL functions
-+ JENA-328 : implement OSGi friendly DatatypeFactory initialisation in NodeValue
-+ Support for parsing boolean results from TSV and CSV inputs
-
-==== ARQ 2.9.3
-
-+ Interface DataSource removed after having been deprecated across releases.
- Use Dataset.
-+ Remove many deprecated operations in classes Query, UpdateFactory and UpdateRequest.
- Also many internal operations marked deprecated were removed.
-
-==== ARQ 2.9.2
-
-+ Significant speed-up of MINUS queries (JENA-266) : contribution from Paul Gearon (@quoll).
-+ Log warning messages generated by failures in SERVICE clauses now include the URI of the
- service that failed (JENA-269) : suggestion by Claude Warren
-+ Support for dynamic function invocation built-in CALL() when using ARQ language
-
-==== ARQ 2.9.1
-
-+ SPARQL 1.1: STRBEFORE and STRAFTER return simple empty string on no match.
-+ Stop multiple SERVICE calls locking Fuseki up (JENA-248)
-+ (internal) DatasetPrefixStorage : change removeFromPrefixMap(String, String, String) to removeFromPrefixMap(String, String)
-+ Changes for BINDINGS (SPARQL 1.1) - align with SPARQL-WG
- Now called VALUES : slight syntax changes.
- VALUES can be inline data as part of a query pattern.
-+ Comprehensive support for date/time/durations operations (JENA-235)
-+ Property path syntax revised to align with current SPARQL
- No {...} forms in SPARQL query engine (available in ARQ language)
-+ Property path semantics revised to align with current SPARQL
- *, + and ? are connectivity/non-counting
-+ New property path evaluation engine framework.
-+ Bug fix: DISTINCT might not be distinct (JENA-211)
-+ QueryEngineHttp has configuration options (JENA-210)
-+ Add function "StrUUID" which returns a UUID string (c.f. "UUID()" for a UUID as a URI of form <urn:uuid:....>)
- Also available as afn:struuid() and afn:uuid() for strict syntax.
-+ Add UpdateExecutionFactory.createRemote(...) for remote execution of SPARQL Update (JENA-197)
-+ Allow users to specify query parameters in SERVICE
- Allow the context to include a set of parameters add to SERVICE requests
- (JENA-195)
-+ SPARQL 1.1: Complete scope tracking of variables (JENA-142)
-+ SPARQL/Trutle alignment: Prefix names can contain ':' unescaped. No escape for ':'
-+ Faster writing of XML and JSON results formats (JENA-178)
-+ Support for SERVICE with additional parameters (JENA-195)
-
-==== ARQ 2.8.9 / 2.9.0
-** Java 6 is now required for running ARQ.
-
-+ SPARQL 1.1: Provides \-escapes for characters ~.-!$&'()*+,;=:/?#@%
- in local part of prefix names
-+ SPARQl 1.1: Allow %xx in the local part of prefix names
-+ SPARQL 1.1 / RDF 1.1 : DATATYPE(literal-with-lang) is now rdf:langString, not an error.
-+ DatasetFactory: preferred methods for an in-memory dataset are:
- create() -- will automatically add in-memory named graphs
- createFixed() -- needs explicitly added extra graph
-+ BUG FIX: Mis-execution of GRAPH ?g { .. } where ?g used inside { .. } (JENA-154)
-+ Bug fix: ResourceUtils.renameResource() no longer uses Iterator.remove() (JENA-76)
-+ Bug fix: Query objects with aggregators cannot be reused (JENA-120)
-+ REGEX now accepts xsd:string and literals with language tags in the first argument.
-+ Add function STRBEFORE, STRAFTER and REPLACE for SPARQL 1.1
-+ Add function UUID [ARQ language only]
-+ Remove LARQ from ARQ. LARQ is now a separate Jena module.
-+ Fix reuse of query objects (aggregation used shared state) (JENA-121)
-+ Spill to disk update (enable with ARQ.spillToDiskThreshold) (JENA-45)
-+ External sort (enable with ARQ.spillToDiskThreshold) (JENA-44)
-+ Remove RDQL from ARQ (code in Archive/ in SVN -- will not be updated)
-+ ResultSetUtils.union(ResultSet ... sets)
-+ Add optimization for DISTINCT/ORDER BY/LIMIT N (JENA-108)
-+ Add optimization for DISTINCT/ORDER BY (JENA-90)
-+ Add optimization for ORDER BY/LIMIT N (JENA-89)
-+ General upgrade of dependent systems (not Lucene - see LARQ module for use with Lucene 3)
-+ Introduce "bindings IO", a subsystem for efficient reading and writing of result bindings.
-+ Make CONCAT follow the SPARQL 1.1 spec properly.
-+ Bug fix: ORDER BY and FILTERs in sub-selects didn't work if ordering by non-SELECT variables.
-+ Bug fix: Equality of algebra operator (order) wasn't checkign all aspects of the op.
-+ Bug fix: SUM and AVG over errors didn't generate an error as they should do.
-+ Add TSVInput processor (JENA-69 / Laurent Pellegrino)
-+ Added DatasetGraph.add(g,s,p,o) and .delete(g,s,p,o) (JENA-65)
-+ Aggregates COUNT(?x) and COUNT(DISTINCT ?x) now skips errors in their expressions
- rather than evaluating to an error (SPARQL 1.1 Query Last Call compliance).
-
-==== ARQ 2.8.8
-
-+ Added QueryExecution.setTimeout that uses the abort mechanism below to stop queries after
- a preset period of time.
-
-+ Query cancellation: method for QueryExecution.abort() can now be called by any thread at any time.
- The effect is to stop the query execution as soon as possible.
- After calling .abort(), at some time. .hasNext() and .next() will throw an exception if called.
- Exactly when this happens is not defined - it may be immediately.
-
-+ "arq.update --dump" : Output is now N-quads.
-
-+ riot command: Output now abbreviates bNode labels.
-
-+ SPARQL 1.1: Behaviour change: aggregates where the accumulation cause an error now cause the
- AVG of 1,"two", 3 is now an error, was "two" is skipped
- (and most likely, the error causes unbound in the SELECT expression)
-
-+ Bug fix: Handling of UNDEF in BINDINGS
-
-+ RIOT: Better handling of file names with spaces in them for base URI.
-
-+ Notice: A separate LARQ module is under development - this will use Lucene 3.x.y
-
-+ Bug fix: RIOT: Cope with UTF-8 files with a BOM.
-
-+ Add scope checking rules as required by SPARQL 1.1
- Illegal in SPARQL 1.1:
- Reuse of variables in assignments (i.e. "AS ?x" and ?x potentially bound)
- SELECT * {} GROUP BY (reamins legal in ARQ language)
-
-+ Bug fix: FILTERs did not always get moved to the end of groups properly
- (sometimes only to end of BGPs).
- This effects some FILTER the LET combinations using the same variable.
-
-==== ARQ 2.8.7
-
-SPARQL 1.1 Function library:
- + Added MD5, SHA1, SHA224, SHA256 SHA384, SHA512 functions for SPARQL 1.1
- + Added YEAR, MONTH, DAY, HOURS, MINUTES, SECONDS to SPARQL 1.1
- TIMEZONE awaiting WG discussions.
- + Added NOW() to SPARQL 1.1 - filter function like afn:now().
-
-==== ARQ 2.8.6
-
-** Update is now two languages:
- strict SPARQL 1.1 Update (the default)
- enhanced language (ARQ query extensions, compatibility extensions for previous update language)
- Set Syntx.syntaxARQ_Update to access the extensions.
-
-+ Complete implementation of SPARQL 1.1 Query and Update (as per current draft)
- Default query and updates languages are now SPARQL 1.1
-
-+ Syntax extensions for W3C submission "SPARQL Update"
- http://seaborne.blogspot.com/2010/08/migrating-from-sparql-update-submission.html
-
-+ RIOT commands (ntrig, nquads, turtle, ntriples, infer) now in package 'riotcmd'
-
-+ Expand update API to support multiple languages
- See src-examples/arq.update.* for examples of API.
-
-+ UpdateException now used for errors during update execution (potentially visible change)
-
-+ Bug fix: compound expressions involving aggregates in SELECT clause
-
-+ Remove use of code from org.json to clarify legal position.
-
-+ Property path evaluation now aligns with SPARQL 1.1
- cardinality of results for arbitary length paths may change.
-
-+ Bug fix: N-Triples, and N-Quads now expect ASCII input as per specs.
-
-+ Bug fix: Property functions in FILTER NOT EXISTS
-
-==== ARQ 2.8.5
-
-+ RIOT: New parsers covering N-triples, N-Quads, Turtle and TriG
- URI and literal checking in Trutle amd TriG.
- New command line tools:
- arq.riot (parse based on file ext), arq.ntriple, arq.nquads, arq.turtle, arq.trig
- Parse files to N-Triples/N-Quads.
- By default, checking turned on for N-triples and N_quads when useNd at command line.
-
-+ Import all of atlas and riot subsystems from TDB
- These will become submodules of ARQ sometime.
- Atlas contains all non-RDF related library code.
-
-+ SPARQL 1.1 status:
- SPARQL 1.1 Query: implemented except for corner cases of property paths
- Use Syntax.syntaxSPARQL_11
- SPARQL 1.1 Update: Only W3C submission supported for execution.
- Someparsing of WG design for SPARQL 1.1. Update but (at time or release) language not agreed.
-
-+ Bug fixes:
- Parsing of UNION in non-SPARQL 1.0 queries.
- False optimization of GRAPH when mixed with extra {} and FILTERs.
-
-==== ARQ 2.8.4
-
-+ Internal reorganisation of graph-level DatasetGraph (no chnages to the application API)
- There is now hanlding of quads,
- The difference bewteen DatasetGraph and DataSourceGraph is removed.
- New classes to help with DatasetGraphs which are collections of graphs and
- ones that are colelctions of quads and triples.
- This does not affect Dataset or DataSource, the API interfaces.
-+ Add BNODE() function to generate fresh bnodes
-
-==== ARQ 2.8.3
-
-+ Added commands arq.larq and arq.larqbuilder to query and build Lucense indexes for ARQ.
-+ Added IN and NOT IN operators
-+ Added IF and COALESCE operators
-+ Add built-in function STRLANG(string, string) to make a literal with a language tag.
-+ Add built-in function STRDT(string, iri) to make a literal with datatype
-+ Add built-in function IRI(string) to make an IRI.
-+ Add value support for xsd:gYear/gYearMonth/gMonth/gMonthDay/gDay
-+ Results output in CSV and TSV.
-+ Add "negative property classed" (experimental)
- !rdf:type matches anything except rdf:type
- !(rdf:type|rdfs:label) matches some thing that isn't rdf:type or rdfs:label
-+ Bug fix: some multiply nested OPTIONALs could result in only naive, unoptimized execution.
-+ Bug fix: SERVICE body for complex query patterns.
-+ Bug fix: XML literals in SPARQL XML Results had the end of lines mangled.
-
-==== ARQ 2.8.2
-
-+ SPARQL v1.1 as an defined language and parser, separate from ARQ
-+ Results output in CSV
-+ Optimization of disjunction FILTERs
- with care to get same effects if value-based
- URIs are always safe to optimize.
-+ Bug fix in filter placement (in code used by TDB only)
-+ Bug fix in filter equality transformation if involving unused an variable.
-
-==== ARQ 2.8.1
-
-+ Bug fixes
- + substitution in NOT EXISTS
- + substitution in assignment
- + constant folding and logical special forms
- + bad lock allocation (only occurs under very high load)
-
-+ Speed up processing of nested optionals. Greatly speeds up BSBM with TDB.
-
-+ Some JMX management exposed: Object names start "com.hp.hpl.jena.sparql".
- Details include: system and version information, query execution count,
- last query and the time execution started.
-
-==== ARQ 2.8.0
-
-+ Build is now done by maven
-** JAR changes: the ARQ jars are now called "arq.jar" and "arq-tests.jar".
- Only "arq.jar is needed at runtime unless running ARQ test code.
-** There is only one maven artifact "arq". "arq-extra" is no more.
- See README for deatils of files produced.
-
-+ Negation-as-failure: NOT EXISTS {pattern}
- see http://jena.sf.net/ARQ/negation.html for details.
-
-+ Bug fix: Reverse paths of length 3 or more were not being parsed correctly.
-
-+ Upgrade to stax 1.0.1 and wstx-asl-3.2.9
-
-+ Remove json.jar (jena compiled code from org.json). Replace with source code, renamed, in ARQ itself.
- package com.hp.hpl.jena.sparql.lib.org.json;
- Cleaned up for Java generics.
-
-==== ARQ 2.7.0
-
-+ New build system.
-
-+ Clearing up.
- junit used is now v4.5
- internal logging API is SLF4J (Jena uses SLF4J as of v 2.6.0 as well)
- Jars needed: slf4j-api-1.5.6.jar and (for log4j) slf4j-log4j12-1.5.6.jar
-
-+ Optimizer framework rewritten (inc support for hooks used by TDB).
- New general purpose StateGenerator and memory-graphs statistics
-
-+ Fix parsing of very large INSERT DATA requests (stack could overflow).
-
-+ The IndexBuilder constructors taking a directory name as a string would
- clear the Lucene index. Changed so they do not do so - and behave like
- the other constructors which reuse an existing index.
-
-+ Uses the Java5 version of Jena2.
-
-+ Property function afp:versionARQ does not now split version numbers into major and minor parts
- ARQ has a 3-part version number now.
-
-==== ARQ 2.6.0
-
-+ Added .close() to Dataset and GraphStore for those implementations that
- need to make changes permanent or release system resources.
-
-+ Clean internal extensions points for TDB
-
-+ Put misc support code in for TDB
-
-+ Fix bug in SPARQL grammar (!) : expressions like "1+2*3" did not parse.
- This is a fix to the grammar as published by the working group.
- It does not invalidate or chnage any query that works - it makes some
- illegal syntax work that should work.
-
-==== ARQ 2.5
-
-+ Redesign of quad support.
- AlgebraGeneratorQuad retired
- Use Algebra.toQuadForm(Op) to turn an algebra expression into quads.
-
-+ fn:string-join was misnamed - was actually renamed as fn:concat
- And now takes arbitrary number of arguments
-
-+ Add afn:strjoin(str, string...)
-
-+ Bug fix: path parsing when "a" (for rdf:type)
- is used in a property list (using ;)
-
-+ Bug fix: LET expressions did not eliminate solutions when
- assigned a new, different value.
-
-+ Internal renaming to make the class names better reflect their role
- particularly not using the term "compile" for things now considered
- to happen during query execution.
-
-+ Internal utilities updated for TDB
-
-+ Signal start/end of updates using the graph-level events mechanism.
-
-==== ARQ 2.4
-
-+ Change to interface for query compilation : Algebra.compile and Algebra.optimize
-
-+ Property paths added. See documentation.
-
-+ Simplify the interface between ARQ and data sources.
- StageGenerator example updated.
-
-==== ARQ 2.3
-
-+ HAVING / ORDER BY variable, where variable is SELECT as an aggregate or computed value now works.
- (current restriction: can't have the expression directly in the ORDER BY - need to project the variable)
-
-+ Upgrade to Lucene 2.3.1
-
-+ Change return type of ResultFactor.copyResults to ResultSetRewinable (a sub interface of ResultSet).
-
-+ Allow inital bindings for Updates (ignored unless a Modify operation)
-
-+ Added SUM(?x) aggregate
-
-+ Added { SELECT } (nested SELECT) and LET (assignment) to ARQ extended SPARQL.
-
-+ Added optimization rewrite of algebra expressions for FILTER(?x = :x) and FILTER(sameTerm(?x, :x))
- so that the required term is substituted into the pattern before execution.
- Cautiously applied to basic graph patterns and quad patterns.
-
-+ Bug fix: ARQ 2.2 broke property functions in many nested structures.
-
-+ src-examples: example of SPARQL/Update
-
-+ Fix bug: OpUnion flattening was not happening (Main query engine, OpCompiler)
-
-+ Fix bug: HttQueryEngine(in HttpQuery) generated bad POST requests with a trailing &.
-
-+ New command arq.load, which loads files into graphs. Special case of arq.update
-
-==== ARQ 2.2
-
-+ Added command line tool, arq.update, for applying SPARQL/Update requests
- to a graph store or dataset described by an assembler file.
-
-+ LARQ:
- Remove restriction that indexes have to be closed for writing before reading
- Becare: in Lucene, reader indexes (like LARQIndexes) see the index as at the point
- in time when the index was created. Must get a new reader to see later updates.
-
-+ QueryEngineHTTP
- + Can be created via QueryExecutionFactory
- + Operations for adding HTTP parameters and also for basic authentication of HTTP.
-
-+ Added ParserRegistry (courtesy of Olaf Hartig)
-
-+ Reworked property functions so they formally in the algebra.
-
-+ Jar change: commons-logging-1.1.1.jar
-
-+ Bug fix: text output of result sets sometimes gave full bNode label - revert to
- old design where a short label is used always.
-
-+ Bug fix: handling of empty patterns and COUNT could give no count,
- instead of a count of zero.
-
-+ Use base URI for realtive URI printing (i.e <foobar>)
-
-+ Track DAWG:
- Effect of OPTIONAL {{ ... FILTER }} (must be 2 or more {{}}) changes.
- Inner {} now protects the FILTER from becoming part of the LeftJoin.
-
-+ Upgrade lucene-core-2.0.0.jar to lucene-2.2.0.jar
- Lucene change means that users can't mix ARQ 2.1, and before,
- with Lucene 2.1.0 or later.
-
-==== ARQ 2.1
-
-+ (experimental for this release - permanent in next)
- GROUP BY, HAVING
- Aggregates: count(*), count(?x), count(distinct *), count(distinct ?x)
-
-+ (experimental for this release - permanent in next)
- Expressions in SELECT clause
- Expression in brackets, optionally named with "AS ?var"
- Adding an explict namne is strongly encouraged especially if you use
- the SPARQL results format because internal variables variable names
- are not portable.
- SELECT (?x+?y AS ?z) ?y ?x
- SELECT ?x ?y (?x+?y AS ?sum) # Print a table of sums
- OpProject can have additional expressions that get added into the
- table from 'project'
-
-+ removed old-style (and out-of-date) writers for internal forms: prefix,
- plain and XML forms of a SPARQL query. The XML form was incomplete
- anyway. (This does not affect algebra output which is what replaces
- these syntax-based forms).
-
-+ Added examples of using Lisp (SISC - A Java-based scheme interpreter).
- See the directory Lisp/.
-
-+ NodeVar renamed ExprVar (more consistent naming)
- Deprecated tombstones left for next release
-
-==== ARQ 2.1 beta
-
-+ Cost-based optimizer for basic graph patterns on in-memory graphs.
- ** Uses the version of jena shipped with this release, can't use an earlier one.
-
-+ Convert algebra expressions back into a SPARQL query (see OpToSyntax).
-
-+ Old "NodeToLabelMap" => "NodeIsomorphismMap"
- Affects Element and Op ".equalTo" operation signature.
-
-+ Added extension : a graph pattern SERVICE <serviceEndPoint> { pattern }
- ARQ syntax only.
- New algebra operation: OpService
-
-+ Added SSE to the main codebase : http://jena.hpl.hp.com/wiki/SSE
-
-+ Internal changes: the core engines are now Graph/DatasetGraph/Algebra-centric
- and there are classes to map betwen that and the Model/Dataset.
- QueryEngine construction and extension need not know about
- the upper layers now.
-
-+ Algebra operator implment .hashCode() and .equals() based on structure/value equality
-
-+ Legacy query engine1 removed.
-
-+ Add new algebra operations
- OpGroupAgg, OpNull
-
-+ VarsMentionedVisitor removed - convert to an algebra expression and use OpVars.allVars instead.
-
-==== ARQ 2.0
-
-This version uses the SPARQL algebra directly,
-then produces an execution scheme that uses streaming
-execution where possible.
-
-+ SPARQL changes
- + Prefixed names can now start with a digit. ex:123 is now a legal prefix name.
- + The working group has removed attributes "ordered" and "distinct" from the
- XML Results format. These have been removed in this release. ARQ will read
- old style XML files (and ignore the attributes).
- JSON result format also updated.
-
-+ Multiple query engines:
- + Main query engine for optimization and efficient execution
- + Reference engine for checking functionality
- (implements the SPARQL evaluation semantics very simply for clarity and validation)
- + Remote access engine for querying SPARQL endpoints over HTTP.
- + Engine1, for exact ARQ1 semantics and enhancements
- (deprecated for new applications (and will be removed sometime))
- + RDQL engine
- + See also SDB - an ARQ query engine that for RDF stored in SQL databases
-
-+ Access and extension points:
- + Filter functions
- + Property functions
- + The parsed syntax
- + Generation of the SPARQL algebra expression
- + Modification of SPARQL algebra expression before executin plan generation
- + Custom algebra operations
- + Basic graph pattern replacement or modification
- for access to other data sources
- + Modular query engine class hierarchy for reuse of machinary,
- resulting in less extra coding for extensions.
-
- + Internal changes
- + Package reorganisation
- Implemnentation in com.hp.hpl.jena.sparql
- + Filter functions now take a Context, not an ExecutionContext.
- + Deprecate "EXT" form from ARQ.
- (Property functions are better)
-
- + Experimental SPARQL/Update API
- See http://jena.hpl.hp.com/~afs/SPARQL-Update.html
-
-Post ARQ-2.0-beta:
-+ Added REDUCED as per DAWG decision 2007-03-20
-+ OpDistinct and OpReduce no longer take a variable list
-+ Removed ElementExtension/PlanExtension and extension package
- The ARQ(beyond SPARQL feature) of "EXT" has been removed.
- Element visitors may be affected.
-+ Added an update API
-+ LARQ
- + added access to the match score
- + added limits on score or number of results as part of Lucene search