[Sep 19 2009]

 * ADDED: Turtle write library.

[Sep 9 2009]

 * MODIFIED: rdf_load/2 no longer shares blank nodes by default.  This is
   not allowed according to the standards.

[Sep 1 2009]

 * ADDED: First version of low-level primitives for faster Turtle support

 * CLEANUP: make RDF library depend on new iri_xml_namespace/3.

[Aug 31 2009]

 * ADDED: rdf_graph_prefixes/3 and realised various enhancements

[Aug 26 2009]

 * FIXED: rdf_graph_prefixes/2 to return all namespaces instead of only those
   that have ns/2 declarations (as the title suggests).

[Aug 24 2009]

 * MODIFIED: RDF hook no longer accepts text/html explicitely

[Aug 21 2009]

 * FIXED: Turtle parser to deal with files where the last line is a
   non-terminated comment.  Ivo Swartjes

[Aug 20 2009]

 * ADDED: Library semweb/rdf_compare for comparing RDF graphs (mostly used by
   RDF test libraries)

 * ADDED: Process the text/turtle MIME-type

 * ADDED: Turtle parser to support booleans (true and false)

[Aug 19 2009]

 * MODIFIED: rdf_process_turtle/3 prints messages instead of aborting after
   the first error.  Also some progress to enhance the error messages.

 * ADDED: rdf_current_ns/2 as a replacement for rdf_db:ns/2 and rdf_graph_prefixes/2
   to query prefixes used in a specific graph.

[Jul 31 2009]

 * FIXED: rdf_load/1 failed after unloading the data using rdf_unload/1. Willem Robert van Hage.

[Jul 30 2009]

 * CLEANUP: Modernise rdf.pl and rdf_db.pl module handling.

[Jul 24 2009]

 * MODIFIED: rdf_load_turtle/3 now returns IRIs instead of URIs.
[Jul 21 2009]

 * MODIFIED: Make initialization/1 ISO compliant
   This patch is a modest cleanup to the implementation of '$load_file'/3
   from init.pl and provides an ISO compatible implementation of
   initialization/1. This executes the argument goal *after* loading the
   file rather than when encountering the directive. Often this makes no
   difference, but notably load_foreign_library/1 is an exception.
   Therefore we added use_foreign_library/1,2 that act as a directive and
   provides proper integration with saved-states automatically.  Loading
   code using initialization(load_foreign_library(...)) will load the
   library immediately and issue a warning.

   See initialization/1,2 for details and further hints for dealing with
   possible compatibility problems.

[Jul 19 2009]

 * FIXED: RDF Literal indexing messed up handling of 'false'.  Vera Hollink.
[Jun 28 2009]

 * FIXED: RDF literal matches (literal(exact(string), X))

[Jun 22 2009]

 * ADDED: Efficient SPARQL compliant literal matching to RDF-DB

[Jun 19 2009]

 * FIXED: Semweb: writing RDF/XML should not use bnodes as typed nodes.  Chris Mungall.

[Jun 17 2009]

 * FIXED: Turtle UTF-8 handling

 * FIXED: rdf_load/2: Do not record a file as loaded before completion.

 * ADDED: Semweb: Register turtle parser for .n3 files

[Jun 16 2009]

 * FIXED: Pass Turtle test-case #10.

[May 31 2009]

 * FIXED: RDF Transaction logging in persistency layer.  Jacco van Ossenbruggen.

[Mar 19 2009]

 * CLEANUP: Removed all trailing whitespace from all source-files.  This avoids many GIT (merge) warnings.
[Mar 12 2009]

 * MODIFIED: Renamed concat_atom/2,3 into atomic_list_concat/2,3 for compatibility.  Moved the old predicates into library(backcomp).  It is adviced to update your code, but 99% of the code will remain working because the old definitions are autoloaded.

[Mar 5 2009]

 * FIXED: ensure the local part after splitting a URI is a valid XML name

 * MODIFIED: Use graph(URI) instead of db(URI) for specifying the RDF graph that must be saved.  db(URI) is still supported for backward compatibility.
[Jan 21 2009]

 * FIXED: RDF writer: write valid XML if the namespace entity contains characters
   that must be %-escaped.  Jacopo Urbani.

[Jan 13 2009]

 * FIXED: RDF/XML could save illegal XML if multiple namespaces are used
   for predicates where one namespace is a prefix of another one.  Jacopo Urbani.
[Dec 19 2008]

 * ADDED: Allow for stream(Stream) as target in rdf_save/2
[Oct 8 2008]

 * MODIFIED: rdf_load/[1,2] now raises an existence_error if the input does not exist.

 * CLEANUP: Generalise plugin interface to deal with different storage envelopes in rdf_load/2.
[Sep 23 2008]

 * ADDED: Preserve the modification time of the source URL in binary RDF files.

[Sep 11 2008]

 * PORT: Add AC_PREREQ to configure.h for systems that auto-select autoconf
   versions.  After tip by Ulrich Neumerkel.

[Aug 11 2008]

 * INSTALL: Remove all configure files from the git repository
[May 20 2008]

 * FIXED: %-escape [] when transforming URI to URL.

[May 5 2008]

 * FIXED: rdf_quote_uri/3 not to map & to %26.  Jacco van Ossenbruggen

[Apr 27 2008]

 * FIXED: RDF-DB: predicate hash error that caused most predicates to be
   hashed on the same key. Fixes slow rdf_save/2 reported by Jacco van
   Ossenbruggen. Should also positively effect determinism and reliability
   of rdf_estimate_complexity/4.

[Apr 26 2008]

 * DOC: Fixed some paths in semweb documentation.  Jacco van Ossenbruggen

[Apr 18 2008]

 * MODIFIED: Renamed hash_term/2 to term_hash/2.  Added hash_term/2 to
   library(backcomp), so most code should not notice this.

[Apr 17 2008]

 * FIXED: Avoid deadlock in RDF literal index when removing a literal

[Apr 14 2008]

 * CLEANUP: Remove calls to sformat from system libraries (backward compatibility)

[Apr 11 2008]

 * ENHANCED: rdf_litindex.pl: 40% faster building of the literal token database

[Apr 10 2008]

 * PERFORMANCE: RDF-DB: speedup literal hash handling

[Mar 26 2008]

 * ENHANCED: make rdfs_individual_of(+,+) semidet.

[Mar 5 2008]

 * FIXED: determinism detection in rdf_reachable/3

[Feb 18 2008]

 * MODIFIED: Stricter checking in rdf_global_id/2 and rdf_global_term/2

[Jan 23 2008]

 * PORT: Bug#346: Allow overriding COFLAGS and CWFLAGS in package
   configuration.   Keri Harris.
[Dec 17 2007]

 * FIXED: Possible missing match on subproperties in rdf_has. Jacco van Ossenbruggen and Michiel Hildebrand

[Dec 13 2007]

 * FIXED: Bug#332: operator declarations could mess up RDF/XML output.  Chris Sutton
   and Yves Raimond.

[Nov 28 2007]

 * FIXED: rdf_persistency.pl now keeps track of sources

[Nov 14 2007]

 * FIXED: RDF HTTP plugin to request application/rdf+xml.  Yves Raimond.

[Nov 11 2007]

 * ADDED: Allow deleting an inverse_of predicate property

[Nov 8 2007]

 * ENHANCED: Minimise the time we keep a lock in rdf_load_db/1 to exploit
   concurrency.

 * ADDED: silent(brief) option value to rdf_attach_db/2.  Avoid some file-system
   tests to speedup loading many named graphs.

 * ENHANCED: Speedup for rdf_retractall(_,_,_,DB) for empty or non-extenting
   databases.

 * ENHANCED: Avoid quadratic effect when loading many graphs from many
   snapshot files as used in rdf_persistency.pl.  Spotted by Yves Raimond
   loading 17,000 graphs.

Oct 15, 2007

  * FIXED: rdf_load/2 for loading .gz files.  Michiel Hildebrand.

Oct 10, 2007

  * ADDED: register_namespaces(Bool) option to rdf_load/2

  * FIXED: Interaction between locking and signals (possible deeadlock).

Sep 27, 2007

  * ADDED: option to create global RDF cache directory on demand.

  * ENHANCED: Make zlib and http plugins cooperate.

Sep 26, 2007

  * ADDED: rdf_turtle.pl now processed HTTP URLs transparently.

Sep 24, 2007

  * ADDED: also search for .gz extension for file:// URLs.

Sep 12, 2007

  * ADDED: @base to the turtle parser (Yves Raimond)

Aug 20, 2007

  * ADDED: rdf_turtle.pl: handle """long string""".   Yves Raimond.

Aug 7, 2007

  * FIXED: Error handling for non-terminated <... URI in rdf_turtle.pl.
    Jacco van Ossenbruggen.

Jul 9, 2007

  * MODIFIED: various issues around named graphs and sources.  New option
    db(DB) to rdf_load/2, new predicates rdf_graph/1 and rdf_source/2.

Jul 4, 2007

  * ADDED: various details to rdf_persistency to improve logging transactions.

Jul 2, 2007

  * MODIFIED: Pass nesting level along with begin/end of a transaction.

Jun 29, 2007

  * ADDED: rdf_active_transaction/1 to query active transactions.

Jun 27, 2007

  * FIXED: ensure rdf_attach_db/2 can be retried if the database is locked.
    Enhanced the error message.

  * FIXED/ENHANCED: Possible crash in property-hierarchy handling.  Replacing
    with a much simpler and better algorithm.

  * ENHANCED: Do pooling on open file descriptors to journal files of
    the persistency layer.

  * ADDED: Exploit concurrent/3 in loading persistent databases using
    multiple CPUs.

Jun 14, 2007

  * FIXED: Saving literal(rdf:'XMLLiteral').

Jun 9, 2007

  * FIXED: Avoid type error in literal indexing code when asserting
    non-atom literals.

Apr 27, 2007

  * FIXED: Bug#279: handling rdfs:Container in rdfs_member/2.

Mar 30, 2007

  * FIXED: rdf_has/3 can return triples that should not match.  Jochem
    Liem.

Mar 27, 2007

  * FIXED: Typo in rdf_estimate_complexity/4 docs.

Mar 14, 2007

  * FIXED: rdf_has/3 to use empty reachability matrix after a property
    is added.

  * FIXED: atom-reference issue in rdf_update/[4,5].  Jochem Liem.

Mar 13, 2007

  * FIXED: Send monitor events on begin/end of nested transactions.
    Required to make rdf_persistency work properly if RDF operations
    such as rdf_reset_db and rdf_load are nested in transactions.

Mar 9, 2007

  * FIXED: reset some more fields in rdf_reset_db, avoiding continuous
    re-hash after rdf_reset_db/0.

  * FIXED: rdf_persistency to clear file repository on rdf_reset_db.

Mar 8, 2007

  * FIXED: locking issue in rdf_reachable/3 and maintaining active-query
    count.  Thanks to Jacco van Ossenbruggen and Michiel Hildebrand for
    a reproducable case.

Mar 6, 2007

  * ADDED: application/rdf+xml to rdf_http_plugin.pl.  Yves Raimond.

Mar 5, 2007

  * ADDED: rdf_load/2, allow for base_uri(-URI) to get access to the named
    graph a source is loaded into.  Jacco van Ossenbruggen.

Jan 28, 2007

  * FIXED: rdf_meta declaration for rdf_update/5.  Michiel Hildebrand.

Jan 26, 2007

  * FIXED: Atom-referencing problem in literal index-map.

  * FIXED: Various URL/File issues in rdf_db.pl and rdf_edit.pl.  Fixed
    Triple20 modification issues.  Anjo Anjewierden.

Jan 18, 2007

  * ADDED: loading of rdf embedded in xhtml.  Yves Raimond.

Jan 16, 2007

  * FIXED: Various issues related to persistency handling after introduction
    of new load plugin structure.

  * MODIFIED: Source info as created by rdf_load/2 is now always a URI.

Jan 15, 2007

  * FIXED: cache writing using global dir.

Jan 2, 2007

  * FIXED: Bug#248: bit-matrix handling.  Keri Harris.

Dec 20, 2006

  * ENHANCED: slightly better messages from rdf_turtle.pl

Dec 8, 2006

  * ENHANCED: rdf_load/2 to load plugins dealing with different formats,
    compression and sources such as HTTP.

  * ADDED: rdf_turtle.pl to load Turtle files.

Nov 24, 2006

  * FIXED: subPropertyOf issue.  Michiel Hildebrand.

Nov 9, 2006

  * FIXED: subPropertyOf issues.  Not fully checked yet.

Oct 25, 2006

  * FIXED: Memory leak in rdf_complexity and rdf_reachable using literal
    object.

Oct 24, 2006

  * FIXED: Changed subject was broadcasted as object after rdf_update/4.

  * FIXED: Bug in duplicate administration when using language or type
    qualified literals.  Can cause assertion failure.  With help from
    Jacco van Ossenbruggen.

Oct 11, 2006

  * FIXED: Deal with new absolute_file_name sematics for file_type(directory).

Oct 2, 2006

  * FIXED: rdf_load/2 in combination with rdf_persistency.pl.  Faster and
    avoid leaking file-handles.  Jacco van Ossenbruggen.

  * ADDED: rdf_persistency/2 to control whether or not a database is maintained
    in the persistent database.  E-culture project.

  * ADDED: numerical keys between/2, le/1 and ge/1 to rdf_find_literals/2.
    E-culture project.

Sep 11, 2006

  * ADDED: options base_uri and write_xml_base to rdf_save/2.  Jochem
    Liem.

Aug 27, 2006

  * FIXED: Bug#199: failed to compile in single-thread mode. Keri Harris.

Aug 16, 2006

  * FIXED: Bug#194: Alignment problem.  Keri Harris.

Jul 27, 2006

  * FIXED: use rdf:nodeID for bnodes that are used multiple times.
    "Yves Raimond"

Jul 11, 2006

  * Fixed: Crash in rdf(+S, -P, literal(prefix(+Prefix), -Value)).
    Michiel Hildebrand.

Jun 26, 2006

  * Fail silent on rdf(literal(x), ...) and rdf(S, literal(x), ...).

Jun 21, 2006

  * ADDED: silent(true) as option to rdf_load/2.

Apr 10, 2006

  * Enhanced: rdf_persistency.pl: sort files by size, assuming the schema
    are generally smaller and loading them first reduces re-hashing the
    database.

  * Enhanced: reduce the number of DB re-hashes by not calling the re-hash
    if no subPropertyOf or predicate is involved.

Mar 14, 2006

  * Added: rdf_persistency.pl, copied from SeRQL library.

Mar 13, 2006

  * Added rdf_tokenize_literal/2 and hooks to re-use and customize literal
    tokenization.

Mar 7, 2006

  * Completed integration of new AVL implementation.
  * Added rdf_litindex.pl

Mar 2, 2006

  * Documented first version of literal maps, providing additional indexing
    on literal values.

Feb 28, 2006

  * Modularization
    - Moved atom-specific operations to new source file atom.c
    - Moved locking operations to new source lock.c
    - Moved debugging support to new source debug.c

Feb 27, 2006

  * Fixed: crash in rdf_update/4 modifying a literal under a transaction.
    Michiel Hildebrand.

Feb 22, 2006

  * Fixed ordering issue on wide-character atoms.

Feb 9, 2006

  * Finished first version of indexed prefix and `like' search.

Feb 5, 2006

  * Allow 64-bit integers as arguments of literal(Int).

Feb 1, 2006

  * INTERNAL: completed first step of new literal handling code.  System
    passes internal tests under valgrind memory tests.  Fixed two
    memory leaks that pre-dated this change: using terms as literals
    and reclaiming the temporary datastructures using in rdf_save_db/2.

Jan 31, 2006

  * INTERNAL: 1-st step making literals first class citizens.
  * NOTE: The changes are numerous.  Be aware of possible stability
    problems.

Jan 17, 2006

  * ADDED: exported rdf_quote_uri/2 implementing unicode quoting rules for
    URIs.

Jan 11, 2006

  * FIXED: Avoid exception in rdf_unload/1

Dec 18, 2005

  * FIXED: Added simpleminded handling for updating the database from
    within a monitor.

Dec 5, 2005

  * ADDED: Each instance of rdfs:Datatype is a subclass of rdfs:Literal
    to the rules of rdf_subclass_of/2.

Nov 24, 2005

  * FIXED: Choicepoint in rdf_global_term/2, returning incorrect result
    on backtracking.

Nov 9, 2005

  * FIXED: generate correct XML for datatypes in defined namespaces.
    Ilmars Poikans.

Oct 11, 2005

  * FIXED: rdf_split_url/3 to detect local part more in line with current
    URI specs.

Sep 23, 2005

  * ENHANCED: issue monitor events with holding write lock.

Sep 22, 2005

  * FIXED: mask-handling in rdf_monitor, causing incorrect callbacks.

  * FIXED: bug in cache handling by rdf_load/2, introduced in 2.3.0.

=============
Version 2.3.0
=============

Sep 16, 2005

  * FIXED: Namespace computation (broken in 5.5.30 version).

  * ADDED: rdf_transaction/2 and rdf_monitor/1.

  * MODIFIED: rdf_source/1 also returns sources added using rdf_assert/4,
    i.e. setof(DB, rdf(_,_,_,DB), DBs), member(DB, DBs).

  * FIXED: rdf_update/[4,5]: unlock after type-error in action.


=============
Version 2.2.1
=============

Aug 10, 2005

  * FIXED: Quick Save Format for wide-character atoms.  Saved first
    character as many times as the length of the atom.

Aug 4, 2005

  * ADDED: document_language(+Lang) option to rdf_save/2.  Suggested
    by Mark van Assem.

Jul 15, 2005

  * ADDED/CLEANUP: new rdf_meta/1 directive to simplify namespace
    pre-processing.

Jul 5, 2005

  * ADDED/FIXED: Proper quoting of Unicode URI values conforming the
    RDF standard.  Jochem Liem.

Jun 29, 2005

  * FIXED: rdf:about instead of about when saving lists.  Jochem Liem.

May 24, 2005

  * ENHANCED: Added core statistics

  * FIXED: force re-hashing while loading files to avoid slowdown.

May 20, 2005

  * ADDED: Allow list of files in rdf_load/[1,2]

May 19, 2005

  * ADDED: rdf_register_ns/3, allow overruling old alias.

Apr 26, 2005

  * FIXED: support UNICODE in rdf_save_db/rdf_load_db.  Fabien
    Todescato.

Apr 19, 2005

  * FIXED: rdf_retractall/[3,4] should always succeed.  Bob Wielinga.

Apr 18, 2005

  * ADDED: rdfs_find/5: allow for unbound property list to search all
    properties.

Apr 1, 2005

  * FIXED: memory leak creating many predicate structures on calls to
    rdf(?,+,?) if the predicate does not exist.  This is used by
    rdf_bnode/1.

Mar 29, 2005

  * FIXED: rdf:dataType --> rdf:datatype

Mar 22, 2005

  * ADDED: rdfs_assert_list/3 (adding DB argument)

Mar 8, 2005

  * FIXED: rdf_unload/1: allow for deleting non-files.

Mar 6, 2005

  * FIXED: Added code to emit XML literal values using library(sgml_write).

Mar 01, 2005

  * FIXED/ADDED: encoding issues.  Now allows writing RDF files using
    US-ASCII, ISO latin-1 or UTF-8 (default) encoding.

Feb 24, 2005

  * MODIFIED: rdf_edit.pl: broadcast missing journal instead of creating
    an XPCE dialog.  More flexible and removes XPCE dependency.

Feb 22, 2005

  * FIXED: rdf_save/[1,2] to properly quote attributes.  Anjo Anjewierden.

Feb 18, 2005

  * FIXED: rdf(X,Y,literal(lang(L,W))): not indexed query.   Djamé Seddah.

Jan 27, 2005

  * ADDED: wide-character support in label matching (rdf_match_label/3)
    and literals queries (rdf(S, P, literal(substring(foo), X))).

Nov 29, 2004

  * FIXED: lock language/type atom.    Djamé Seddah.

Oct 19, 2004

  * FIXED: Bug#194: Locking problem using read access inside a
    tranaction. Sandro Hawke.

  * ADDED: Do goal expansion on the argument of rdf_transaction/1. Sandro
    Hawke.

Oct 18, 2004 (version 2.2.0)

  * ADDED: rdf_transaction/1

Oct 13, 2004

  * FIXED: Total reorganisation of the multi-threaded access using
    redesigned locking which allows for one writer and multiple readers.

Oct 12, 2004

  * INTERNAL: Preparing for seperate databases by combining all global
    data in a single structure.

Oct 6, 2004

  * ADDED/FIXED: Various issues in the documentation.

Sep 29, 2004

  * FIXED: Avoid continuous recomputation of `direct' (rdf) branching
    factors.

Sep 28, 2004

  * FIXED: complexity estimate for not-indexed queries (crash).

Sep 14, 2004

  * ENHANCED: Actually start of with small tables and resize them if the
    triple count increases.  Reduces memory usage and improves speed on
    erasing and re-hashing small datasets.

  * FIXED: Bug#183: memory corruption due to invalid free.  Sandro Hawke.
    Same test also provided other consistency errors.

Sep 2, 2004

  * FIXED: rdfs_subclass_of(+Class, -Super) to relate all classes
    implicitely to rdfs:Resource (rdfs entailment rule).

  * FIXED: Bug#182: After rdf_retractall(_,_,_) database cannot be refilled.
    Sandro Hawke.

Sep 1, 2004

  * FIXED: rdf_match_label(like, '*Rijn*', 'van Rijn')

  * ADDED: rdf_predicate_property/2 new properties rdfs_object_branch_factor
    and rdfs_subject_branch_factor.

Aug 31, 2004

  * ADDED: rdf_predicate_property/2 new properties rdf_object_branch_factor
    and rdf_subject_branch_factor.

Aug 27, 2004

  * FIXED: module problem in rdf_db.pl

Aug 26, 2004

  * ADDED: convert_typed_literal option to rdf_save/2.  Bug#171.
    Sandro Hawke.

Aug 19, 2004

  * ADDED: rdf_estimate_complexity/4.

  * ADDED: rdf_predicate_property(+Predicate, triples(-Count)) to find
    the number of triples on a predciate.

Aug 11, 2004

  * FIXED: rdf_load_db/1 now updates the source registration
    (rdf_source/1).

Jul 30, 2004

  * ADDED: rdf_atom_md5/3 for password encryption purposes.

Jul 29, 2004

  * ADDED: matching using the SeRQL compatible `like' operator.

Jul 22, 2004

  * ADDED: Namespace expansion in rdf(S,P,literal(type(xsd:int, 5))).
    Bug#170.  Sandro Hawke.

  * FIXED: rdf(X,X,X) and similar queries.

Jul 15, 2004

  * ENHANCED: Added triple garbage collector.  After Bug#161 by Sandro Hawke.

  * FIXED: Bug#160: rdf_safe_header/2 implementation and documentation.
    Sandro Hawke.

Jun 29, 2004

  * FIXED: rdf_split_url(+, +, -).  Bob Wielinga.

Jun 17, 2004

  * FIXED: pass base_uri option to rdf_load from rdfe_load to avoid clashes
    of bnodes.

Jun 16, 2004

  * FIXED: rdf(-,+,+) was indexed as rdf(-,+,-) if the object is a resource.

Jun 2, 2004

  * ADDED: rdf_is_bnode/1

May 22, 2004

  * FIXED: Literal string matching broken with introduction of
    language support. (Sandro Hawke)

Apr 23, 2004

  * ADDED: first version of lang and dataType support.  Improved test-suite

Apr 22, 2004

  * ADDED: Support for arbitrary Prolog values for `Object'.  This will be
    used to support xml:lang, rdf:dataType and XML literals.

Apr 11, 2004

  * FIXED: rdf:parseType="Collection": XML attribute value _always_ requires
    quotes.  Maarten Menken.

Apr 1, 2004

  * FIXED: Save toplevel anonymous resources unless anon(false) is provided
    in the option list of rdf_save/2.  Simon Price and Dan Brickley.

  * ADDED: Option list to rdf_save/2

Nov 29, 2003

  * FIXED: rdfs_individual_of(+, -) (only generated Resource).

Nov 20, 2003

  * FIXED: Avoid the use of typed nodes if the type-resource cannot be
    expressed as an XML name.

  * FIXED: non-determinism in rdf_node/1 and rdf_bnode/1.

Nov 17, 2003

  * FIXED: rdfs_subclass_of/2 to make all classes a subclass of rdfs:'Class'.

  * FIXED: rdf_save/[1,2] to handle XML escapes `value'
    in rdf:resource="value".

  * ADDED: rdf_bnode/1 to generate a blank node identifier as __bnode<N>

  * ADDED: rdfs_assert_list/2 to create an rdf list from resources.

Nov 7, 2003

  * ADDED: Allows rdf_load/[1,2] to process a stream.  Maarten Menken.

Oct 27, 2003

  * ADDED: installation of owl.owl.

Oct 16, 2003

  * MODIFIED: Add source-file to MD5 computation for triples to make it
    possible to locate the journal snapshot using the MD5.

  * FIXED: Added replay of rdfe_unload/1.

Oct 9, 2003

  * MODIFIED: rdf_md5/2 returns a null-digest for an empty source.

Oct 7, 2003

  * FIXED: rdf_update/[4,5].  Duplicate administration error.

  * MODIFIED: rdfs_label(+Resource, -Label) first returns labels registered
    with rdfs:label and only afterwards with sub-properties thereof.

Oct 6, 2003

  * MODIFIED: rdfs_individual_of(Resource, Class) implicitely assumes all
    resources belong to rdfs:Resource and literal(_) belongs to rdfs:Literal.

Oct 1, 2003

  * MODIFIED: XSD namespace declaration in rdf_db.pl to
    http://www.w3.org/2001/XMLSchema#

Sep 30, 2003

  * FIXED: rdfs_find: every class is supposed to be a subclass of
    rdfs:Resource.  Cleanup of comment

Sep 29, 2003

  * ENHANCED: Store and reload MD5 using rdf_save_db and rdf_load_db for
    speedup of loading and (possible now) verify the integrety of a quick
    load triple file.

Sep 27, 2003

  * ADDED: 1st version of MD5 digest from loaded sources

Sep 24, 2003

  * ADDED: internal administration of triples associated with each source.
    Prolog based counting at the end if either very slow or not thread-safe.

Sep 23, 2003

  * FIXED: rdf_has(-, +, -).  Didn't use proper hash-key, missing
    sub-properties.

Sep 22, 2003

  * ADDED: rdf_reset_db/0 to clear the entire database.

Sep 21, 2003

  * ADDED: rdf_edit.pl: rdfe_register_ns/2 encapsulation of rdf_register_ns/2.

  * ADDED: rdfe_update/4 encapsulation of the new source action for
    rdf_update/4.

Sep 20, 2003

  * FIXED: Unification of source-location

  * ADDED: rdfe_assert/4 (encapsulating rdf_assert/4).

  * ADDED: rdf_update/5.  Allow changing the source data associated with
    a triple.

  * FIXED: Memory management problem in virtual property-hierarchy roots.

Sep 19, 2003

  * FIXED: rdf_update() to properly update the hash-table.

Sep 18, 2003

  * ADDED: timestamps to transaction journal commit operations.

  * ADDED: rdf_edit.pl: named transactions.

Sep 13, 2003

  * FIXED: rehashing on first access/change.

  * FIXED: goal expansion for rdf_retractall/[3,4].

  * ADDED: Handle predicates with multiple rdfs:subPropertyOf triples.

Sep 11, 2003

  * ENHANCED: Duplicate handling

Sep 10, 2003

  * FIXED: Undo/redo administration in rdf_edit.pl

Sep 8, 2003

  * FIXED: rollback in failed transactions.

Sep 4, 2003

  * FIXED: add goal-expansion to rdfe_retractall/3

Sep 2, 2003

  * ADDED: rdfe_transaction_member/2 to inspect actions inside a transaction.

  * FIXED: rdfe_retractall/[3,4] to properly update the journal.

  * FIXED: rdf_assert duplicate administration (crashes rdf_retractall on
    assertion failure).

Aug 18, 2003

  * MODIFIED: Assume ids starting with __ are anonymous

Aug 6, 2003

  * FIXED: namespace generation in rdf_save/2.  Laura Hollink

Aug 01, 2003

  * ADDED: rdf_save/[1,2] to generate rdf:parseType=Collection for anonymous
    rdf lists.

  * FIXED: rdf_save/[1,2]

Jun 23, 2003

  * ADDED: rdf_generation/1

Jun 20, 2003

  * FIXED: Memory leak in rdf_reachable/3.

  * FIXED: Various installation issues

Jun 10, 2003

  * Initial public version
