Share

Redland RDF Libraries

File Release Notes and Changelog

Release Name: 1.4.14

Notes:
* New Turtle serializer by Dave Robillard based on the existing
  RDF/XML-Abbrev serializer.
* New GraphViz DOT format serializer by Evan Nemerson.
* GRDDL parser now does namespace and profile URI recursion and has
  other improvements and fixes.
* Fixed reported issues: #0000032, #0000141, #0000143, #0000148,
  #0000155 and #0000157


Changes: 2007-01-31 Dave Beckett * Snapshotted raptor_1_4_14 for 1.4.14 release (SVN r11863) * docs/tmpl/section-iostream.sgml, docs/tmpl/section-parser.sgml, docs/tmpl/section-unused.sgml: Updated tmpls 2007-01-28 Dave Beckett * src/raptor_grddl.c: (raptor_libxslt_error_common): Added. (raptor_grddl_xsltGenericError_handler): Added. (raptor_grddl_parse_init): Register raptor_grddl_xsltGenericError_handler to handle XSLT generic errors. (raptor_grddl_run_grddl_transform_doc): Set 'base' and 'Base' XSLT parameters to allow some XSLT sheets to work - pragmatism. * src/raptor_grddl.c: struct raptor_grddl_parser_context_s gains rdf_parser field. Add lots more debugging messages (raptor_grddl_parse_init): Init rdf_parser field. (raptor_grddl_parser_add_parent): Relay all triples to the parent grddl parser. (raptor_grddl_ensure_internal_parser): Lose relay flag - always relay. (raptor_grddl_parse_chunk): Copy root_ns_uri if not NULL. When processing head profile URIs, strip out the GRDDL profile URI before adding them to the grddl_parser->profile_uris sequence. 2007-01-27 Dave Beckett * configure.ac: Add AC_CHECK_FUNC(xsltInit) * src/raptor_grddl.c: (raptor_init_parser_grddl): Check for xsltInit * src/raptor_parse.c: (raptor_parsers_finish): Call raptor_terminate_parser_grddl when enabled. * src/raptor_internal.h: Added raptor_terminate_parser_grddl prototype * src/raptor_grddl.c: Add XML schema namespace to ignored namespace list. (raptor_grddl_parse_chunk): Copy root namespace URI when adding to a list. (raptor_terminate_parser_grddl): Added, to free up shared resources. * docs/libraptor.3: 1.4.14 * src/raptor_parse.c: autodocs * src/raptor_internal.h: Move raptor_turtle_writer to raptor_internal.h for now. * src/raptor.h: Move raptor_turtle_writer to raptor_internal.h for now. 2007-01-26 Dave Beckett * src/n3_parser.y, src/ntriples_parse.c, src/raptor_general.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: Rename raptor_generate_id to raptor_parser_internal_generate_id with altered calling convention - pass in ID type * src/raptor.h: Adedd prototype for raptor_parser_generate_id * src/raptor_internal.h: raptor_parser_internal_generate_id renamed from raptor_generate_id. * src/raptor_parse.c: (raptor_parser_generate_id): Added as a public function, modified from previously internal raptor_generate_id(). (raptor_parser_internal_generate_id): Renamed from raptor_generate_id. 2007-01-16 Dave Beckett * utils/rapper.c: Add a another raptor_finish() before exit 2007-01-14 Dave Beckett * src/raptor_grddl.c: struct raptor_grddl_parser_context_s loses xpathObj (raptor_grddl_parse_terminate): Remove xpathObj tidy. Remove profile URIs from 'match_table' list of xpaths - now invoked on it's own. (raptor_grddl_relay_triples): Add relay triples debugging. Fix loop to properly walk through profile URIs (raptor_grddl_run_xpath_match): Added to invoke a match to an xpath returning a list of URIs as raptor_sequence. Code removed from raptor_grddl_parse_chunk. (raptor_grddl_run_recursive): Added to invoke a recursive GRDDL on a URI, sending triples back to the current parser. Code removed from raptor_grddl_parse_chunk. (raptor_grddl_parse_chunk): Use raptor_grddl_run_recursive to do most of the work. Invoke the <head profile> early on before running general XPath matches. Use raptor_grddl_run_xpath_match to run general XPath matches. * utils/rapper.c: Use raptor_home_url_string and raptor_license_string in short and long usage messages. * src/raptor.h: Added raptor_home_url_string (replacing raptor_url) * src/raptor_general.c: raptor_home_url_string * src/raptor.h: Added raptor_url * src/raptor.h: Added raptor_license_string * src/raptor_general.c: 2007 and add raptor_license_string 2007-01-07 Dave Beckett * src/raptor_abbrev.c: (raptor_new_abbrev_node): Initialise with ref_count 1 (raptor_abbrev_node_lookup): Do not add ref_count here * tests/turtle/Makefile.am: (check-turtle-serialize): rdfdiff with a local file, not one in $(srcdir) * utils/rdfdiff.c: Apply the base URI to the to-file, if given. Otherwise use the from_file's URI. * tests/turtle/Makefile.am: (check-turtle-serialize): Add base URIs for the rdf-schema.ttl and rdfs-namespace.ttl * tests/turtle/Makefile.am: (check-turtle-serialize): Ensure it dies when a failure happens * tests/turtle/Makefile.am: (check-turtle-serialize): Call rdfdiff with -u to set base URI for input turtle. This allows test-00.ttl to produce the same absolute URIs each time and for round-trip serializing to work. * utils/rdfdiff.c: Added -u/--base-uri option to specify the from file base URI so that if the from file is a local file or relative URI, it can be given an absolute base. * tests/turtle/Makefile.am: (check-turtle-serialize): output serialization results to .ttl files * tests/turtle/Makefile.am: Add check-turtle-serialize to check-local 2007-01-05 Dave Beckett * src/raptor-config.1: Document --private-libs and explain what it is under --libs too. * src/raptor-config.in: Add --private-libs and move private @LIBS to that from --libs * raptor.pc.in: Use Libs.private for internal dynamically linked libraries 2006-12-29 Dave Beckett * src/raptor_grddl.c: Add profile_transformation_uri and profile_uris list to grddl parser structure. (raptor_xslt_parse_init, raptor_xslt_parse_terminate): init/free the above fields. Add MATH_IS_VALUE_LIST and MATCH_IS_PROFILE flags to match_table. Comment out hard-coded embedded RDF, hCalendar xpaths. Added head profile xpath for profile URI resoltuion. (raptor_grddl_relay_triples): Look for matches in the list of profile_uris for getting XSLT uris. (typedef raptor_grddl_xml_parse_bytes_context): Renamed from raptor_grddl_parse_bytes_context. (raptor_grddl_uri_xml_parse_bytes): Renamed from raptor_grddl_uri_parse_bytes. (raptor_grddl_fetch_uri): Added to provide a single place to retrieve URIs in the GRDDL operation. Set a user agent, send accept header and handle no-net. (raptor_grddl_run_grddl_transform_uri): Use raptor_grddl_fetch_uri to retrieve the XSLT doc. (raptor_grddl_seen_uri): Do a check only, mark done in new function: (raptor_grddl_done_uri): Added. (raptor_grddl_parse_uri_write_bytes): Added for use by raptor_grddl_parse_chunk. (raptor_grddl_parse_chunk): Mark done when received is_end. Use profile_uris list to record root namespace as first item in list at index 0. Accept an XPath result of element and use its namespace name if seen, to allow an XPath matching the root element - not yet used. Update to use the match_table flags field. Handle MATCH_IS_PROFILE by storing in the profile_uris list, skipping the http://www.w3.org/2003/g/data-view profile URI. Do all recursive GRDDL in one place over all the profile_uris using raptor_grddl_fetch_uri. * src/raptor_www_curl.c: (raptor_www_curl_fetch): set proxy if www->proxy set 2006-12-28 Dave Beckett * utils/rapper.c: adjust whitespace so longer grddl description fits * src/raptor_grddl.c: grddl docs, description updates * src/Makefile.am, src/raptor_grddl.c (from /raptor/trunk/src/raptor_xslt.c:11760), src/raptor_xslt.c: Renameed raptor_xslt.c to raptor_grddl.c * src/raptor_xslt.c: Rename all functions / structures to be raptor_grddl / grddl not xslt. * src/raptor_xslt.c: update spec reference 2006-12-27 Dave Beckett * src/raptor_xslt.c: Track list of visited URIs across recursive GRDDL parsers (raptor_xslt_parse_init, raptor_xslt_parse_terminate): Share the list of visited uris, allocated/freed at depth 0 parser. (raptor_xslt_add_parent): Added to associate a parent with a child GRDDL parser and to all share the depth 0 parser's list of visited URIs. (raptor_xslt_relay_triples, raptor_xslt_ensure_internal_parser): Return failure code and prepare for alternative when this may not pass on all triples for namespace/profile GRDDL operations. (raptor_xslt_run_grddl_transform_doc): Handle error code from above. (raptor_xslt_seen_uri): Added to track URIs seen. (raptor_xslt_parse_chunk): Use seen URI tracking for initial document and recursive GRDDLs. * src/raptor_general.c: docs 2006-12-26 Dave Beckett * src/raptor_xslt.c: Add GRDDL looking up of root namespace URIs. (raptor_xslt_parse_init, raptor_xslt_parse_terminate): Init/free doc_transform_uris and namespace_transformation_uri. grddl_namespace_uris_ignore_list added with list of namespace URIs to never attempt to retrieve. (raptor_xslt_relay_triples): Added, to relay triples to user but look for data-view:namespaceTransformation triples (raptor_xslt_ensure_internal_parser): Added to init an internal parser if needed, reusing otherwise. Relay triples via raptor_xslt_relay_triples before sending to user handler. (raptor_xslt_run_grddl_transform_doc): Moved internal parser code to raptor_xslt_ensure_internal_parser. (raptor_xslt_parse_chunk): Get and store document root namespace URI and then use it if not ignored. Do not do transforms immediately but store in a sequence. Do a parse on the root namespace URI if present to look for transformation triples. Finally apply all transformation URIs seen in one go. * src/raptor_rdfxml.c: (raptor_rdfxml_parse_recognise_syntax): Recognize RDF/XML in sample content by looking for the XML marking the RDF namespace declaration, the root element and likely attributes. * src/raptor_parse.c: (raptor_guess_parser_name): Mime type matches that are q<10 no longer return a match but use the q as score. Guessing then continues with the recognise_syntax factory method, if present. 2006-12-14 Dave Beckett * src/raptor_xslt.c: (raptor_xslt_parse_init, raptor_xslt_parse_start): Move xslt_parser->sax2 init from raptor_xslt_parse_start - running on every parse to raptor_xslt_parse_init - running once. * src/raptor_xslt.c: (raptor_xslt_parse_chunk): Free any previously used xpathObj before making a new one 2006-12-10 Dave Beckett * src/raptor_xslt.c: Previous changes did this: Fixes Issue#0000143 http://bugs.librdf.org/mantis/view.php?id=143 * src/raptor_xslt.c: struct raptor_xslt_parser_context_s gains raptor_sax2* sax2 field. (raptor_xslt_parse_terminate): Free sax2. (raptor_xslt_parse_start): Create a new sax2 structure and initialise it's locator and error handler params. (raptor_xslt_parse_chunk): Move error handler inits to raptor_xslt_parse_start and do it once. * src/raptor_parse.c: (raptor_parser_fatal_error_message_handler, raptor_parser_error_message_handler, raptor_parser_warning_message_handler): No need to protectb raptor_print_locator from NULL locator, it does that. * src/raptor_libxml.c: (raptor_libxml_update_document_locator, raptor_libxml_error_common): Protect from NULL locator. (raptor_libxml_init_generic_error_handlers): Altered to take an raptor_sax2* argument. * src/raptor_internal.h: raptor_libxml_init_generic_error_handlers altered to take an raptor_sax2* argument. 2006-12-07 Dave Beckett * src/raptor_parse.c: (raptor_parser_copy_user_state): Make a new copy of the shared generate id prefix string. Fixes Issue#0000141 http://bugs.librdf.org/mantis/view.php?id=141 * src/raptor_serialize_rdfxmla.c: (raptor_rdfxmla_serialize_statement): Do not store an rdf:type predicate triple as the typed-node type unless the triple object is a URI. Fixes Issue#0000157 http://bugs.librdf.org/mantis/view.php?id=157 2006-12-06 Dave Beckett * src/raptor_turtle_writer.c: (raptor_turtle_writer_reference): Generate <> for the empty relative URI 2006-12-03 Dave Beckett * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: Rename raptor_node to raptor_abbrev_node and raptor_subject to raptor_abbrev_subject and rename functions to match the pattern * src/raptor_turtle_writer.c: Use limits.h to get LONG_MAX * src/raptor_www_libxml.c: raptor_www_libxml_http_error prototype. * src/raptor_xslt.c: Store a single parser that could be of any name, not just 'rdfxml'. (raptor_xslt_parse_init): Do not init rdfxml parser here. 9raptor_xslt_parse_terminate): Free internal parser if present. (raptor_xslt_parse_start): Do not copy user state to internal parser here. (raptor_xslt_run_grddl_transform_doc): Delve into the XSL transformation results and try to interpret a mime type out of the output type (if present). Assume any XML mime type is actually RDF/XML and refuse to do recursive grddl guesses this way. Tidy up code to clean up error paths * src/raptor_www.c: (raptor_www_file_fetch): Return 200, 403 or 404 status codes and set failed flag. (raptor_www_fetch): Set failed flag if a status code was returned and the result was not 200. * src/raptor_xslt.c: (raptor_xslt_parse_chunk): Skip empty XSLT URIs in the list found. 2006-12-02 Dave Beckett * src/raptor_sax2.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Add new features to switch()s * src/raptor_abbrev.c: (raptor_new_node): init node always * src/raptor_serialize_rdfxmla.c: (raptor_rdfxmla_emit_blank): Do not double-encode blank node ids. Do not free a shared blank node string value. (raptor_rdfxmla_emit_subject): Do not double-encode blank node ids. Free only allocated attr_value. (raptor_rdfxmla_serialize_init): Ensure rdf_type is initialized. * src/raptor_turtle_writer.c: Remove // comments * src/raptor_serialize_turtle.c: deleting commented-out code * src/raptor_serialize_turtle.c: Code style, whitespace. * src/raptor.h, src/raptor_internal.h: Move turtle write functions into internal API for now * src/raptor_serialize_turtle.c: (raptor_turtle_serialize_declare_namespace_from_namespace): Allow a default namespace to be handled when prefix is NULL. * src/raptor_turtle_writer.c: (raptor_turtle_writer_qname): Write a QName using Turtle's rules either prefix:local or :local which is not how raptor_iostream_write_qname() writes them for XML. * src/raptor_turtle_writer.c: (raptor_turtle_writer_namespace_prefix): Only emit a prefix if there is one. * src/raptor_serialize_turtle.c, docs/raptor-serializers.xml, docs/tmpl/section-general.sgml, configure.ac, src/Makefile.am, src/raptor.h, src/raptor_serialize.c, src/raptor_turtle_writer.c, tests/Makefile.am, tests/turtle/Makefile.am: Turtle serializer by Dave Robillard * src/raptor_xml_writer.c: docs * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_serialize_rdfxmla.c: (raptor_rdfxmla_find_subject): Renamed from raptor_find_subject. (raptor_new_qname_from_resource): Remove link to rdfxml-abbrev serializer context and pass in namespaces stack parameters. (raptor_lookup_node): Renamed from raptor_rdfxmla_lookup_node (raptor_lookup_subject): Renamed from raptor_rdfxmla_lookup_subject. (raptor_find_subject): Renamed from raptor_rdfxmla_find_subject. * src/raptor_abbrev.c: Re order functions * src/Makefile.am, src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_serialize_rdfxmla.c: (raptor_new_qname_from_resource, raptor_new_node, raptor_free_node, raptor_node_equals, raptor_node_matches, raptor_new_subject, raptor_free_subject, raptor_subject_add_property, raptor_subject_add_list_element, raptor_rdfxmla_lookup_node, raptor_rdfxmla_find_subject, raptor_rdfxmla_lookup_subject): Move common abbreviated serializer code from raptor_serialize_rdfxmla.c to raptor_abbrev.c * src/raptor_serialize_dot.c: gratuitous whitespace schanges * docs/tmpl/section-feature.sgml: New DOT features * src/raptor_turtle_writer.c copied from /raptor/trunk/src/raptor_xml_writer.c:11666: copy for turtle writing 2006-11-26 Dave Beckett * src/raptor_uri.c: (raptor_uri_filename_to_uri_string): Dynamically allocate the path buffer and realloc it if it's too small. This helps Hurd which does not handle PATH_MAX like linux/unix. * docs/raptor-serializers.xml, src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_serialize.c, src/raptor_serialize_dot.c: Import updated DOT serializer. Renamed features to remove _color/_COLOR from end of name. Added feature descriptions * src/raptor_serialize_dot.c: alter label * src/Makefile.am, src/raptor_internal.h, src/raptor_serialize.c, src/raptor_serialize_dot.c: Add DOT serializer * configure.ac: libxml minimum version is now 2.6.8 since 2.6.7 crashes on PPC64 Linux. 2.6.8 was released March 2004 so this should be no burden. 2006-11-20 Dave Beckett * raptor.rdf.in: Update description and for SVN repository. 2006-11-19 Dave Beckett * NEWS.html, RELEASE.html, configure.ac, src/win32_raptor_config.h: Bumped version to 1.5.0