-
Notifications
You must be signed in to change notification settings - Fork 90
Old Release Notes
2010-10-06
- upgraded to PHP5 (aiming at PHP 5.3 E_STRICT compatibility)
- several tweaks and fixes
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)
2009-12-15
- Class (fix): call-by-reference errors in shortcut methods (v/v1/m)
- Reader (add): support for cnonce re-use for more efficient Digest Auth operations
- RemoteStore (tweak): support for cnonce re-use during Digest Auth
- AskQueryHandler (tweak): new parameter structure in getFinalQueryResult
- SelectQueryHandler (add): experimental config option: store_cache_results (intermediate tables are kept)
- SelectQueryHandler (tweak): major refactoring for improved table JOINing (in the future) and better code readability
2009-12-07
- ARC2 (fix): improved splitURI method (thanks to Jeff Stuckman)
- ARC2 (tweak): getComponent accepts caller objects as 3rd parameter now
- Resource (add): setProp method
- RDFParser & RDFXMLParser (tweak): set_time_limit is now called automatically (unless keep_time_limit is set to true via the configuration)
- Store (add): checkTables and repairTables methods
- LoadQueryHandler (tweak): improved code to auto-repair broken mysql tables, new config option: store_reset_on_table_crash
2009-11-24
- ARC2 (fix): splitURI bug around slash/hash-free URIs and special namespaces (thx to Jeff Stuckman)
- RDFXMLSerializer (fix): index structures with flat object values caused an error in getNodeTag method
- TurtleSerializer (tweak): certain schema terms will be serialized to qnames ( rdfs:domain/range etc)
- StoreSelectQueryHandler (fix): long table/store names (> 64 chars) caused MySQL errors when TMP tables were created
- Reader (tweak): increased the length in fgets during header parsing to support long headers
2009-11-16
- Reader (tweak): multi-value response headers are now turned into arrays
- TurtleParser (tweak): improved error reporting (thx to Frederick Giasson)
2009-11-09
- ARC2 (add): Atom ns detection, getRSS10Serializer method
- Class (add): toRSS10 method
- Reader (tweak): improved SSL support (thx to Hannes Muehleisen)
- RDFExtractor (tweak): use of img @alt in getPlainContent is now optional
- RdfaExtractor (fix): no use of img @alt any more (thx to Toby Inkster)
- RSSParser (add): support for Atom links (only the href value)
- RDFXMLSerializer (add): support for default xmlns and typed nodes
- StoreEndpoint (fix): auto-setup triggered a PHP notice
- RSS10Serializer (1st version) (thx to Toby Inkster)
2009-10-21
- SPARQLPlusParser (tweak): Anticipating possible notation for SPARQL 1.1 aggregates and GROUP BY
- RemoteStore (add): getDomains method
- StoreEndpoint (add): TSV result format for SELECT queries
- SelectQueryHandler (fix): better UNION support (Thanks to Periklis Stavrou and Toby Inkster)
- TurtleParser (fix): <> was no longer working after tweak in rev 2009-10-05
- LoadQueryHandler (fix): getOComp created PHP warnings
2009-10-16
- Resource (add): setIndex() method
- getFormat (fix): improved n-triples detection (Thanks to Stéphane Corlosquet)
- RemoteStore (tweak): improved error check for empty results
2009-10-05
- TurtleParser (tweak): more relaxed xIRI_REF method allows WS now
- RemoteStore: minor tweaks/fixes
- Store_LoadQueryHandler (tweak): improved support for multibyte characters in the comparison column
2009-09-28
- StoreEndpoint (fix): don't set empty parameters in p() method (Thanks to Periklis Stavrou)
2009-09-23
- Class (add): max_errors config option
- StoreLoadQueryHandler (fix): more UTF8-friendly getOComp method (Thanks to Masahide Kanzaki & Fumihiro Kato)
- StoreLoadQueryHandler (tweak): getOComp tries to convert datetime values to UTC now
2009-09-08
- Class: (tweak) getResource method
- Reader: (add) basic support for Digest Auth
- Resource: (add) a store can be used as data source
- Resource: (add) getPropValues method
- Store: (add) config option store_engine_type (default: MyISAM)
- Store: (fix) parameter mismatch related to the LoadQueryHandler (Thanks to Will Daniels)
2009-08-21
- new component: Resource
- new method: completeQuery (PREFIX-injection)
- Reader: new method: getResponseHeaders
- RDFa: fixes, +3 test case PASSes (thx to Toby Inkster & Masahide Kanzaki)
- Class: auto-populate POST (php5 bug)
- Class: refactored *PName methods
- new methods: toIndex, toTriples, checkRegex
- Parsers: unsetting reader object to fix garbage collection
- SelectQueryHandler: improved LIKE-check for REGEX-rewriting
- Class: used prefixes were not logged, leading to serialization gaps
- Class: fixed root calculation bug in calcURI
- Class: new methods: toDataURI/fromDataURI
- ARC2_SPARQLScriptProcessor: improved automatic PREFIX injection
- ARC2_RemoteStore: added automatic PREFIX injection and getResourceLabel method
- ARC2_StoreSelectQueryHandler: fixed missing brackets in getExpressionSQL.
- Reader: Improved timeout handling
- Reader: support for port in http header (thx to Roan O'Sullivan)
- Slowly starting to switch to inline PHPDoc documentation
- Atom_Parser: Addition: support for link types
- DeleteQueryHandler: Addition: cleanValueTables method (auto-called every 500 DELETE queries)
- Class: new method: resetErrors
- Class: switch from getScriptURI to getRequestURI in init()
2009-03-05
- Tweak in ARC2_TurtleParser: xIRI_REF is less strict now, the SPARQLParser got its own check
- Addition in ARC2_SPARQLParser: dedicated xIRI_REF method
2009-03-04 Note: The store's MySQL table structures changed. This version might not be fully compatible with previous revisions!
- Removal: ARC2_StoreInferencer
- Tweak in ARC2_StoreTableManager: removed cid column
- Addition in ARC2_StoreTableManager: store_indexes config option
- Addition in ARC2_StoreTableManager: extendColumns() method, changes mediumint to int
- Tweak in ARC2_Store: removed Inferencer calls
- Tweak in ARC2_StoreQueryHandler: removed cid parameter in getTermID() method
- Tweak in ARC2_StoreSelectQueryHandler: removed "cid" references
- Tweak in ARC2_StoreLoadQueryHandler: removed "cid" references
- Addition in ARC2_StoreLoadQueryHandler: column checks
- Addition in ARC2_StoreLoadQueryHandler: store_write_buffer config option
- Tweak in ARC2_TurtleSerializer: support for "raw" parameter to skip getHead method
- Tweak in ARC2_Class: support for "raw" parameter in toTurtle and toRDFXML methods
- Tweak in ARC2_Reader: Improved error message on empty file:// base
- Tweak in ARC2_TurtleParser: "{" and "}" are now allowed in xIRI_REF
2009-02-12
- Fix in ARC2_RDFXMLSerializer: Scheme-detection: scheme must have at least 2 chars, thanks to Eric Schoonover)
- Fix in ARC2_TurtleParser: improved xString() method (Thanks to Paul A. Houle)
- Tweak in ARC2_JSONParser: "null" is now supported by extractValue() method
2009-02-09
- Fix: replacing \xA0 and \xC2 was too greedy in method x(), moved to TurtleParser (Thanks to Fumihiro Kato)
- Tweak in ARC2_TurtleParser: leading \xA0 and \xC2 are removed in x() method (Thanks to Fumihiro Kato)
- Tweak: toUTF8 is now config-bound via "adjust_utf8" option (default: no)
- Addition in ARC2_Store: getCollation() method
- Tweak in ARC2_Store: DB connection uses UTF-8 only with conforming table collations
- Tweak in ARC2_RdfaExtractor: getRootNode returns 1st node if html tag is not found
- Tweak in ARC2_ErdfExtractor: getRootNode returns 1st node if html tag is not found
- Addition in ARC2_SemHTMLParser: Support for RDFa detection via typeof/property/about
- Tweak in ARC2_TurtleSerializer: only predicates and type values are turned into pnames
- Tweak in ARC2_RDFXMLSerializer: pretty-printed RDF containers are now mozilla-happy (Thanks to Peter Dixon-Moses)
2008-11-18
- Fix: x() method works with \xA0 and \xC2 in leading whitespace now
- Fix in ARC2_RDFExtractor: Skip comments (Thanks to Masahide Kanzaki)
- Fix in ARC2_TurtleParser: xIRI_REF accepts single quots now instead of back-ticks (Thanks to Paul Houle)
- Fix in ARC2_LegacyXMLParser: nsDecl led to warnings when uri was an array
- Fix in ARC2_Store and Query Handlers: mysql_* functions explicitly use the store's DB connection (Thanks to Davide Principi)
- Addition: inc() method accepts custom paths now (Thanks to Alexandre Passant)
- Addition: ARC2_PoshRdfExtractor (see poshRDF.org)
- Addition in ARC2_SemHTMLParser: Support for RDFa detection via xmlns
- Addition in ARC2_Store: support for "store_triggers_path" config option
- Rewrite: Replaced individual microformats extractors with generic ARC2_MicroformatsExtractor
- Tweak in ARC2_SemHTMLParser: adjusted default_sem_html_formats
- Tweak in ARC2_TurtleParser: Improved xPlaceholder method
- Tweak in ARC2_SPARQLParser: LIMIT accepts placeholder now
- Tweak in ARC2_POSHRDFSerializer: Updated to poshRDF spec draft
- Tweak in ARC2_SPARQLScriptProcessor: GET/POST placeholders have to be uppercase now
2008-09-30
- Addition: ARC2_AtomParser
- Addition: ARC2_StoreAtomLoader
- Addition in ARC2_Reader: timeout parameter for socket streams, not fully working yet, though
- Addition in ARC2_RDFXMLSerializer: support for pretty-printed rdf containers
- Addition in ARC2_LegacyXMLParser: getNodeContent and getSubNodes methods
- Addition in ARC2_RDFParser: Support for Atom
- Addition in ARC2_StoreLoadQueryHandler: Atom support
- Addition in ARC2_SPARQLScriptProcessor: processFunctionCallBlock method
- Addition in ARC2_SPARQLScriptParser: support for FunctionCall
- Addition in ARC2_RemoteStore: support for "store_read_key" and "store_write_key" config options
- Tweak in ARC2_Class: forwarding complete config array to "to*" serializer methods now
- Tweak in ARC2_TurtleParser: Improved xPlaceholder method
2008-09-12
- Fix in ARC2_StoreSelectQueryHandler: added "0+"-casting to numeric aggregates in getResultVarsSQL
- Fix in ARC2_StoreSelectQueryHandler: bound() against a graph var was always rewritten to FALSE
- Fix in ARC2_StoreInsertQueryHandler: empty CONSTRUCT results were not caught, which led to a GET in LOAD
- Fix in ARC2_TurtleParser: a cut-off, leading DOT in the buffer during prologue parsing led to an error
- Fix in ARC2_SPARQLParser: trailing comments led to a parsing error
- Fix in ARC2_NTriplesSerializer: improved literal/uri detection
- Fix in ARC2_TurtleSerializer: improved literal/uri detection
- Fix in ARC2_SPARQLScriptParser: query blocks were not always extracted correctly
- Tweak in ARC2_StoreInsertQueryHandler: INSERT CONSTRUCT will keep bnode ids unchanged
- Tweak in ARC2_SPARQLScriptProcessor: loop count in replacePlaceholders
- Addition in ARC2_TurtleParser: Placeholders are allowed in xIRI_REF, i.e. angle brackets
- Addition in ARC2_NTriplesSerializer: Support for "raw" turtle-like terms
- Addition in ARC2_RDFSerializer: "raw" parameter (for NTriples Serializer)
- Addition in ARC2_SPARQLScriptProcessor: "replace()" in getPropertyValue
- Addition in ARC2_Class: "raw" parameter in toNTriples() method (for unescaped Turtle terms)
2008-09-03
- Fix in ARC2_StoreSelectQueryHandler: improved lang_dt check in getLiteralExpressionSQL (Thanks to John Storey)
- Addition in ARC2_StoreSelectQueryHandler: basic support for xsd:* wrappers and math operations in filters
- Addition in ARC2_StoreEndpoint: support for "sql" and "infos" result formats (activate the former via "endpoint_enable_sql_output")
- Tweak in ARC2_RemoteStore: Improved error check
2008-08-28
- Addition: getUTF8Char for multi-byte string support
- Addition in ARC2_StoreSelectQueryHandler: aggregate aliases can now be used in FILTERs
- Addition in ARC2_SemHTMLParser: Support for RDFa detection via @version
- Addition in ARC2_RdfaExtractor: Support for @version
- Addition in ARC2_StoreEndpoint: XML, JSON, and PHPSER result formats for LOAD, INSERT and DELETE queries
- Addition in ARC2_SPARQLXMLResultParser: Support for "inserted" and "deleted"
- Addition in ARC2_RemoteStore: Support for load, insert, and delete results
- Addition in ARC2_Store: support for query queues
- Fix in ARC2_StoreSelectQueryHandler: !REGEX is rewritten to NOT REGEXP now
- Fix in ARC2_RdfaExtractor: getAttributeURIs didn't consider prefixes from the local context (Thanks to Masahide Kanzaki)
- Fix in ARC2_StoreEndpoint: bg image wasn't served correctly, "show inline" only worked when go() was called, missing space after LIMIT in default query
- Tweak in ARC2_StoreSelectQueryHandler: Simple REGEX' are rewritten to LIKE now
- Tweak in ARC2_CBJSONParser: Removed inferred "full_permalink", there is a native "crunchbase_url" now
2008-08-04
- Addition: ARC2_JSONParser
- Addition: ARC2_CBJSONParser
- Addition: ARC2_StoreCBJSONLoader
- Addition: getSGAJSONParser and getCBJSONParser methods
- Addition: getStructType method
- Addition: getPreferredFormat method
- Addition: ARC2_LegacyXMLSerializer
- Addition: ARC2_LegacyJSONSerializer
- Addition: ARC2_POSHRDFSerializer
- Addition: ARC2_HatomExtractor
- Addition: toUTF8 method
- Addition in ARC2_getFormat: Support for CrunchBase JSON
- Addition in ARC2_Reader: basic support for fixing chunked responses despite sending an HTTP 1.0 request
- Addition in ARC2_Reader: added ping_only config option for background processes
- Addition in ARC2_Class: toLegacyXML, toLegacyJSON, toLegacyHTML, toHTML methods
- Addition in ARC2_RDFParser: CrunchBase API JSON support
- Addition in ARC2_RDFParser: reset method to free memory
- Addition in ARC2_StoreLoadQueryHandler: CrunchBase API JSON support
- Addition in ARC2_TurtleParser: Placeholders are allowed as triple blocks
- Addition in ARC2_TurtleParser: toUTF8 call in xString (Thanks to Alexandre Passant)
- Addition in ARC2_SPARQLParser: added Placeholder check to xGroupGraphPattern method
- Addition in ARC2_SemHTMLParser: Support for hAtom
- Addition in ARC2_SPARQLScriptParser: support for varMerge
- Addition in ARC2_SPARQLScriptProcessor: getArraySerialization method
- Addition in ARC2_SPARQLScriptProcessor: sparqlscript_max_operations and sparqlscript_max_queries config options
- Addition in ARC2_SPARQLScriptProcessor: processVarMergeAssignmentBlock
- Addition in ARC2_Store: getDomains method
- Fix in ARC2_SPARQLScriptParser: last query block was not correctly extracted
- Fix in ARC2_StoreEndpoint: No headers for DUMP queries, added Vary:Accept header
- Fix in ARC2_NTriplesSerializer: set but empty lang/datatype was serialized (Thanks to Keith Alexander)
- Fix in ARC2_TurtleSerializer: set but empty lang/datatype was serialized (Thanks to Keith Alexander)
- Fix in ARC2_LegacyXMLParser: Reader wasn't unset before ISO switch after character error
- Tweak in ARC2: using in_array for triple dupe checks in getSimpleIndex (Thanks to Rob Styles)
- Tweak in ARC2_Reader: including a snippet from the response body in the error message in case of 4xx reponses
- Tweak in ARC2_StoreEndpoint: HTML layout changes, more fine-grained snippet methods
- Tweaks in ARC2_StoreDeleteQueryHandler: improved cleanTableReferences method (~3 times faster) + necessity check
- Tweak in ARC2_RDFXMLParser: moved createBnodeID method to parent class
- Tweak in ARC2_SGAJSONParser: moved re-usable code to new ARC2_JSONParser
- Tweak in ARC2_SPARQLScriptProcessor: excluding unused prefix declarations during query construction
- Tweak in ARC2_RemoteStore: added "query_type" info to query result
2008-07-15
- Addition: ARC2_SGAJSONParser
- Addition: ARC2_StoreSGAJSONLoader
- Addition in ARC2_getFormat: Support for JSON and SG API JSON
- Addition in ARC2_RDFParser: SG API JSON support
- Addition in ARC2_StoreLoadQueryHandler: SG API JSON support
- Fix in ARC2_Reader: readStream considers content-length header and adjusts d_size now
- Tweak in ARC2_SPARQLParser: '==' is now an allowed operator in xRelationalExpression, for SPARQLScript
- Addition in ARC2_SPARQLScriptProcessor: Placeholders, Placeholder property paths, Var assignments, FORBlock, Output templates
- Additon in ARC2_SPARQLScriptParser: IFBlock, FORBlock, String
- Tweak in ARC2_Store: added "query_type" info to query result
- Addition in ARC2_TurtleParser: xPlaceholder method for SPARQLScript
- Tweak in ARC2_RemoteStore: added "query_type" info to query result
2008-07-04
- Addition: getRemoteStore method (and initial documentation)
2008-07-02
- Addition: ARC2_StoreDumper
- Addition: ARC2_SPOGParser
- Addition: ARC2_StoreSPOGLoader (Thanks to Morten Frederiksen for idea and code)
- Addition in ARC2_Store: dump method and support for DUMP query
- Addition in ARC2_Store: renameTo method
- Addition in ARC2_Store: replicateTo method
- Addition in ARC2_Store: createBackup method
- Addition in ARC2_StoreEndpoint: SPOG export via dump method or DUMP query
- Addition in ARC2_StoreLoadQueryHandler: sparqlxml/SPOG support
- Addition in ARC2_RDFParser: sparqlxml/SPOG support
- Tweak in ARC2_TurtleParser: added setDefaultPrefixes method to support config-set prefixes
- Tweak in ARC2_SPARQLParser: switching to shared setDefaultPrefixes method to support config-set prefixes
- Tweak in ARC2_SPARQLScriptParser: switching to shared setDefaultPrefixes method to support config-set prefixes
- Fix in ARC2_getFormat: colon in xmlns check is now optional (Thanks to Morten Frederiksen)
2008-07-01
- General change: Talis platform structure alignments (s/iri/uri/ and normalized "literal" type)
- Tweak in ARC2_TurtleParser: Added some accelerators: xString, xPN_LOCAL, xPN_PREFIX
- Fix in ARC2_TurtleParser: unescapeNtripleUTF skipped standard escapes, lang literals were not parsed correctly (Thanks to Arto Bendiken)
- Tweak in ARC2_RDFExtractor: Added support for "keep_cdata_whitespace" config option
- Tweak in ARC2_SemHTMLParser: Added support for "keep_cdata_whitespace" config option
- Fix in ARC2_RdfaExtractor: Improved xmlns and xml:lang declarations in XML literals
- Fix in ARC2_RDFJSONSerializer: Proper jsonEscape method (Thanks to Keith Alexander)
- Fix in ARC2_StoreEndpoint: Proper jsonEscape method (Thanks to Keith Alexander)
2008-05-30
- General change: Talis platform structure alignment (s/dt/datatype/ and s/val/value/)
- Addition: ARC2_HcalendarExtractor (very early)
- Addition: ARC2_SPARQLScriptParser (very early)
- Addition: ARC2_SPARQLScriptProcessor (very early)
- Addition: ARC2_RemoteStore (1st version, inspired by and based on Morten Frederiksen's RemoteEndpoint Plugin)
- Addition in ARC2_Class: camelCase method
- Fix in ARC2_ErdfExtractor: Anchors didn't generate label triples (Thanks to Robert Goené)
- Tweak in ARC2_MicroformatsExtractor: Added cal namespace
- Fix in ARC2_RDFXMLParser: rdf:type on property arcs was setting a broken s_type (Thanks to Tuukka Hastrup and Keith Alexander)
- Addition in ARC2_SemHTMLParser: hcalendar hook
- Fix in ARC2_SPARQLParser: CONSTRUCT regex was too strict
- Addition in ARC2_TurtleParser: unescapeNtripleUTF method for N-Triples pasring
- Fix in ARC2_RDFXMLSerializer: typed/lang'd literals were not escaped
- Fix in ARC2_StoreSelectQueryHandler: incorrect UNION ALL syntax (Thanks to Alexandre Passant)
- Tweak in ARC2_StoreSelectQueryHandler: switching from MEMORY to MyISAM to reduce memory requirements
2008-04-09
- Tweak in ARC2_RdfaExtractor: xhtml namespace is added to tags in XMLLiterals
- Tweak in ARC2_RdfaExtractor: s/instanceof/typeof/
- Fix in ARC2_MicroformatsExtractor: document URL was set to base URL (Thanks to Morten Frederiksen)
- Fix in ARC2_RDFExtractor: document URL was set to base URL (Thanks to Morten Frederiksen)
- Fix in ARC2_DcExtractor: base URL (not doc URL) was used for annotations (Thanks to Morten Frederiksen)
- Addition in ARC2_LegacyXMLParser: doc URL is added to node index entries
- Addition in ARC2_SemHTMLParser: doc_url is set
2008-04-08
- Tweak in ARC2_Store: Changed locking approach from "LOCK TABLE" to "GET LOCK"
- Tweak in ARC2_StoreInferencer: Changed locking approach from "LOCK TABLE" to "GET LOCK"
- Tweak in ARC2_StoreHelper: Changed locking approach from "LOCK TABLE" to "GET LOCK"
- Tweak in ARC2_StoreTableManager(!): skipping triple backup table for now
- Tweak in ARC2_StoreTableManager(!): Changed several KEY types to UNIQUE, esp g2t
- Addition in ARC2_StoreTableManager(!): KEY for "misc" column in triple tables for faster DELETEs
- Tweak in ARC2_StoreDeleteQueryHandler: Changed locking approach from "LOCK TABLE" to "GET LOCK"
- Tweak in ARC2_StoreLoadQueryHandler: skipping triple backups for now
- Tweak in ARC2_StoreLoadQueryHandler: Changed locking approach from "LOCK TABLE" to "GET LOCK"
- Tweak in ARC2_StoreSelectQueryHandler: Changed temp table approach from "CREATE SELECT / ALTER" to "CREATE (TEMPORARY) / INSERT SELECT"
- Fix in ARC2_StoreSelectQueryHandler: getLeftJoins method didn't send "LEFT" to getRequiredSubJoinSQL (Thanks to Masahide Kanzaki)
- Addition in ARC2_ErdfExtractor: format detection
- Addition in ARC2_RdfaExtractor: format detection
- Addition in ARC2_SemHTMLParser: Format detection for RDFa and eRDF (eRDF profile / RDFa doctype is now required)
2008-03-26
- Fix in ARC2_StoreLoadQueryHandler: getTermID forced full mysql table scans (Thanks to Steve Ducat)
- Fix in ARC2_Store: Moved BINARY operator in getTermID() from column to constant to avoid full table scans (Thanks to Steve Ducat)
2008-03-20
- Fix in ARC2_getFormat: xml wasn't properly detected when the opening tag was very large, added "xmlns:" as xml trigger
- Fix in ARC2_RDFXMLParser: Entities in XMLLiteral CData sections were decoded (Thanks to Keith Alexander)
- Fix in ARC2_RdfaExtractor: Avoid triple generation from non-curie rel values
- Fix in ARC2_RDFExtractor: cdata was sometimes truncated in getPlainContent method
- Tweak in ARC2_SemHTMLParser: added rel-tag-dc to default extractors
- Tweak in ARC2_Reader: scheme check before http socket is opened
- Tweak: inc method: support for third party classes
- Tweak: getComponent method: support for empty config and third party classes
2008-02-25
- Fix in ARC2_StoreSelectQueryHandler: Optimized JOIN order (Thanks to Dan Brickley)
- Tweak in ARC2_RdfaExtractor: Updated to latest Syntax Document
- Tweak in ARC2_SemHTMLParser: added support for container tags that should be empty
- Tweak in ARC2_SemHTMLParser: re-added RDFa to default extractors
2008-02-15
- Fix in ARC2_StoreConstructQueryHandler: auto-adding DISTINCT to avoid unnecessary duplicates (Thanks to Dan Brickley)
- Fix in ARC2_StoreSelectQueryHandler: lang() test for an empty language didn't work with datatyped literals (Thanks to Viliam Simko)
- Fix in ARC2_StoreDeleteQueryHandler: Table lock code was broken (Thanks to Morten Frederiksen)
- Addition in ARC2_RDFParser: Support for RSS Parser
- Addition in ARC2_StoreLoadQueryHandler: Support for RSS Parser
- Tweak in ARC2_SemHTMLParser:HTML entities in objects are now decoded
- Addition: ARC2_RSSParser
2008-02-08
- Fix in ARC2_RDFSerializer: getPName method created invalid leading digits in local name parts (Thanks to Morten Frederiksen)
- Fix in ARC2_TurtleParser: large prologues were not supported (Thanks to Morten Frederiksen)
2008-02-07
- Fix in ARC2_Store: Trigger results removed from all query type results for bw compatibility
- Addition in ARC2_Store: optimizeTables method
- Fix in ARC2_StoreSelectQueryHandler: Too greedy graph table join condition in getRequiredSubJoinSQL
- Fix in ARC2_getFormat: Comments were not supported, RSS detection bug (Thanks to Morten Frederiksen)
- Tweak in ARC2_SemHTMLParser: extractRDF is now called automatically, unless "auto_extract" option is set to false
- Tweak in ARC2_StoreDeleteQueryHandler: Tables are auto-optimized after ~50 DELETEs
- Tweak in ARC2_StoreLoadQueryHandler: Tables are auto-optimized after ~50 LOADs
2008-02-03
- Fix in ARC2_Store: Trigger results broke ASK query results, they are only added to other query type results now
- Fix in ARC2_StoreSelectQueryHandler: Wrong equality check against '0' in getRequiredSubJoinSQL
2008-02-01
- Addition: "triggers" directory
- Tweak in ARC2_StoreTableManager:made t in triple tabel UNIQUE, testing
- Addition in ARC2_Store: Support for "infos" result format
- Tweak in ARC2_Store: Removed @ in front of mysql_connect for better error reporting
- Addition in ARC2_Store: Support for Triggers
- Addition in ARC2_Store: new consolidateIFP method
- Fix in ARC2_getFormat: Multiple xml directives were not supported (Thanks to Morten Frederiksen)
- Addition in ARC2_RDFParser: countTriples method
- Addition in ARC2_SemHTMLParser: countTriples method
- Addition in ARC2_RDFXMLParser: countTriples method
- Addition in ARC2_TurtleParser: countTriples method
- Fix in ARC2_TurtleParser: '0's in prefixes were ignored, ahem (Thanks to Morten Frederiksen)
- Fix in ARC2_RdfaExtractor: Multi-line plain literals were typed as XMLLiterals
- Tweak in ARC2_StoreInferencer: Improved IFP Consolidator
- Addition in ARC2_StoreQueryHandler: check for allow_extension_functions option
- Addition in ARC2_StoreEndpoint: check store_allow_extension_functions options
- Tweak in ARC2_StoreSelectQueryHandler: Improved post-consolidation queries
- Fix in ARC2_StoreSelectQueryHandler: aggregate results were incorrectly typed
- Addition in ARC2_StoreSelectQueryHandler: Support for (MySQL) function expressions (Cheers to Morten Frederiksen)
2008-01-19
- Addition in ARC2_Store: getResourceLabel() method
- Addition in ARC2_StoreSelectQueryHandler: Allow aggregate aliases in ORDER BY
- Fix in ARC2_StoreLoadQueryHandler: ID buffers were incorrectly reset (Thanks to Jesper Larsen-Ledet)
2008-01-17
- Fix in ARC2_TurtleSerializer: Quotation mark guessing was still not correct
- Tweak in ARC2_RDFExtractor: Accept @alt as plain node content
- Fix in ARC2_RDFXMLParser: XML parser should only be invoked with standard charset (Thanks to Masahide Kanzaki)
- Fix in ARC2_LegacyXMLParser: XML parser should only be invoked with standard charset (Thanks to Masahide Kanzaki)
- Tweak in ARC2_Reader: allow overriding of default val in getEncoding
- Addition in ARC2_SemHTMLParser: getEncoding method
- Addition in ARC2_RDFParser: getEncoding method for sub-parser
- Addition in ARC2_DcExtractor: Support for dc:format via meta
2008-01-16
- Addition in ARC2_RDFXMLParser: Support for encodings detected by the XML parser
- Addition in ARC2_LegacyXMLParser: Support for encodings detected by the XML parser
- Tweak in ARC2_StoreLoadQueryHandler: N-Triples are supported now
- Tweak in ARC2_Reader: Improved charset header detection
- Addition in ARC2_Reader: Support for POST (or other) request methods
- Addition in ARC2_Reader: Support for custom header code
2008-01-15
- Fix in ARC2: getSimpleIndex method dropped object type information in triples coming from a SPARQL query (Thanks to Ivan Garcia Tora)
- Tweak in ARC2_Class: Serializer calls (toTurtle etc.) use namespace information defined in the configuration now
2008-01-14
- Addition in ARC2: getCleanedIndex method for triple removal from a resource index
2008-01-11
- Fix in ARC2_RDFXMLParser: parseType handling was still broken (Thanks to Ivan Garcia Tora)
- Addition in ARC2_StoreEndpoint: Support for API read/write keys
- Addition in ARC2_StoreEndpoint: go() shortcut method
2008-01-09
- Fix in ARC2_StoreTableManager: TEXT columns should not have DEFAULT values, leads to errors in certain MySQL versions (Thanks to Masahide Kanzaki)
- Fix in ARC2_RdfaExtractor: xml:base on the root node was ignored (Thanks to Peter Krantz)
- Addition in ARC2_RDFParser: auto-detected NTtriples format is forwarded to Turtle parser now
- Tweak in ARC2_getFormat: Improved NTriples detection (Thanks to Morten Frederiksen)
- Tweak in ARC2_StoreEndpoint: Removed comments from JSON results (Thanks to Alexandre Passant)
- Tweak in ARC2_StoreDescribeQueryHandler: label auto-detection is now optional
2008-01-08
- Addition in ARC2_RDFParser: extractRDF() can now be called on main RDFParser Class
- Tweak in ARC2_SemHTMLParser: Removed RDFa from the default extractor formats for now
- Fix in ARC2_NTriplesSerializer: Datatype overrides language, not the other way round
- Fix in ARC2_TurtleSerializer: Datatype overrides language, not the other way round
- Tweak in ARC2_TurtleParser: Allow \u \U escaping in literals
- Fixes in ARC2_Class: Better URI calculation
- Tweak in ARC2_StoreSelectQueryHandler: mysql_real_escape_string was called w/o a DB con
- Fixes in ARC2_RDFXMLParser: Several fixes, esp. collection and container handling (Thanks to Ivan Garcia Tora)
- Tweak in ARC2: Support for ARC Plugins
- Tweak in ARC2_StoreEndpoint: There is now an empty result message for htmltab output
2008-01-07
- Tweak in SPARQL Endpoint: "output" is now default parameter for custom result formats
- Fix in SPARQL Endpoint: JSON literals were truncated (Thanks to Dan Brickley)
- Addition to SPARQL Endpoint: get/post method switch
- Fix in Turtle Serializer: incorrect literal serialization when both ' and " occured
- Fix in N-Triples Serializer: final linebreak was missing (Thanks to Morten Frederiksen)
- Tweak in SPARQL+ Parser: CONSTRUCT keyword is now optional (Hat tip to Tim Berners-Lee)
2008-01-04
- Addition: SPARQL endpoint now supports a jsonp/callback parameter
2008-01-03
- Fix in ARC2_StoreSelectQueryHandler: Graph join conditions were not correctly ordered (Thanks to Dan Brickley)
- Tweak in ARC2_StoreEndpoint: Improved error reporting, added HTML Table output (Thanks to Dan Brickley)
- Fix: Lost data in XML Literals in RDF/XML Parser (Thanks to Dan Brickley)
- Several minor tweaks and fixes
2007-12-19
- Addition to ARC2_StoreLoadQueryHandler: auto-REPAIR of triple tables
- Fix in ARC2_StoreDeleteQueryHandler: Delete without specifying a target dataset didn't work correctly
2007-12-17
- Fix: incomplete addT() call during RDF/XML Collection parsing (Thanks to Dave Langley)
- Fix: missing isset() check during RDF/XML Collection parsing (Thanks to Dave Langley)
2007-12-14
- Tweak: updated URL to SPARQL+ documentation in SPARQL Endpoint class
- Tweak: added format selector to SPARQL Endpoint form
2007-12-10
- Fix: incorrect Turtle literal serialization when both ' and " occurred in a single-line object (Thanks to Eric Hanson)
2007-12-01
- Fix: graph query bug (unknown graphs were ignored in dataset restriction)
2007-11-30
- Fix: DB Connection has to be established before the query is rewritten to SQL (Thanks to Dan Brickley)
2007-11-28
- Addition: toNTriples method was missing in ARC2_Class.php
2007-11-26
- Fix: getScriptURI() didn't support CLI-initiated requests (Thanks to Keith Alexander and Stéphane Corlosquet)
2007-11-20
- Fix: RDF/XML Parser called non-existing init() method (Thanks to Keith Alexander)
2007-11-19
- Release: ARC2 preview
2006-10-24 (ARC1)
- Fix (RDF store ADD handler): XML Literals weren't handled correctly by the Turtle converter (Thanks to Martynas Jusevicius for note and test data).
- Feature (RDF store): (Tables for) store variables are now optional.
- Tweak (general): Removed various PHP notices.
- Fix (RDF/XML parser): Better handling of non-XML CDATA.
- Fix (SPARQL2SQL rewriter): Syntax error in CAST function.
2006-06-11 (ARC1)
- Feature (SPARQL2SQL rewriter): Variables can now be compared via FILTERs.
- Tweak (RDF/XML parser): Removed a couple of PHP notices.
2006-06-06 (ARC1)
- Fix (SPARQL parser): Hyphens in QNames and blank node ids were not parsed correctly.
2006-06-02 (ARC1)
- Fix (SPARQL2SQL rewriter): unsupported filters led to invalid SQL
- Feature (SPARQL2SQL rewriter): Added support for language queries (?s ?p "foo"@en // FILTER (lang(?o) = "en") // FILTER langMatches(lang(?o), "en") ).
- Feature(SPARQL2SQL rewriter): Added support for datatype queries (?s ?p "true"^^xsd:boolean).
2006-06-01 (ARC1)
- Fix (SPARQL2SQL rewriter): Added support for an unlimited number of non-triple pattern siblings.
- Tweak (SPARQL2SQL rewriter): Removed a couple of PHP notices.
2006-05-30 (ARC1)
- Fix (eRDF parser): Schemas/prefixes can be defined after meta tags in the head section now
- Fix (eRDF parser): Nested literals work with PHP5 now
2006-05-29 (ARC1)
- Feature (eRDF parser): Added support for typing class values (e.g. class="-foaf-Person")
- Fix (eRDF parser): Removed IRI-generation bug
2006-05-28 (ARC1)
- Tweak (SPARQL2SQL rewriter): Another PHP notice removed
- Component: Added ARC Embedded RDF Parser
2006-05-23 (ARC1)
- Fix (SPARQL2SQL rewriter): SQL rewriter adds backticks now. (Thanks to Dan Brickley for note and pointer)
- Feature (SPARQL2SQL rewriter): SQL rewriter accepts REGEX expressions where the 2nd argument is a var now.
- Tweak (RDF store SELECT handler): "xml" is now the default result type for SELECT queries.