Revision history for Perl extension RDFStore.
version 0.42 - Fri Aug 31 17:31:13 CEST 2001
-------------------------------------------------------------------------------------------
Updated Makefiel.PL
utils/
- added rdf2n3p.pl to test cases as part of the RDF Core working group (see
http://www.w3.org/2001/sw/RDFCore/ntriples/)
- updated rdf.pl
- updated rdfquery.pl
- updated rdfingest.pl
- updated dbcat
RDFStore::Parser::SiRPAC
- updated accordingly to RDF Core Working Group decisions (see
http://www.w3.org/2000/03/rdf-tracking/#attention-developers)
* rdf-ns-prefix-confusion (carp if error)
* rdfms-abouteachprefix (removed aboutEachPrefix)
* rdfms-empty-property-elements (updated processDescription() and processPredicate())
* rdf-containers-formalmodel (updated processListItem())
- added RDFCore_Issues option
- fixed bug when calling setSource() internally
- updated makeAbsolute()
- fixed bug in processListItem() when calling processContainer()
- fixed bug in processPredicate() for empty predicate elements having zero attributes
Data::MagicTie
- fixed compilation bug while strict subs when missing DB_File
t/
- updated magictie.t
- updated rdfstore.t
RDFStore::Statement
- updated toString() and getDigest()
RDFStore::Model
- complete redesign of the indexing method up to free-text search on literals
- added tied array iterator RDFStore::Model::Statements to allow fetching results one by one
- modified find() to allow a 4th paramater to make free-text search over literals
RDFStore::SetModel
- updated accordingly to new RDFStore::Model
version 0.41 - Thu Jul 12 17:11:02 CEST 2001
-------------------------------------------------------------------------------------------
RDFStore::Parser::SiRPAC
- fixed bug with XML::Parser 2.30 using expat-1.95.1
* XMLSCHEMA set to http://www.w3.org/XML/1998/namespace (see http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-using)
* added XMLSCHEMA_prefix
- changed RDF_SCHEMA_NS to http://www.w3.org/2000/01/rdf-schema#
RDFStore::Parser::OpenHealth
- fixed bug with XML::Parser 2.30 using expat-1.95.1
* XMLSCHEMA set to http://www.w3.org/XML/1998/namespace (see http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-using)
* added XMLSCHEMA_prefix
- changed RDF_SCHEMA_NS to http://www.w3.org/2000/01/rdf-schema#
RDFStore::Stanford::Digest::Util
- updated digestBytes2HashCode()
RDFStore::Model
- updated _getLookupValue() and _getValuesFromLookup() to consider negative hashcodes
RDFStore::Literal
- added getDigest() to generate the digest using quotes and the label
Data::MagicTie
- fixed compilation bug while strict subs
- added a warning in del_dup() if not supported by underlying DB_File library
- updated _untie() to avoid warnings while untie databases
t/
- updated rdfstore.t
- updated parser.t
- updated magictie.t moving DBMS specific code to dbms/DBMS/t/magictie.t
version 0.4 - Mon Jun 18 17:18:36 CEST 2001
-------------------------------------------------------------------------------------------
This a major release. A lot of changes ahs been made to the storage system in parituclar
the dbms/ TCP/IP has been compeltely updated and the Data::MagicTie BerkeleyDB has been
updated to make properly DB locking to handle concurrency and avoid dead-locks situations.
The API modified accordingly to the latest changes in the Stanford Java API 2001-01-19 distribution.
(see http://www-db.stanford.edu/~melnik/rdf/rdf-api-2001-01-19.zip)
The SiRPAC parser has been also updated accordingly to the latest W3C
version at http://www.w3.org/RDF/Implementations/SiRPAC/
Updated documentation of all the perl modules and fixed a few typo warnings.
dbms/CHANGES
- added separated changes file for the DBMS module
Makefile.PL
- updated
RDFStore
- removed FindIndex module
RDFStore::Stanford::Vocabulary::Generator
- fixed bug in dumpVocabulary() when matching input namespace (escape plus signs)
and output full qualified package variable names of voc properties
- fixed bug in createVocabulary() when check package name
- fixed miss-spelling bug in toPerlName()
- fixed a few warnings
- updated accordingly to new RDFStore::Model
RDFStore::Model
- modifed add() to return undef if the triples exists already in the database
- changed way to return undef in subroutines
- adapted to use the new Data::MagicTie interface
- complete re-design of the indexing and storage method
- added getOptions() method
- Devon Smith <devon@taller.pscl.cwru.edu> changed getDigestBytes() to generate digests and hashes
that match Stanford java ones exactly
- added inheritance from RDFStore::Stanford::Digest::Digestable
- removed RDFStore::Stanford::Resource inheritance
RDFStore::Resource
- added check on local name when create a new Resource
- allow creation of resources from URI(3) objects or strings using XMLNS LocalPart
- hashCode() and getDigest() return separated values for localName and namespace if requested
RDFStore::SetModel
- updated accordingly to new RDFStore::Model
RDFStore::Parser::Styles::MagicTie
- modified Assert() to print only new statements
Data::MagicTie
- complete redesign of Data::MagicTie. Dropped Data::MagicTie::(DBMS|DB_File|BerkeleyDB) modules
Everything is self contained in one model now.
- changed options labels
- modified mode option managemnt
- added checking if DBMS, BerkeleyDB, DB_File or SDBM_File styles can not be loaded
- changed way to return undef in subroutines
- remove db files directory if tie operation fails
- FIRSTKEY() and NEXTKEY() methods optimised
- use File::Path module to create and remove directories to be portable
- changed mode to DB_BTREE for DB_File TIEHASH
- added BerkeleyDB file locking in TIEHASH and TIEARRAY
- took off a few useless sync() calls
- dropped lr (local/remote) option
- dropped noft (no freeze/thaw) option
- added in-memory style
- added sharing option
- added SDBM_File default style
- fixed warning in _keyDB()
- added perl version checking for Data::MagicTie::Array methods
- added multiple reader/single writer locking support for DB_File
- does not generate multiple '.db' extensions to files in _tie()
t/
- updated magictie.t
- added rdfstore.t
samples
- zapped a few examples
- updated test.pl
samples/rdf
- zapped a few examples
samples/rdf/vocabularies
- zapped a few examples. Updated DAML and foaf schemas
- added RSS schema
- added XML infoset RDF Schema
- zapped DublinCore
- added 22-rdf-syntax-ns, rdf-schema, 13-dces and 13-dcq
RDFStore::Vocabulary::DCQ
- added DCQ vocabulary http://dublincore.org/2000/03/13-dcq#
RDFStore::Vocabulary::DC
- updated accordingly to RDFStore::Stanford::Vocabulary::Generator changes and http://dublincore.org/2000/03/13/dces#
RDFStore::Vocabulary::DAML
- updated accordingly to RDFStore::Stanford::Vocabulary::Generator changes and http://www.daml.org/2001/03/daml+oil.daml
RDFStore::Vocabulary::RDF
- updated accordingly to RDFStore::Stanford::Vocabulary::Generator changes
- removed rdf:Description, rdf:resource, rdf:about, rdf:aboutEach, rdf:anboutEachPrefix, rdf:ID, rdf:parseType, rdf:parseType (it is up to the application to build resources with them using $RDF::_Namespace)
RDFStore::Vocabulary::RDFS
- updated accordingly to RDFStore::Stanford::Vocabulary::Generator changes
RDFStore::Stanford::Digest::Util
- fixed stupid/braindead bug when disable warnings- Thanks to Marc Lehmann <pcg@goof.com>
- added getDigestAlgorithm() method
- Devon Smith <devon@taller.pscl.cwru.edu> changed digestBytes2HashCode() and toHexString() to
generate digests and hashes that match Stanford java ones exactly
RDFStore::Parser::OpenHealth
- changed way to return undef in subroutines
- fixed warnings in getAttributeValue()
RDFStore::Parser::SiRPAC
- changed way to return undef in subroutines
- now creation of Bag instances for each Description block is an option
- fixed bug in getAttributeValue() when check attribute name
- fixed bug in setSource() when add trailing '#' char
- bug fixing by rob@eorbit.net
* Some of the generated URIs were not prepended with #
* The parser spits out lots of 'undefined value used' during the parsing process
- fixed warnings in getAttributeValue(), RDFXML_StartElementHandler()
- added GenidNumber parameter
- updated accordingly to http://www.w3.org/RDF/Implementations/SiRPAC/
- bug fix in reify() when generate the subject property triple
- added getReificationCounter()
RDFStore::Statement
- changed way to return undef in subroutines
- fixed warning in getDigest()
- updated new() equals() and added hashCode() accordingly to rdf-api-2001-01-19
- Devon Smith <devon@taller.pscl.cwru.edu> changed getDigest to generate digests and hashes
that match Stanford java ones exactly
RDFStore::RDFNode
- fixed bug in hashCode() to avoid bulding the digest each time
- added inheritance from RDFStore::Stanford::Digest::Digestable
RDFStore::NodeFactory
- changed way to return undef in subroutines
- implemented createOrdinal()
RDStore::Literal
- modified getLabel() and getURI() to return a lebel even if the Literal is a BLOB (using Storable)
- updated equals() method to make a real comparison of BLOBs using Storable module
utils/
- updated rdf.pl, rdfingest.pl, rdfquery.pl and vocabulary-generator.pl
- updated dbcat
RDFStore::Stanford::Digest::Digestable
- added new module which represent objects that can produce a digest
version 0.31 - Fri Dec 22 15:31:14 CET 2000
-------------------------------------------------------------------------------------------
This version has renamed all the Perl packages making RDFStore ready to be published to
the Perl CPAN archive. The module names have been mapped as follows:
version<=0.3 version>=0.31
================================================================================
Data::MagicTie::Client Data::MagicTie::DBMS
Data::MagicTie::DB_File (unchanged)
Data::MagicTie::BerkeleyDB (unchanged)
Data::MagicTie (unchanged)
RDF::Digest::Abstract RDFStore::Stanford::Digest::Abstract
RDF::Digest::Util RDFStore::Stanford::Digest::Util
RDF::Digest::MD5 RDFStore::Stanford::Digest::MD5
RDF::Digest::Generic RDFStore::Stanford::Digest::Generic
RDF::Digest::SHA1 RDFStore::Stanford::Digest::SHA1
RDF::Vocabulary::RDFS RDFStore::Vocabulary::RDFS
RDF::Vocabulary::Generator RDFStore::Stanford::Vocabulary::Generator
RDF::Vocabulary::DC RDFStore::Vocabulary::DC
RDF::Vocabulary::DAML RDFStore::Vocabulary::DAML
RDF::Vocabulary::RDF RDFStore::Vocabulary::RDF
RDF::Store::SchemaModel RDFStore::SchemaModel
RDF::Store::Model RDFStore::Model
RDF::Store::NodeFactory RDFStore::NodeFactory
RDF::Store::RDFNode RDFStore::RDFNode
RDF::Store::Resource RDFStore::Resource
RDF::Store::Statement RDFStore::Statement
RDF::Store::SetModel RDFStore::SetModel
RDF::Store::VirtualModel RDFStore::VirtualModel
RDF::Store::FindIndex RDFStore::FindIndex
RDF::Store::Literal RDFStore::Literal
RDF::RDFNode RDFStore::Stanford::RDFNode
RDF::Model RDFStore::Stanford::Model
RDF::Statement RDFStore::Stanford::Statement
RDF::NodeFactory RDFStore::Stanford::NodeFactory
RDF::SetModel RDFStore::Stanford::SetModel
RDF::VirtualModel RDFStore::Stanford::VirtualModel
RDF::Literal RDFStore::Stanford::Literal
RDF::Store RDFStore::Stanford::Store
RDF::Digest RDFStore::Stanford::Digest
RDF::Resource RDFStore::Stanford::Resource
XML::Parser::PenRDF::RDFStore RDFStore::Parser::Styles::MagicTie
XML::Parser::PenRDF RDFStore::Parser::SiRPAC
XML::Parser::PenRDFStrawman RDFStore::Parser::OpenHealth
The only Perl package namespace "invaded" is the Data one with the Data::MagicTie modules.
In addition the documentation has been updated and the API modified accordingly to the latest
changes in the Stanford Java API 2000-12-05 distribution.
(see http://www-db.stanford.edu/~melnik/rdf/rdf-api-2000-12-05.zip)
RDFStore::FindIndex
- added new index storage method. Does not use Freezed/Thawed arrays if possible
RDFStore::Stanford::Digest::Util
- fixed nusty bug in digestBytes2HashCode() to cast hash code to INTEGER
Data::MagicTie
- added get_Options() method
Data::MagicTie::BerkeleyDB
- completely modified the access methods to Sleepycat library and DBs - see Data::MagicTie::DB_File(3)
RDFStore
- added use (include) of all RDFStore modules suite
RDFStore::Model
- fixed bug in add() when adding statements with a Literal value
- commented out isEmpty() check in find() due to DBMS(3) efficency problems
- updated toStrawmanRDF() method
- modifed add() to avoid update of existing statements
RDFStore::Stanford::NodeFactory
- fixed the parameters checking when create Statements
RDFStore::Parser::SiRPAC
- fixed bug in parse_start() and parse() to check $file_or_uri
is a reference to an URI object
- changed wget() Socket handle to work with previous Perl versions (not my $handle) and
do HTTP GET even on HTTP 'Location' redirect header
- fixed bug in RDFXML_CharacterDataHand() when trim text and $preserveWhiteSpace
- fixed bug in processTypedNode() when remove attributes
- commented off croak in expandAttributes() when 'expanding predicate element' for
production http://www.w3.org/TR/REC-rdf-syntax/#typedNode for xhtml2rdf stuff
RDFStore::Parser::OpenHealth
- changed wget() Socket handle to work with previous Perl versions (not my $handle) and
do HTTP GET even on HTTP 'Location' redirect header
- little change when checking if a prefix is undefined
utils/
- added rdfingest.pl to ingest (S,P,O) comma separated text files right the way
- updated rdf.pl rdfquery.pl
- added bagIDs option to rdf.pl
version 0.3 - Tue Nov 28 14:02:10 CET 2000
-------------------------------------------------------------------------------------------
This version has updated the Perl modules set accordingly to the latest chnages in the Stanford
Java API 2000-11-13 distribution. (see http://www-db.stanford.edu/~melnik/rdf/rdf-api-2000-11-13.zip)
Almost all modules have been fixed when checking references/pointers (defined and ref() )
RDF::Store::FindIndex
- fixed bugs when checking references/pointers (defined and ref() )
XML::Parser::PenRDF
- fixed bug in expandAttributes() when expand rdf:value
- Modified addOrder() expandAttributes() accordingly to rdf-api-2000-11-13
- fixed bug in parse() parse_start() to set the Source right
- fixed bug in RDFXML_StartElementHandler() when parseLiteral process attributes also
- fixed bug in processTypedNode() to manage new attlist way
- fixed bug in processPredicate() to manage new attlist way
- fixed bugs due to the modifications due rdf-api-2000-10-30. Now $n->{tag} is either
$n->name() or $n->localName(); code got more clear also
- fixed addTriple() and reify() - more checking and modified to manage right $subject
XML::Parser::PenRDF::RDFStore
- fixed bug in Assert() checking if $st is a ref and valid RDF::Statement
RDF::Vocabulary::RDFS
- changed namespace to http://www.w3.org/2000/01/rdf-schema#
RDF::Store::Model
- fixed bug in find(). Check the type of $t before using methods on it
- added toStrawmanRDF() to serialise the model in strawman RDF for
XML::Parser::PenRDFStrawman
- fixed bug in create()
- modified updateDigest() method accordingly to rdf-api-2000-11-13
RDF::Vocabulary::Generator
- fixed bug in toPerlName() and dumpVocabulary() avoid grep regex checking
RDF::Store::SchemaModel
- added getLocalName() and getNamespace() to delegate to instances
- changed checking to RDF::SetModel type
- modified toString()
- fixed miss-spell in validate()
Data::MagicTie::Client
- fixed bug in FIRSTKEY(). Do not call keys and each anymore.
utils/
- little bit of changes in rdf.pl and rdfquery.pl
- rdfquery.pl query syntax changed
version 0.2 - Mon Nov 13 14:56:46 CET 2000
-------------------------------------------------------------------------------------------
This version updates the whole Perl modules set accordingly to the latest chnages in the Stanford
Java API 2000-10-30 distribution. (see http://WWW-DB.Stanford.EDU/~melnik/rdf/rdf-api-2000-10-30.zip)
XML::Parser::PenRDF/XML::Parser::PenRDFStrawman
- fixed bug in parsefile() to read URL-less filenames
(version0.1 was working only with 'file:' URL prefix)
- fixed a lot of bugs/inconsistences in new(), parse(), setSource(), parsestring()
processXML() in the fetchSchema part, makeAbsolute()
- added parse_start a la XML::parser for no-blocking stream
parsing using XML::Parser::ExpatNB
- pod documentation updated
- does not use URI::file anymore
- Modified createResource(), XML::Parser::PenRDF::Element and
XML::Parser::PenRDF::DataElement accordingly to rdf-api-2000-10-30
- General bug fixing
XML::Parser::PenRDF::RDFStore
- Init() now setSourceURI() for the model
- now the result set is a SetModel
RDF::Resource, RDF::NodeFactory, RDF::Store::Literal, RDF::Store::NodeFactory,
RDF::Store::RDFNode,RDF::Store::Resource,RDF::Store::Statement
- Modified accordingly to rdf-api-2000-10-30
RDF::Store::Model
- fixed bug in new() to check if triples is HASH ref when passed by user
- fixed bug in find() do avoid to return instances of SetModel (see SchemaModel.pm also)
Now result sets are put in an object(model) of the the same type - see find()
- modified add() remove() clone() duplicate() and added toString() makePrivate()
getNamespace() getLocalName() methods accordingly to rdf-api-2000-10-30
- modifed new(), duplicate(), clone() and find() to support cloned models
- modified find() to manage normal Models and indexed Models differently
- added optional indirect indexing to find() i.e. the FindIndex
stores just digested keys and not the full BLOB; fetch from an
index then require an additional look up in triples
RDF::Vocabulary::Generator
- added more magic keywords to 'reservedWords' list (my, local)
- Modified createResource() accordingly to rdf-api-2000-10-30
RDF::NodeFactory
- pass @_ array to new methods
Data::MagicTie
- fixed warning messages
RDF::Store::SetModel
- fixed bug in intersect()
- now all methods return the modified model
RDF::Store::FindIndex
- fixed miss-spelling bug in remove()
- added indirect indexing support to be de-referenced by the caller
Model object.
samples/
- fixed bugs in rdf.pl and rdfquery.pl
- rdfquery.pl uses SetModel to unite (||), intersect (&&), subtract(!),
version 0.1 - 2000/11/03 at 04:30 CEST
-------------------------------------------------------------------------------------------
- first public version