ARC Release Notes and Change Log

2010-07-06

  • store/ARC2_StoreTableManager.php: add: new value hash columns for s2val and o2val tables for faster index lookups
  • store/ARC2_StoreSelectQueryHandler.php: tweak: switch from mysql_query function to queryDB method / fix: large UNION queries skipped trailing branches / add: fulltext search detection and execution
  • store/ARC2_StoreQueryHandler.php: add: support for hash-value columns (s2val, o2val) / tweak: switch from mysql_query function to queryDB method
  • store/ARC2_StoreLoadQueryHandler.php: tweak: optimize tables less often / tweak: code cleanups / tweak: switch to queryDB method / add: use hash value columns to retrieve subject and object IDs
  • store/ARC2_StoreDumper.php: add: support for a buffer file via store_use_dump_dir, store_dump_dir, and store_dump_suffix (e.g. for monthly dumps) options / tweak: dumps are now created in chunks to avoid DB server timeouts / add: getSafeValue method which fixes some critical character serialization bugs
  • store/ARC2_StoreDeleteQueryHandler.php: tweak: optimize tables less often
  • store/ARC2_StoreCBJSONLoader.php: add: utf8 check before the triple is stored
  • store/ARC2_Store.php: tweak: switch to queryDB / add: support for hash value columns / add: check for fulltext index / add: enableFulltextSearch method / add: disableFulltextSearch method
  • store/ARC2_RemoteStore.php: add: utf8 check of incoming data
  • sparqlscript/ARC2_SPARQLScriptProcessor.php: tweak: simplified array processing / add: support for sps:eval call
  • serializers/ARC2_MicroRDFSerializer.php: add: support for a label-delivering store / add class names derived from the properties / add: first and last class names for object value lists / add: support for 'href' in objects as link target
  • parsers/ARC2_SPOGParser.php: add: support for ISO fallback parsing in case of UTF-8 errors / tweak: improved getEncoding method
  • parsers/ARC2_RDFParser.php: add: getParsedNamespacePrefixes method
  • parsers/ARC2_JSONParser.php: add: utf8-check before triple is added
  • ARC2_Reader.php: add: support for proxy authorization (thanks to Fabio Ricci) / tweak: code refactoring
  • ARC2_Class.php: tweak: camelCase method parameter to keep word boundaries intact / tweak: improved expandPName method / tweak: toHTML method parameter for a label store / add: central queryDB method to replace mysql_query function
  • ARC2.php: tweak: improved getScriptURI method (port 443 triggers https protocol name) / tweak: inc method works safely with safemode now (thanks to Dave Challis) / tweak: toUTF8 method fixes some commmon json_decode-caused chracter bugs / tweak: improved getStructType method / add: getReader method

2010-04-26

  • ARC2: support for caller ref in getStoreEndpoint and getRemoteStore methods / microRDF component hook
  • ARC2_Class: tweak: improved camelCase and deCamelCase methods / add: extractTermLabel method / tweak: improved PName methods / tweak: toHTML method uses new MicroRDF Serializer now / add: new Microdata methods getMicrodataAttrs and mdAttrs shortcut
  • ARC2_SPARQLParser: fix: tweak around xIRI_REF detection
  • ARC2_TurtleParser: fix: tweak around local part detection
  • ARC2_Store: add: getIDValue method (id in, value out)
  • ARC2_StoreDeleteQueryHandler: tweak: cleaning up unconnected graph references more often now
  • ARC2_StoreEndpoint: add: hook for MySQL process tracking
  • ARC2_StoreLoadQueryHandler: tweak: moved keep_time_limit config option to parent class
  • ARC2_StoreQueryHandler: tweak: added keep_time_limit config option
  • ARC2_StoreSelectQueryHandler: fix: temp table switch from mediumint to int to enable larger SUM aggregate results / fix: improved SQL generation around aggregate aliases
  • ARC2_MicroRDFSerializer: added

2010-03-31

  • ARC2.php: minor optimisation
  • ARC2_Class.php: URI detection fix in expandPNames
  • ARC2_Reader.php: added support for data: URIs (hat tip to Christopher Gutteridge)
  • parsers/ARC2_CBJSONParser.php: CrunchBase API JSON parser has been rewritten
  • parsers/ARC2_JSONParser.php: more compliant processing when native json_decode is not available
  • parsers/ARC2_TurtleParser.php: max number of loops during large object parsing from a stream is now a config option ("turtle_max_parsing_loops", default: 500)
  • serializers/ARC2_NTriplesSerializer.php: improved URI detection
  • store/ARC2_StoreLoadQueryHandler.php: minor tweaks

2010-03-12

  • Reader (fix/tweak): Better support for servers sending relative location headers (Thanks to Christopher Gutteridge)
  • NTriplesSerializer (fix): more spec-strict escaping in non-raw mode
  • RDFJSONSerializer (fix): debugging left-over caused broken output (Thanks to Michael Panzer)

2010-02-23

  • Core (fix): improved toUTF8 and getUTF8Char methods
  • Class (add): improved camelCase method, added deCamelCase method
  • Reader (fix): improved auth and port handling
  • Resource (fix): nasty typo fixed in setProp method (thx to Stephane Corlosquet)
  • getFormat (fix): improved SPARQL results detection
  • TurtleParser (fix): improved WS/non-WS handling around CURIEs (thx to Stephane Corlosquet)
  • RDFJSONSerializer (fix): improved escaping (thx to Gareth Jones)
  • RDFXMLSerializer (fix): improved QName generation
  • RemoteStore (fix): memory leaked (thx to Paul Houle)
  • DeleteQueryHandler (fix): less greedy triple deletion when datatype or language are declared (thx to Nicholas Rawlings)
  • LoadQueryHandler (tweak): getOComp now always keeps some trailing chars for improved sorting of URIs
  • SelectQueryHandler (fix): improved cleanup of temp tables in case of unexpected MySQL errors

2010-01-15

  • StoreLoadQueryHandler (fix): regex fix in getOComp (thx to Alexandre Passant)

2010-01-04

  • ARC2 (fix): splitURI was too greedy on special namespaces like xhtml or atom (thx to Michael Panzer)
  • SelectQueryHandler (fix): new block parentheses-ing broke regex in FILTER rewriter (thx to Dan Brickley)