12003-12-31 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2 3 * utils/rdfproc.c: tweak help text 4 5 * librdf/rdf_parser.h: 6 Note parser syntax name, not raptor factory name, which is in the 7 raptor parser context. 8 9 * librdf/rdf_parser_raptor.c: 10 Separate registered name from raptor parser name for all calls of 11 raptor_new_parser. 12 (librdf_parser_raptor_init): Convert the legacy parser name 13 'raptor' into 'rdfxml' internally. 14 (librdf_parser_raptor_constructor): Use raptor_parsers_enumerate 15 and hard code mime types, URIs here for now. Can use 16 raptor_syntaxes_enumerate later. 17 18 * raptor/raptor_rss.c, raptor/raptor_parse.c, 19 raptor/ntriples_parse.c, raptor/n3_parser.y: Use expanded 20 raptor_parser_register_factory with mime_type and uri_string args 21 where appropriate. 22 23 * raptor/libraptor.3, raptor/raptor.h: Added raptor_syntaxes_enumerate 24 25 * raptor/raptor_general.c (raptor_parser_register_factory): 26 Add mime_type and uri_string args, both optional. 27 (raptor_syntaxes_enumerate): Added to get syntax name, label, 28 mime_type or uri_string - all optional. 29 (raptor_parsers_enumerate): Uses raptor_syntaxes_enumerate. 30 31 * raptor/raptor_internal.h: Store parser mime_type, URI in 32 raptor_parser_factory Update raptor_parser_register_factory to 33 take mime_type, uri_string args. 34 35 * utils/rdfproc.c: tweak help formatting 36 37 * raptor/configure.ac: Bumped version to 1.2.0 38 39 * raptor/configure.ac: 40 Update RAPTOR_LIBTOOL_VERSION to reflect interfaces added, 41 none removed giving current 2:0:1 42 43 * raptor/libraptor.3: nroff/man style tweaks 44 45 * raptor/libraptor.3: Style 46 472003-12-30 Dave Beckett <Dave.Beckett@bristol.ac.uk> 48 49 * raptor/configure.ac: words 50 51 * raptor/configure.ac: 52 Make flex version warnings mention N-Triples Plus more 53 54 * librdf/rdf_model_storage.c, librdf/rdf_model.h, 55 librdf/rdf_model.c (librdf_model_get_storage): Added, with factory 56 method to match - optional. The model_storage implementation 57 implements it. 58 592003-12-29 Dave Beckett <Dave.Beckett@bristol.ac.uk> 60 61 * utils/rdf-tree.c, utils/rdf-load.c: indented 62 63 * raptor/libraptor.3: bump date 64 65 * raptor/raptor_stringbuffer.c (main): 66 Do not free as_string returned strings 67 68 * raptor/raptor_stringbuffer.c: brackets 69 70 * raptor/raptor_stringbuffer.c (raptor_free_stringbuffer): 71 Free any constructed string. 72 73 * configure.ac: Add AC_DEFINE for local MD5, SHA1, RIPEMD160 74 75 * utils/rdfproc.c: Tweak help text to look better without getopt_long 76 77 * librdf/rdf_serializer_rdfxml.c: 78 Some more unsigned char fixes for URIs 79 (librdf_serializer_print_statement_as_rdfxml): Try harder to find a 80 maximal length legal property element name; now works for 81 foaf:mbox_sha1sum - patch from Morten 82 83 * docs/api.sgml.in, docs/Makefile.am: 84 Added storage_mysql storage_tstore 85 86 * raptor/raptor_xml_writer.c: 87 Use raptor_stringbuffer to better grow the output cdata. 88 89 * raptor/raptor_stringbuffer.c: stringbuffer now uses unsigned char 90 Removed raptor_new|free_stringbuffer_node - used once, now inlined. 91 (raptor_stringbuffer_append_string_common): Added with 92 common append code merged here. 93 (raptor_stringbuffer_append_counted_string, 94 raptor_stringbuffer_append_string): Added do_copy arg. 95 (main): Test code updated for api changes. 96 97 * raptor/raptor_internal.h: 98 Added prototypes for raptor_stringbuffer class to internal API 99 100 * raptor/Makefile.am: 101 Re-added raptor_stringbuffer.c and raptor_stringbuffer_test 102 1032003-12-27 Dave Beckett <Dave.Beckett@bristol.ac.uk> 104 105 * librdf/rdf_uri.c, librdf/rdf_stream.c, librdf/rdf_statement.c, librdf/rdf_query.c, librdf/rdf_node.c, librdf/rdf_model.c, librdf/rdf_iterator.c, librdf/rdf_hash.c: 106 More C++ cast fixes mostly near URI and literal strings in test 107 code, the main function. 108 109 * librdf/Makefile.am: Added rdf_digest_sha1.c 110 111 * librdf/rdf_digest_sha1.c: SHA1 digest code 112 1132003-12-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 114 115 * raptor/rapper.1: Updated for 1.1.0, -a is gone. Added ntriples-plus 116 117 * raptor/libraptor.3: parser name is ntriples-plus 118 119 * raptor/libraptor.3: Updated for 1.1.0 120 121 * raptor/raptor.h: 122 remove raptor_namespaces_end_namespace - does not exist. 123 1242003-12-22 Dave Beckett <Dave.Beckett@bristol.ac.uk> 125 126 * raptor/Makefile.am: 127 Remove raptor_stringbuffer.c/test from dist - not used at present. 128 129 * raptor/configure.ac: 130 Added --with-xml-names to choose XML 1.0 name checking (default) or 1.1 131 132 * raptor/raptor_utf8.c (raptor_unicode_is_namestartchar): 133 Update to Namespaces in XML 1.1 WD 134 http://www.w3.org/TR/2003/PR-xml-names11-20031105/#NT-NCNameStartChar 135 and Extensible Markup Language (XML) 1.1 PR 136 http://www.w3.org/TR/2003/PR-xml11-20031105/#NT-NameStartChar 137 (raptor_unicode_is_namechar): Updated comment, no code changes 138 needed. 139 140 * raptor/tests/ntriplesplus/Makefile.am: No check-warn-rdf tests yet 141 142 * raptor/raptor_utf8.c: 143 Use RAPTOR_NFC_CHECK to wrap any use of the glib g_utf8_normalize. 144 145 * raptor/configure.ac: Define RAPTOR_NFC_CHECK when NFC check is needed 146 147 * raptor/configure.ac: 148 Added --disable-nfc-check to disable Unicode NFC checking even if a 149 suitable glib is present and providing it. Otherwise, autodetects 150 as before. 151 1522003-12-19 Dave Beckett <Dave.Beckett@bristol.ac.uk> 153 154 * raptor/examples/Makefile.am: Removed REDLAND_LIBS 155 1562003-12-18 Dave Beckett <Dave.Beckett@bristol.ac.uk> 157 158 * perl/Makefile.PL: OSX old perl before 5.8 159 160 * perl/Makefile.PL: 161 Another attempt to handle MakeMaker changes since perl5.8 162 163 * perl/Makefile.am: 164 Compile perl without the -W flags; it's just too noisy. 165 166 * librdf/redland.spec.in: Don't install perl twice. 167 1682003-12-17 Dave Beckett <Dave.Beckett@bristol.ac.uk> 169 170 * librdf/rdf_serializer_rdfxml.c (rdf_serializer_rdfxml_print_as_xml_content): 171 Redland strings are always UTF-8 and for now, the output encoding 172 is always UTF-8 so don't encode high bits, emit them. 173 174 * librdf/rdf_serializer_rdfxml.c: o 175 176 * librdf/rdf_serializer_rdfxml.c: 177 (librdf_serializer_rdfxml_serialize_model) Free rdf:RDF qname. 178 179 * raptor/raptor_parse.c, librdf/rdf_parser_raptor.c: 180 Update for changed raptor_generate_id handler calls - no const. 181 182 * raptor/raptor_general.c, raptor/raptor.h, raptor/raptor_internal.h: 183 raptor_generate_id handler does not take const string 184 185 * raptor/raptor_general.c, raptor/raptor.h, raptor/raptor_internal.h: 186 raptor_generate_id returns non const 187 188 * raptor/ntriples_parse.c (raptor_ntriples_parse_line): 189 Casts, unsigned char* for blank node IDs. 190 191 * raptor/ntriples_parse.c (raptor_ntriples_parse_line): 192 Enforce predicate must be URIref 193 1942003-12-16 Dave Beckett <Dave.Beckett@bristol.ac.uk> 195 196 * perl/t/test1.t: Don't use last when not in a loop 197 198 * raptor/ntriples_parse.c (raptor_ntriples_parse_line): 199 Pass blank node identifier generation 200 through raptor_generate_id. Rewrite returns into setting rc and jump 201 to cleanup to ensure allocated blank node IDs are freed. 202 203 * utils/Makefile.am: Added EXTRA_PROGRAMS to CLEANFILES 204 205 * utils/rdf-load.c, utils/rdf-tree.c: 206 Put explicit \n in multiline strings 207 208 * utils/rdf-tree.c: 209 Updates from Morten to use openssl lhash - this isn't portable. 210 211 * librdf/rdf_storage_mysql.c: 212 (librdf_storage_mysql_context_serialise_next_statement): 213 Fixes for over-eager use of multi-line string - add spaces before 214 the newlines. 215 Correct subject and object node creations. 216 217 * librdf/redland.pc.in: Add @LIBRDF_LDFLAGS@ @LIBRDF_LIBS@ to libs 218 219 * librdf/Makefile.am: 220 Use LIBRDF_EXTERNAL_CPPFLAGS, LIBRDF_EXTERNAL_LIBS 221 222 * redland-src-config.in: Put redland cflags, links first 223 224 * redland-config.in: Use LIBRDF_EXTERNAL_CPPFLAGS, LIBRDF_EXTERNAL_LIBS 225 226 * configure.ac: Added LIBRDF_EXTERNAL_CPPFLAGS, 227 LIBRDF_EXTERNAL_LIBS used for system raptor 228 229 * raptor/raptor.pc.in: Restore LDFLAGS, LIBS 230 231 * perl/Makefile.PL: Don't need MEM_LIBS in OBJECT 232 233 * utils/rdfproc.1: store to store-name in header 234 235 * utils/rdfproc.c: Added file|uri to parsing help 236 237 * utils/rdfproc.1: Document -n, -s, -t and parsing now turns files 238 into URIs if they exist. 239 240 * raptor/raptor-src-config.in: Removed --static-libs 241 242 * utils/rdfproc.c: 243 Added -n new - default is not to overwrite, i.e. parsing now appends 244 Added -s storage 245 Added -t storage-options 246 Parsing now turns files into URIs if they exist. 247 2482003-12-15 Dave Beckett <Dave.Beckett@bristol.ac.uk> 249 250 * php/test.php: tidy prints 251 252 * librdf/redland.pc.in: redland.pc.in 253 254 * php/test.php: 255 Better test code. Serializing crashes it - to fix later. 256 257 * php/Makefile.am: 258 Reorder compile args so PHP libs are first and overridden if need be. 259 260 * redland-src-config.in: Kill --static-libs 261 Use @with_raptor@ to pick either raptor-src-config or raptor-config 262 263 * configure.ac: AC_SUBST with_raptor 264 265 * php/Makefile.am: 266 Apply redland_wrap.c.patch when building redland_wrap.c 267 Use -d extension_dir=. for test-php 268 269 * php/redland_wrap.c.patch: 270 Patch to PHP wrapper to return empty string not C NULL 271 272 * librdf/Makefile.am: Install redland.pc to libdir/pkgconfig 273 274 * librdf/redland.spec.in: Updates: 275 - require raptor 1.1.0 276 - require libxml 2.4.0 or newer 277 - added pkgconfig redland.pc 278 - split redland/devel package shared libs correctly 279 280 * configure.ac: Added librdf/redland.pc 281 282 * librdf/Makefile.am: Added redland.pc.in 283 284 * raptor/raptor.pc.in: Just link -lraptor 285 286 * raptor/configure.ac: Remove use of have_redland for expat 287 sources (no longer shipped with redland anyway) 288 289 * raptor/configure.ac: Remove redland source check. 290 291 * configure.ac, Makefile.am: 292 Split SD subdirs into SD_PRE (must be made before librdf) 293 and SD_POST (after). raptor goes into PRE so that it is 294 both compiled and installed before librdf. 295 296 * raptor/Makefile.am: No need for librdf.la rule 297 298 * raptor/rdfdump.c, raptor/raptor_stringbuffer.c, 299 raptor/raptor_set.c, raptor/raptor_namespace.c, 300 raptor/Makefile.am: Remove all RAPTOR_IN_REDLAND code use of 301 REDLAND_LIBS, REDLAND_CFLAGS. Now the test and rdfdump programs 302 always just use raptor alone. 303 3042003-12-14 Dave Beckett <Dave.Beckett@bristol.ac.uk> 305 306 * perl/Makefile.am: Remove use of prefix; install where perl wants it 307 308 * perl/Makefile.PL: 309 Try again with the MakeMaker PM hash. Remove double RDF/RDF 310 311 * librdf/rdf_serializer_rdfxml.c (librdf_serializer_rdfxml_terminate): 312 Allow raptor_free_namespaces to 313 free the entire stack, including pcontext->rdf_ns 314 315 * perl/Makefile.am, perl/update-perl-api.pl: Remove old API updater 316 317 * librdf/rdf_node.h: 318 librdf_node_get_literal_value_as_latin1 returning char* 319 320 * librdf/rdf_node.c: 321 (librdf_node_get_literal_value_as_latin1) Returning char* 322 323 * examples/example4.c: 324 Removed body of code since it was turned into rdfproc. 325 326 * librdf/rdf_parser.h: 327 Update librdf_parser_parse_string_as_stream prototype 328 329 * librdf/rdf_model.h: Update librdf_model_query_string prototype 330 331 * librdf/rdf_storage_mysql.c: 332 (librdf_storage_mysql_node_hash) Casts for node char const strings. 333 334 * utils/Makefile.am: 335 Add mysql-utils target, don't build the mysql utilities by default. 336 337 * utils/rdf-digest.c, utils/rdf-load.c, utils/rdf-tree.c: 338 Redland MySQL storage utilities by Morten Frederiksen 339 340 * utils/rdfproc.c: 341 Updates for raptor changes - all URI strings are unsigned char* 342 Update URI APIs here to match. 343 Update all use of literal (UTF-8) strings to unsigned char* also. 344 Add more casts to make C++ happy especially near string functions 345 and malloc. 346 347 * utils/Makefile.am: Add redland libs, cppflags, cflags 348 349 * librdf/rdf_storage_mysql.c: 350 (librdf_storage_mysql_node_hash) Fix to created digest to distinguish 351 URIs 'R', literals 'L' and blank node identifiers 'B' in database. 352 (librdf_storage_mysql_context_serialise_next_statement): Call error 353 functions with the right world value. 354 355 * examples/example4.c, examples/example3.c, examples/example2.c, examples/example1.c, librdf/rdf_uri.h, librdf/rdf_uri.c, librdf/rdf_stream.c, librdf/rdf_storage_mysql.c, librdf/rdf_storage_list.c, librdf/rdf_storage.c, librdf/rdf_statement.h, librdf/rdf_statement.c, librdf/rdf_serializer_rdfxml.c, librdf/rdf_serializer_raptor.c, librdf/rdf_serializer.h, librdf/rdf_serializer.c, librdf/rdf_query_triples.c, librdf/rdf_query.h, librdf/rdf_query.c, librdf/rdf_parser_raptor.c, librdf/rdf_parser.h, librdf/rdf_parser.c, librdf/rdf_node.h, librdf/rdf_node.c, librdf/rdf_model_storage.c, librdf/rdf_model.h, librdf/rdf_model.c, librdf/rdf_iterator.c, librdf/rdf_init.h, librdf/rdf_init.c, librdf/rdf_hash_memory.c, librdf/rdf_hash_bdb.c, librdf/rdf_hash.h, librdf/rdf_hash.c, librdf/rdf_concepts.c: 356 Updates for raptor changes - all URI strings are unsigned char* 357 Update URI APIs here to match. 358 Update all use of literal (UTF-8) strings to unsigned char* also. 359 Add more casts to make C++ happy especially near string functions 360 and malloc. 361 362 * raptor/raptor_general.c (raptor_print_statement_part_as_ntriples): 363 Update call of 364 raptor_print_ntriples_string 365 366 * raptor/raptor.h: Update raptor_print_ntriples_string prototype 367 368 * raptor/raptor_general.c (raptor_print_ntriples_string): 369 Take unsigned const char* 370 3712003-12-08 Dave Beckett <Dave.Beckett@bristol.ac.uk> 372 373 * configure.ac: mysql version reporting 374 375 * configure.ac: make --with-threestore, --with-mysql take CONFIG|yes|no 376 377 * configure.ac: Add BDB 4.2 to the list. 378 Fixes for 3store (--with-threestore) else search for 3store-config; 379 add glib to cflags/libs using pkg-config. 380 Report raptor version. 381 Report triple stores found. 382 3832003-12-06 Dave Beckett <Dave.Beckett@bristol.ac.uk> 384 385 * librdf/rdf_uri.h, librdf/rdf_uri.c, librdf/rdf_parser_raptor.c: 386 Updates for raptor API use of unsigned char* for URI strings. 387 Change redland URIs to take/return unsigned char* for URI strings 388 389 * librdf/rdf_hash.c (librdf_hash_print): replaced fprintf 390 391 * raptor/Makefile.am: 392 Narrower yyerrlabl fix since bison 1.875a no longer requires it 393 394 * raptor/examples/grapper.c: 395 Casts and updates to use URI strings from raptor as unsigned char* 396 and converting to/from gchar* 397 398 * raptor/rdfdump.c, raptor/raptor_xml_writer.c, raptor/raptor_xml.c, raptor/raptor_www_libxml.c, raptor/raptor_www.c, raptor/raptor_uri.c, raptor/raptor_sax2.c, raptor/raptor_rss.c, raptor/raptor_parse.c, raptor/raptor_namespace.c, raptor/n3_parser.y, raptor/n3_lexer.l: 399 Lots of casts for str* function args, return values between unsigned 400 char* as used for UTF8 and URI strings and char* used by str* functions. 401 Some further casts for strings from XML. 402 403 * raptor/raptor_www_test.c (write_bytes_fh): No return value. 404 (main) Test code casts unsigned char* for URI strings 405 Fix write_content_type and write_bytes_fh set handler methods. 406 407 * raptor/raptor_utf8.c (raptor_unicode_char_to_utf8): 408 unsigned char* arg. 409 (raptor_utf8_is_nfc): unsigned int, cast for unsigned char* 410 411 * raptor/raptor_sequence.c (raptor_sequence_ensure): 412 Use void** not void*. C++ cares. 413 (main): Test code casts to void* for args. 414 415 * raptor/raptor_qname.c (raptor_qname_string_to_uri): 416 cast for signed/unsigned int 417 comparison. 418 419 * raptor/raptor_locator.c (raptor_format_locator): 420 Use raptor_uri_as_counted_string to save a strlen. 421 422 * raptor/raptor_identifier.c: 423 (raptor_identifier_print) fputs arg cast [function for RAPTOR_DEBUG only] 424 425 * raptor/raptor_general.c (raptor_parsers_enumerate): Unsigned int. 426 (raptor_parse_uri_write_bytes): unsigned char* cast. 427 Declare raptor_xml_literal_datatype_uri_string. 428 (raptor_print_statement_detailed): Replace several fprintf with fputs 429 and fputc. 430 (raptor_print_ntriples_string): Use unsigned long/size_t for counts. 431 (raptor_statement_part_as_counted_string): unsigned char* 432 Use raptor_xml_literal_datatype_uri_string. 433 (raptor_statement_part_as_string): unsigned char* 434 (raptor_print_statement_part_as_ntriples): unsigned char*. Replace 435 several fprintf with fputs and fputc. 436 Use raptor_xml_literal_datatype_uri_string 437 (raptor_default_generate_id_handler): Casts for str* functions 438 (raptor_check_ordinal): unsigned char* 439 440 * raptor/ntriples_parse.c: 441 (raptor_ntriples_generate_statement,raptor_ntriples_string_as_utf8_string, 442 raptor_ntriples_parse_line): 443 Updated to take/return unsigned char* args and internals. Update 444 raptor_uri calls for similar changes. 445 Use raptor_xml_literal_datatype_uri_string 446 Lots of casts for str* functions char* arguments. 447 448 * raptor/Makefile.am: 449 Remove maintainer only n3 lex/yacc rules (flex/bison) 450 Post process the bison output to remove unused label to make g++ happier. 451 452 * raptor/raptor_internal.h: 453 Added raptor_xml_literal_datatype_uri_string for the RDF datatype 454 literal URI string, used several times. 455 raptor_check_ordinal takes unsigned char* 456 A couple of lengths, counts become unsigned int. 457 raptor_unicode_char_to_utf8, raptor_format_sax2_element, 458 raptor_xml_writer_cdata, raptor_xml_writer_comment, 459 raptor_xml_writer_as_string changed to 460 take/return unsigned char* for UTF8 strings. 461 462 * raptor/raptor.h: 463 raptor_new_uri_func, raptor_new_uri_from_local_name_func, 464 raptor_new_uri_relative_to_base_func, raptor_uri_as_string_func, 465 raptor_uri_as_counted_string_func URI factory methods 466 changed to all take/return unsigned char* for URI strings 467 raptor_statement_part_as_counted_string, 468 raptor_statement_part_as_string, 469 raptor_new_uri, raptor_new_uri_from_uri_local_name, 470 raptor_new_uri_relative_to_base, raptor_uri_as_string, 471 raptor_uri_as_counted_string 472 URI methods changed to take/return unsigned char* for URI strings 473 raptor_ntriples_string_as_utf8_string changed to return unsigned 474 char* for UTF8 string 475 raptor_uri_resolve_uri_reference, raptor_uri_filename_to_uri_string, 476 raptor_uri_uri_string_to_filename, 477 raptor_uri_uri_string_to_filename_fragment, raptor_uri_is_file_uri 478 Changed to use unsigned char* for URI strings, char* for filenames 479 4802003-12-01 Dave Beckett <Dave.Beckett@bristol.ac.uk> 481 482 * raptor/raptor_set.c (raptor_set_stats_print): Debug printing tweak. 483 4842003-11-28 Dave Beckett <Dave.Beckett@bristol.ac.uk> 485 486 * raptor/raptor_internal.h: 487 raptor_check_ordinal with now unsigned char* arg 488 raptor_sax2 content_cdata now unsigned char* 489 490 * raptor/raptor_general.c (raptor_check_ordinal): unsigned char *name 491 492 * raptor/raptor_parse.c: Lots of char/unsigned char casting. 493 494 * raptor/n3_common.h: Undo n3_syntax_error back to raptor_parser arg. 495 496 * raptor/n3_parser.y: (n3_parser_error) aka yyerror; take a void arg. 497 498 * raptor/n3_common.h: 499 The n3_syntax_error aka yyerror function takes a void arg. 500 501 * raptor/n3_parser.y: Casts for rdf_parser, strings. 502 503 * raptor/n3_lexer.l: 504 Define INPUT_FN as yyinput (C++) or input (otherwise) 505 Add more casts for C++ near rdf_parser, yytext. 506 (copy_token): More casts for malloc and string functions. 507 (copy_string_token): More size_t, casts. 508 509 * raptor/ntriples_parse.c (raptor_ntriples_term): 510 Use a size_t; cast for C++. 511 512 * raptor/ntriples_parse.c (raptor_ntriples_term_valid,raptor_ntriples_term): 513 Change 514 argument names from class to term_class to avoid C++ keyword. 515 516 * raptor/raptor_getopt.h: Protect prototypes for C++ 517 518 * raptor/raptor_stringbuffer.c: casts for RAPTOR_*ALLOC returns 519 520 * raptor/n3_parser.y: oops, raptort -> raptor 521 522 * raptor/n3_parser.y: another cast for RAPTOR_MALLOC return 523 524 * raptor/n3_parser.y: casts for RAPTOR_CALLOC returns 525 526 * raptor/configure.ac: 527 Move adding pkg-config glib2.0 cppflags/libs till after the other 528 libraries since that's more likely to be system wide and least 529 effect libxml2, other libraries that might be elsewhere. Mostly 530 affects OSX which is more sensitive to link order. 531 532 * raptor/raptor_stringbuffer.c (main): declare at start of block 533 534 * raptor/configure.ac: Check for libxml/SAX2.h - the new SAX2 API 535 536 * raptor/raptor_libxml.c: 537 Added a pile of libxml2_* macros to use the libxml2 SAX2 functions 538 when they are present, otherwise the SAX1. Not using the SAX2 parts 539 of the libxml2 API at present. 540 541 * raptor/strcasecmp.c: Add debug message arg casts. 542 543 * raptor/configure.ac: 544 Include libxml/parser.h when checking for other libxml2 headers 545 546 * raptor/ntriples_parse.c: Add some debug message arg casts. 547 (raptor_ntriples_parse_chunk): At end of input, check that there is 548 no remaining junk. 549 550 * raptor/ntriples_parse.c (raptor_ntriples_parse_chunk): 551 Fix line counting problems when \r\n 552 crosses a buffer or when a line ends at the end of a buffer. 553 last_char recorded in state. 554 555 * raptor/raptor_stringbuffer.c (main): Free returned strings. 556 557 * raptor/Makefile.am: 558 Added raptor_stringbuffer.c raptor_stringbuffer_test code 559 560 * raptor/raptor.h: Added raptor_stringbuffer. 561 562 * raptor/raptor_stringbuffer.c: Stringbuffer class for growing strings 563 564 * raptor/raptor_libxml.c (raptor_libxml_init): 565 With libxml2 use raptor_xml_characters_handler 566 for sax->characters. 567 568 * raptor/raptor_parse.c (raptor_cdata_grammar): Added is_cdata arg. 569 (raptor_xml_characters_handler): Added, calling raptor_cdata_grammar. 570 (raptor_xml_cdata_handler): Updated to call raptor_cdata_grammar with 571 is_cdata=1. 572 (raptor_xml_parse_init): With expat use raptor_xml_characters_handler 573 with XML_SetCharacterDataHandler. 574 (raptor_cdata_grammar): Tidy error reporting; do not use 575 raptor_xml_writer_as_string for a simple print. 576 577 * raptor/raptor_internal.h: 578 Added raptor_xml_characters_handler prototype. 579 5802003-11-26 Dave Beckett <Dave.Beckett@bristol.ac.uk> 581 582 * perl/Makefile.PL: 583 List the .pm files explicitly since perl 5.8.1 broke scanning 584 5852003-11-25 Dave Beckett <Dave.Beckett@bristol.ac.uk> 586 587 * raptor/manifest.pl: Add withdrawn tests check 588 5892003-11-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 590 591 * raptor/tests/ntriplesplus/Makefile.am: 592 Added more N-Triples Plus tests (1-7) and bad (0-3) 593 594 * raptor/tests/ntriplesplus/test-07.out, raptor/tests/ntriplesplus/test-07.ntp, raptor/tests/ntriplesplus/test-06.out, raptor/tests/ntriplesplus/test-06.ntp, raptor/tests/ntriplesplus/test-05.out, raptor/tests/ntriplesplus/test-05.ntp, raptor/tests/ntriplesplus/test-04.out, raptor/tests/ntriplesplus/test-04.ntp, raptor/tests/ntriplesplus/test-03.out, raptor/tests/ntriplesplus/test-03.ntp, raptor/tests/ntriplesplus/test-02.out, raptor/tests/ntriplesplus/test-02.ntp, raptor/tests/ntriplesplus/test-01.out, raptor/tests/ntriplesplus/test-01.ntp: 595 More N-Triples Plus tests 596 597 * raptor/tests/ntriplesplus/bad-00.ntp, raptor/tests/ntriplesplus/bad-01.ntp, raptor/tests/ntriplesplus/bad-02.ntp, raptor/tests/ntriplesplus/bad-03.ntp: 598 N-Triples Plus bad tests 599 600 * raptor/n3_lexer.l: 601 In prefix state, always return to initial on matching '.', then 602 error out. 603 (n3_syntax_error): Copy removed here. 604 (main): Init enough more of parser/locator so that n3_syntax_error 605 in main library can be used. 606 6072003-11-21 Dave Beckett <Dave.Beckett@bristol.ac.uk> 608 609 * raptor/rdfdump.c: extra newline in version 610 611 * raptor/rdfdump.c: extra newline in help 612 6132003-11-20 Dave Beckett <Dave.Beckett@bristol.ac.uk> 614 615 * librdf/rdf_parser_raptor.c: 616 (librdf_parser_raptor_error_handler,librdf_parser_raptor_warning_handler): 617 Do not pass on buffer directly since it is not a format string and 618 might contain % such as when it is a URI. This causes libc to abort 619 in the middle of vsnprintf with an assertion failure :/ 620 6212003-11-19 Dave Beckett <Dave.Beckett@bristol.ac.uk> 622 623 * demos/ntriples.pl: Style, HTML fixes. 624 Counting wasn't right. 625 626 * raptor/tests/Makefile.am: 627 Added check-ntriples-plus to check N-Triples Plus with the N-Triples 628 tests. 629 630 * raptor/n3_parser.y, raptor/n3_lexer.l, raptor/n3_common.h: 631 Added lineno to raptor_n3_parser context to track newlines for dos, 632 unix, mac since flex doesn't do that by default with yylineno. 633 634 * raptor/rdfdump.c: tidy help messages 635 636 * raptor/ntriples_parse.c: 637 Track newlines correctly for \r\n across chunks; move last_nl into 638 ntriples parser context. 639 (raptor_ntriples_parse_chunk,raptor_ntriples_parse_start): Use and 640 init last_nl in ntriples parser context. 641 6422003-11-16 Dave Beckett <Dave.Beckett@bristol.ac.uk> 643 644 * raptor/raptor.h: Added raptor_ntriples_string_as_utf8_string 645 646 * raptor/ntriples_parse.c (raptor_ntriples_term): 647 Added allow_utf8 argument and new class 648 RAPTOR_TERM_CLASS_FULL which uses all the passed in string. 649 (raptor_ntriples_string_as_utf8_string): Added, using 650 raptor_ntriples_term as above. 651 (raptor_ntriples_parse_line): Use size_t len args. 652 653 * utils/rdfproc.c: Replace a bunch of fprintf(..., "\n") with fputc 654 655 * raptor/rdfdump.c: 656 Use f/puts instead of print/fprintf when there are no %s 657 658 * librdf/rdf_heuristics.c (main): 659 Make test code silent unless LIBRDF_DEBUG > 1 660 Tidy code a little. 661 662 * librdf/rdf_digest.c, librdf/rdf_hash.c: 663 Replace a bunch of fprintf(..., "\n") with fputc 664 665 * raptor/raptor_uri.c (raptor_default_new_uri_for_rdf_concept): 666 Remove duplicate strlen(base_uri) 667 6682003-11-15 Dave Beckett <Dave.Beckett@bristol.ac.uk> 669 670 * raptor/n3_lexer.l: Document more ntriples plus 671 Error out if @prefix's name doesn't match name 672 673 * raptor/raptor_utf8.c (raptor_unicode_is_namestartchar): 674 Two | changed to ||. Likely 675 worked anyway 676 6772003-11-11 Dave Beckett <Dave.Beckett@bristol.ac.uk> 678 679 * raptor/libraptor.3: Noted raptor_set_feature with non_nfc_fatal 680 681 * raptor/raptor.h: 682 Added RAPTOR_FEATURE_NON_NFC_FATAL to pick between NFC errors or warnings. 683 684 * raptor/raptor_general.c (raptor_set_feature): 685 Added RAPTOR_FEATURE_NON_NFC_FATAL to pick 686 between NFC errors or warnings. 687 (raptor_set_parser_strict): Set feature_non_nfc_fatal default off. 688 689 * raptor/raptor_internal.h: 690 Added feature_non_nfc_fatal to pick between NFC errors or warnings. 691 692 * raptor/raptor_parse.c: 693 Put 'quotes' around element/attribute names in messages. 694 Use feature_non_nfc_fatal to pick between NFC errors or warnings. 695 696 * raptor/tests/Makefile.am: check-bad-nfc-rdf - use strict mode 697 698 * raptor/rdfdump.c: Document -m/--mode arg 699 7002003-11-10 Dave Beckett <Dave.Beckett@bristol.ac.uk> 701 702 * raptor/configure.ac: Added tests/ntriplesplus 703 704 * raptor/tests/ntriplesplus/Makefile.am: N-Triples plus tests 705 706 * raptor/tests/ntriplesplus/test-00.ntp, raptor/tests/ntriplesplus/test-00.out: 707 N-Triples Plus default namespace test 708 709 * raptor/tests/Makefile.am: added ntriplesplus dir 710 711 * raptor/raptor_qname.c (raptor_qname_string_to_uri): 712 Keep original name around for error reporting. 713 714 * raptor/rdfdump.c, raptor/n3_parser.y: parser now called ntriples-plus 715 716 * raptor/n3_parser.y: parser called ntriplesplus 717 718 * raptor/n3_parser.y (production directive): 719 Fix declaring default namespace prefix 720 7212003-11-09 Dave Beckett <Dave.Beckett@bristol.ac.uk> 722 723 * raptor/tests/Makefile.am: added bad-20.rdf 724 725 * raptor/tests/bad-20.rdf: 726 check non-namespaced element does not crash parser 727 728 * raptor/raptor_qname.c (raptor_new_qname,raptor_new_qname_from_namespace_local_name): 729 Do not 730 die if no URI for qname is available. It might be <a xmlns=""> 731 which is at least needed for some error reports or for embedded 732 qnames. Caused unnecessary crashes when parsing failed. 733 7342003-11-03 Dave Beckett <Dave.Beckett@bristol.ac.uk> 735 736 * configure.ac: 737 Added --with-mysql-config and automatic search for mysql_config program. 738 Added STORAGE_OBJS 739 740 * librdf/rdf_storage_mysql.c, librdf/rdf_storage_mysql.h: 741 RDF Storage in MySQL DB 742 743 * AUTHORS: Added Morten as MySQL store author 744 745 * librdf/rdf_storage.h, librdf/rdf_storage.c: Added mysql store 746 747 * librdf/Makefile.am: Added STORAGE_OBJS 748 Added rdf_storage_mysql.c rdf_storage_mysql.h 749 750 * librdf/librdf.h: Added LIBRDF_ERROR3 751 752 * raptor/raptor_xml.c (main): Make tests less chatty on success 753 754 * raptor/raptor_uri.c (main): Make it less chatty on success 755 756 * raptor/raptor_uri.c (raptor_uri_uri_string_to_filename_fragment): 757 Allow file://a|/ and file://a:/ 758 (main): For WIN32, check the above works. 759 760 * librdf/rdf_parser_raptor.c: 761 Add mapping of rdf:nodeID values to redland generated IDs. 762 (librdf_parser_raptor_init): Create the userid->redlandID hash map. 763 (librdf_parser_raptor_terminate): Added to delete the hash map. 764 (librdf_parser_raptor_generate_id_handler): Do the mapping. 765 766 * raptor/autogen.sh, autogen.sh: 767 remove ltmain.sh libtool before libtoolize 768 769 * python/redlandtest.py (class RedlandGetsCase): 770 Add test for making a new anon (no arg) blank node 771 772 * raptor/manifest.pl: 773 Emit test-results.rdf in the style of http://www.w3.org/2003/08/owl-systems/test-results-out 774 for machine processing of test runs 775 776 * raptor/raptor_general.c (raptor_parse_uri_with_connection): 777 Fail before parsing if 778 raptor_www_fetch failed. 779 780 * raptor/raptor_internal.h: 781 Added raptor_www_error_varargs internal prototype. 782 783 * raptor/raptor_www_libxml.c (raptor_www_libxml_http_error): 784 This was just all wrong, printing to 785 stderr and then exit(1). Change to use the proper 786 raptor_www_error_varargs callback. 787 788 * raptor/raptor_www.c (raptor_www_error_varargs): 789 Added, with va_list signature. 790 791 * raptor/raptor_general.c (raptor_parse_file): 792 When uri is given and base_uri is NULL, copy 793 the uri and free it later - fix to match the function documentation. 794 7952003-10-31 Dave Beckett <Dave.Beckett@bristol.ac.uk> 796 797 * raptor/raptor_general.c (raptor_parse_file): 798 fclose only when fh is not NULL 799 8002003-10-21 Dave Beckett <Dave.Beckett@bristol.ac.uk> 801 802 * librdf/rdf_serializer_rdfxml.c (librdf_serializer_rdfxml_terminate): 803 Free namespace before stack. 804 805 * librdf/rdf_serializer_rdfxml.c: 806 Use updated raptor_(new|free)_namespaces 807 (librdf_serializer_rdfxml_init, librdf_serializer_rdfxml_terminate): 808 Make the rdf namespace 809 (librdf_serializer_rdfxml_serialize_model): declare rdf:RDF 810 using raptor_new_qname_from_namespace_local_name 811 812 * raptor/raptor_parse.c (raptor_xml_end_element_handler): 813 For RAPTOR_DEBUG, declare 814 element_name at start of function. 815 8162003-10-20 Dave Beckett <Dave.Beckett@bristol.ac.uk> 817 818 * raptor/raptor.h: 819 raptor_namespace(s)_(new|free) renamed to raptor_(new|free)_namespace(s) 820 Added raptor_new_qname_from_namespace_local_name 821 822 * raptor/raptor_qname.c (raptor_new_qname_from_namespace_local_name): 823 Added. 824 825 * raptor/raptor_namespace.c: 826 raptor_namespaces_(new|free) renamed to raptor_(new|free)_namespaces 827 828 * raptor/raptor_namespace.c: 829 raptor_namespace_(new|free) renamed to raptor_(new|free)_namespace 830 831 * librdf/rdf_serializer_rdfxml.c: 832 Added a raptor_namespace_stack to the context. 833 (librdf_serializer_rdfxml_init): Updated with stack 834 (librdf_serializer_rdfxml_terminate): Added, to free stack. 835 (rdf_serializer_rdfxml_print_as_xml_attribute): Deleted. 836 (librdf_serializer_print_statement_as_rdfxml): Do less work in 837 finding max XML-name character for a property URI. 838 Replace use of rdf_serializer_rdfxml_print_as_xml_attribute 839 with calls to raptor_xml_escape_string. 840 (librdf_serializer_rdfxml_serialize_model): Use namespace stack 841 to declare rdf namespace - initial code. 842 (librdf_serializer_rdfxml_register_factory): Add terminate call. 843 844 * raptor/raptor_xml_writer.c: 845 raptor_namespaces_free renamed to raptor_namespaces_clear 846 847 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 848 Use raptor_new_sax2_element. 849 raptor_namespaces_free renamed to raptor_namespaces_clear 850 851 * raptor/raptor_internal.h: Added raptor_new_sax2_element 852 853 * raptor/raptor_sax2.c (raptor_new_sax2_element): Added. 854 855 * raptor/raptor.h: 856 Added prototypes for raptor_namespaces_new, raptor_namespaces_clear 857 858 * raptor/raptor_namespace.c 859 (raptor_namespaces_new,raptor_namespaces_free): 860 Added for constructor and destructor. 861 raptor_namespaces_free renamed to raptor_namespaces_clear for 862 emptying a statically allocated namespace stack. 863 864 * raptor/n3_parser.y: 865 raptor_namespaces_free renamed to raptor_namespaces_clear 866 867 * librdf/rdf_serializer_rdfxml.c 868 (librdf_serializer_rdfxml_raptor_error_handler): Added. 869 (rdf_serializer_rdfxml_print_xml_attribute): Take world arg. 870 Use raptor_xml_escape_string to do the escaping. 871 (librdf_serializer_print_statement_as_rdfxml): pass world arg to 872 calls to rdf_serializer_rdfxml_print_xml_attribute 873 874 * librdf/rdf_utf8.h: Make librdf_unicode_char_to_utf8 match code 875 8762003-10-16 Dave Beckett <Dave.Beckett@bristol.ac.uk> 877 878 * raptor/n3_parser.y: Moved n3 lexer/parser stuff to n3_common.h 879 Added uri field to union. 880 URI_LITERAL and QNAME_LITERAL now are uri. 881 PREFIX now expects an IDENTIFIER to follow. 882 Remove all make qname/uri and free(copied token) sequences since the 883 lexer does it. 884 Added fake yy_init_globals to stop dumb warning. 885 886 * raptor/n3_lexer.l: 887 Make raptor_uris here from lexer tokens (qnames or URIs) 888 For @prefix, recognise following token as an identifier specially 889 rather than try to make it a URI. 890 (n3_token_free): Free string or raptor_uri. 891 (main): Lots of fixups to fake enough n3 parser structure to 892 get it working fairly standalone. 893 894 * raptor/Makefile.am: Added n3_common.h 895 Fixup free of null inside flex-generated lexer. 896 897 * raptor/n3_common.h: N3 parser/lexer shared internals 898 899 * raptor/raptor_internal.h: Moved n3 lexer/parser stuff to n3_common.h 900 901 * raptor/n3_parser.y (n3_qname_to_uri): 902 Replace with call to raptor_qname_string_to_uri 903 and added length parameter. 904 905 * raptor/raptor_qname.c (raptor_new_qname): 906 Replace raptor_namespace_local_name_to_uri 907 with use of raptor_new_uri_from_uri_local_name. 908 (raptor_qname_string_to_uri): Added, making only the URI 909 equivalent to the qname and handling N3/RDQL-style special 910 cases such as "prefix:", ":" and NULL. 911 912 * raptor/raptor_internal.h, raptor/raptor.h: 913 Moved raptor_qname, raptor_namespace, raptor_namespace_stack 914 classes into public API. 915 Added raptor_qname_string_to_uri 916 917 * raptor/raptor_namespace.c (raptor_namespace_local_name_to_uri): 918 Removed - only used once 919 internally and was never public. 920 9212003-10-09 Dave Beckett <Dave.Beckett@bristol.ac.uk> 922 923 * raptor/n3_lexer.l (n3_token_free): Added, for cleanup in debugging. 924 (main): Init and clear token/lval. 925 926 * raptor/tests/Makefile.am: Added ex-53 927 928 * raptor/tests/ex-53.out, raptor/tests/ex-53.rdf: 929 Check allowing optional rdf:RDF 930 931 * raptor/rdfdump.c: 932 --assume/-a feature_assume_is_rdf deleted; rdf:RDF is optional. 933 934 * raptor/raptor_general.c, raptor/raptor_parse.c: 935 feature_assume_is_rdf deleted; rdf:RDF is optional. 936 937 * raptor/raptor_internal.h: feature_assume_is_rdf deleted 938 9392003-10-08 Dave Beckett <Dave.Beckett@bristol.ac.uk> 940 941 * librdf/rdf_node.c: Fix debug calls when LIBRDF_DEBUG > 1 942 9432003-10-06 Dave Beckett <Dave.Beckett@bristol.ac.uk> 944 945 * raptor/tests/wine.out, raptor/tests/wine.rdf: 946 OWL Wine Ontology from http://www.w3.org/TR/owl-guide/wine.rdf 947 948 * raptor/tests/Makefile.am: 949 Added OWL Wine ontology from http://www.w3.org/TR/owl-guide/wine.rdf 950 as wine.rdf wine.out 951 9522003-09-30 Dave Beckett <Dave.Beckett@bristol.ac.uk> 953 954 * raptor/n3_parser.y: 955 Remove n3_parser_lex; re-#define yylex to call direct 956 957 * raptor/n3_lexer.l (copy_string_token): 958 Destroy malloced string on error return. 959 960 * raptor/n3_parser.y (n3_parse): 961 Don't delete buffer, pop buffer state; a successful lex 962 does that. 963 964 * raptor/raptor_internal.h: Remove n3_token_print 965 966 * raptor/n3_parser.y: Use reentrant yacc parser. 967 Store the lexer lval in the n3_parser context. 968 Lots of #define trickery to get flex/bison to talk nicely. 969 Make n3_parser_error take an rdf_parser arg (this isn't configurable 970 by bison itself, so is likely fragile). 971 Remove use of extern in lineno; get it from the lexer. 972 Remove N3_Parser global; use rdf_parser local. 973 (n3_parser_error): Update for having rdf_parser arg, update locator 974 lineno from scanner. 975 (n3_syntax_error, n3_qname_to_uri): Get lineno from scanner. 976 (n3_parse): Remove fixmes, no need for protecting globals. 977 (main): Update for reentrant parser; init locator from standalone 978 args. 979 980 * raptor/n3_lexer.l: 981 Remove n3_lexer.c/.h prototypes no longer(?) needed with re-entrant lexer. 982 Remove use of lineno; let lexer do it. 983 Change lexer call to pass in lval from reentrant parser. 984 (n3_token_print): Pass in lval. 985 (main): Update for api changes. 986 9872003-09-29 Dave Beckett <Dave.Beckett@bristol.ac.uk> 988 989 * raptor/raptor_internal.h: Updates for reentrant lexer. 990 991 * raptor/n3_parser.y: Use reentrant lexer API. 992 Define YYLEX_PARAM to be scanner arg, from current grammar. 993 (n3_parser_lex): Take scanner arg. 994 (n3_syntax_error): Add rdf_parser arg. 995 (n3_parse): Init and destroy reentrant lexer. 996 (raptor_n3_parse_terminate): Tidy up any lexer stuff. 997 (main): Check for file not found, report it. 998 999 * raptor/n3_lexer.l: 1000 Switch to reentrant lexer. Pass rdf_parser into code, yyextra 1001 internally. 1002 (yywrap): Add scanner arg. 1003 (copy_string_token, n3_syntax_error): Add rdf_parser arg. 1004 (main): Use reentrant calls for lexer to set yyin, get_text. Use 1005 yylex_init/yylex_destroy. 1006 1007 * raptor/Makefile.am: n3_lexer_test depends on raptor_utf8 1008 1009 * raptor/raptor_parse.c: 1010 Add EXPAT_UTF8_BOM_CRASH fix updates for sax2 changes. 1011 1012 * raptor/configure.ac: Tweak for old flex version output 1013 1014 * raptor/configure.ac: Try to check flex is new enough. 1015 10162003-09-25 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1017 1018 * configure.ac: 3store linking fixes. 1019 1020 * librdf/rdf_storage_tstore.c: comment out unused context 1021 1022 * configure.ac: Bumped raptor min to 1.1.0 1023 Added --with-threestore. 1024 1025 * librdf/rdf_storage.c (librdf_init_storage): 1026 Call librdf_init_storage_tstore if HAVE_TSTORE 1027 (librdf_storage_add_statements): Do add statements over a stream here 1028 if lower level just has add_statement method. 1029 1030 * librdf/rdf_storage_tstore.h: RDF Storage using 3store 1031 1032 * librdf/Makefile.am: Added rdf_storage_tstore.c rdf_storage_tstore.h 1033 1034 * librdf/rdf_storage_tstore.c: RDF Storage using 3store 1035 10362003-09-22 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1037 1038 * librdf/rdf_init.h: Added internal librdf_error_varargs 1039 1040 * librdf/rdf_init.c (librdf_error_varargs): Added, internal 1041 10422003-09-21 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1043 1044 * raptor/n3_parser.y: Minor C reformatting 1045 10462003-09-20 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1047 1048 * raptor/raptor.h: Added raptor_parsers_enumerate prototype 1049 1050 * raptor/n3_lexer.l: minor reformatting 1051 1052 * raptor/n3_lexer.l (copy_string_token): Make \r, \n and \t work 1053 1054 * raptor/raptor_general.c (raptor_init): 1055 Ensure rdf/xml is default parser. 1056 (raptor_parsers_enumerate): Added, to enumerate parsers, returning 1057 their name & label. 1058 1059 * raptor/examples/grapper.c: 1060 Use raptor_parsers_enumerate to get parser names, labels. 1061 1062 * raptor/n3_lexer.l: flex archaeology for options 1063 1064 * raptor/examples/Makefile.am: Don't build examples by default 1065 10662003-09-19 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1067 1068 * raptor/raptor_www.c, raptor/raptor_general.c: 1069 Revert to old API for raptor_uri_uri_string_to_filename 1070 1071 * raptor/raptor.h, raptor/raptor_uri.c 1072 (raptor_uri_uri_string_to_filename): Restored to old API. 1073 (raptor_uri_uri_string_to_filename_fragment): Added with fragment arg. 1074 1075 * librdf/rdf_hash_bdb.c: Use bdb->set_flags only when present 1076 1077 * configure.ac: Check for BDB DB->set_flags 1078 10792003-09-17 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1080 1081 * raptor/n3_parser.y (n3_qname_to_uri): 1082 Handle NULL (":" in N3) returning the default 1083 namespace. It's not quite clear if this is legal. 1084 1085 * raptor/n3_parser.y (raptor_n3_generate_statement): 1086 Do nothing if some part of the triple 1087 is NULL. 1088 1089 * raptor/raptor_internal.h: n3_syntax_error now takes varargs 1090 1091 * raptor/n3_parser.y (n3_syntax_error): Now takes varargs 1092 1093 * raptor/n3_lexer.l: n3_syntax_error now takes varargs 1094 (copy_string_token): Added \u, \U. Fixed, \r, \n, \t 1095 1096 * raptor/n3_parser.y: Wrap a debugging printf 1097 1098 * raptor/n3_lexer.l: 1099 For blank literal "_:abc", don't include _: in the id passed to the parser. 1100 1101 * raptor/n3_parser.y: 1102 Throughout replace raptor_new_uri with raptor_copy_uri when copying 1103 existing base URI. 1104 1105 * raptor/n3_parser.y: 1106 Throughout: Handle NULL uri string meaning use the base URI 1107 1108 * raptor/n3_lexer.l: 1109 Handle <> (returning NULL) as well as <> with content. 1110 (n3_token_print): Update to match. 1111 (n3_syntax_error): Simple standalone copy here. 1112 1113 * raptor/n3_parser.y (n3_parser_error): 1114 Set lineno and call raptor_parser_simple_error to 1115 pass on the parsing error. 1116 (n3_syntax_error): Added. Set lineno and call raptor_parser_error 1117 to pass on a general syntax error. 1118 (n3_qname_to_uri): Init locator line before calling raptor_new_qname 1119 that may fail, calling raptor_parser_simple_error. 1120 1121 * raptor/raptor_internal.h: Add n3_syntax_error 1122 1123 * raptor/n3_lexer.l: Call n3_syntax_error on a syntax error 1124 1125 * raptor/examples/grapper.c: Add n3 syntax 1126 1127 * raptor/n3_parser.y (propertyList): Handle NULL verb, two cases. 1128 (raptor_n3_parse_start): No locator column, byte values just yet. 1129 1130 * raptor/n3_parser.y (n3_qname_to_uri): 1131 Call raptor_new_qname with rdf_parser for errors 1132 11332003-09-15 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1134 1135 * raptor/n3_parser.y: 1136 Don't raptor_free_uri shared uris made from qnames 1137 1138 * raptor/n3_parser.y (n3_parse): Tidy up flex buffers. 1139 (raptor_n3_parse_terminate): Destroy any flex state on exit. 1140 1141 * raptor/n3_parser.y (n3_parse): delete buffer after parse. 1142 1143 * raptor/n3_parser.y: Free uri strings returned from URI_LITERAL. 1144 1145 * raptor/raptor_identifier.c (raptor_new_identifier): 1146 Note uri, literal_datatype are shared and not copied. 1147 1148 * raptor/n3_parser.y: Free strings returned from QNAME_LITERAL. 1149 1150 * raptor/raptor_sequence.c (raptor_new_sequence): Use RAPTOR_MALLOC. 1151 (raptor_free_sequence): Free the raptor_sequence. 1152 1153 * raptor/raptor_identifier.c (raptor_new_identifier): 1154 Note id, literal, literal_language are 1155 shared and not copied. 1156 1157 * raptor/n3_parser.y (statement): Free identifier used for subject 1158 (propertyList): Free identifier used for verb 1159 1160 * raptor/n3_parser.y: 1161 Track when an identifier is copied using is_malloced 1162 (raptor_free_triple): Actually free the triple. 1163 1164 * raptor/raptor_internal.h, raptor/n3_parser.y: 1165 raptor_triple now just has 3 items. 1166 1167 * raptor/n3_parser.y (raptor_n3_parse_terminate): Free namespaces 1168 1169 * raptor/n3_parser.y (n3_parse): Do not parser NULL or empty string. 1170 (raptor_n3_parse_chunk): Do not parser empty buffer. 1171 1172 * raptor/rdfdump.c: (main) Don't free NULL uri 1173 1174 * raptor/n3_parser.y: More debugging messages. 1175 Recover from errors, don't generate partial triples. 1176 (n3_qname_to_uri): Return NULL if raptor_new_qname does not give a 1177 URI (some error happened). 1178 1179 * raptor/n3_lexer.l: Remove END token, should only use EOF 1180 Count lines right for \r\n|\r|\n 1181 Handle EOF in comments 1182 1183 * raptor/n3_parser.y: Remove END token, should only use EOF 1184 Add more debugging statements. 1185 Throughtout, change raptor_new_uri to raptor_new_uri_relative_to_base. 1186 (statement): Handle empty propertyList ("[]"). 1187 (propertyList 1): Copy verb into objectList, then append 1188 propertyList items (if not empty "[]" again). 1189 (objectList): Add empty item for "[]", returning NULL. 1190 (resource): For [], handle NULL and generate statements here 1191 before returning the generated id. 1192 (n3_parser_print_statement): Added for test code 1193 (main): In test code, init URI module only, create fake 1194 static rdf_parser and n3_parser and initialise enough (base URI, 1195 and context) so that it works. 1196 1197 * raptor/n3_parser.y: Add error recovery at '.' 1198 11992003-09-14 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1200 1201 * raptor/n3_parser.y: 1202 raptor_print_triple renamed to raptor_triple_print 1203 1204 * raptor/n3_parser.y: Only define raptor_print_triple if debugging. 1205 1206 * raptor/raptor_identifier.c, raptor/n3_parser.y: 1207 raptor_print_identifier renamed to raptor_identifier_print 1208 1209 * raptor/n3_parser.y: Raptor N-Triples+/N3 parser 1210 1211 * raptor/n3_lexer.l: Raptor N-Triples+/N3 lexer 1212 1213 * raptor/raptor_identifier.c (raptor_identifier_print): 1214 Added for debugging 1215 1216 * raptor/raptor_internal.h: When debugging, raptor_identifier_print 1217 1218 * raptor/raptor_identifier.c (raptor_new_identifier): 1219 Add literal, literal_datatype, 1220 literal_language args and handle them. 1221 (raptor_init_identifier): Deleted, not used (enough). 1222 (raptor_copy_identifier, raptor_free_identifier): Updated for 1223 literal, literal language and literal datatype. 1224 1225 * raptor/rdfdump.c: 1226 Use the syntax name (after validation) to intialise the parser rather 1227 than an ever-growing set of flags. 1228 1229 * raptor/raptor_uri.c (raptor_default_new_uri): 1230 If the filename had a fragment, re-append 1231 it to the file:URI after updating it to be correct. 1232 (raptor_uri_uri_string_to_filename): Add fragment_p arg to return 1233 the URI fragment after a discovered filename in a file:URI. 1234 (assert_uri_to_filename): Update call to 1235 raptor_uri_uri_string_to_filename. 1236 1237 * raptor/raptor_parse.c (raptor_xml_parser): Add namespaces. 1238 Elsewhere change rdf_parser->namespaces to 1239 rdf_xml_parser->namespaces. 1240 (raptor_xml_parse_start): Initialise the namespaces for rdf/xml. 1241 1242 * raptor/raptor_sequence.c: Raptor sequence ADT 1243 1244 * raptor/raptor_namespace.c (raptor_namespace_init): 1245 Add defaults arg to control which 1246 namespaces are added by default. 0=none, 1=xml, 2=... others 1247 (main): Update test code to give new arg. 1248 1249 * raptor/raptor_general.c (raptor_init): Call raptor_init_parser_n3. 1250 (raptor_start_parser, raptor_free_parser): Remove namespace code from 1251 here; moves into specific parser context code. 1252 (raptor_parse_file): Update for raptor_uri_uri_string_to_filename 1253 extra arg. 1254 1255 * raptor/raptor_xml_writer.c: 1256 (raptor_new_xml_writer) Update for raptor_namespaces_init defaults 1257 arg. 1258 1259 * raptor/raptor_rss.c (raptor_rss_emit): 1260 Use raptor_new_identifier rather than 1261 raptor_init_identifier and make items dynamically allocated. 1262 1263 * raptor/raptor_www.c: 1264 (raptor_www_file_fetch) Update for raptor_uri_uri_string_to_filename 1265 extra argument. 1266 1267 * raptor/raptor.h: 1268 Add literal, literal_datatype, literal_language to raptor_identifier 1269 structure. 1270 Add above arguments to raptor_new_identifier. 1271 Remove raptor_init_identifier - not used. 1272 Add fragment_p argument to raptor_uri_uri_string_to_filename. 1273 1274 * raptor/raptor_internal.h: 1275 Remove namespaces from raptor_parser; now in per-syntax contexts. 1276 Updated raptor_namespaces_init to take defaults arg. 1277 Added N3 class prototypes, for n3_token_print, raptor_init_parser_n3, 1278 n3_parser_lex. 1279 Added raptor_triple structure. 1280 Added sequence class prototypes. 1281 1282 * raptor/Makefile.am: 1283 Add n3_lexer.c n3_lexer.h both generated from n3_lexer.l by flex; 1284 add maintainer-only rules to do that. 1285 Add n3_parser.tab.c n3_parser.tab.h generated from n3_parser.y by 1286 yacc; add maintainer-only rules to do that. 1287 Add raptor_sequence.c and test. 1288 1289 * raptor/configure.ac: Add lex (flex required) and yacc 1290 12912003-09-12 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1292 1293 * Redland.i: 1294 Add prototypes for internal functions librdf_error, librdf_warning 1295 along with warning that these aren't in the API. 1296 12972003-09-11 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1298 1299 * python/RDF.py (Model): Added sync() calling librdf_model_sync 1300 1301 * python/redlandtest.py (RedlandModelGeneral): Test model.sync() 1302 13032003-09-08 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1304 1305 * python/RDF.py: 1306 (Node:_get_literal_value) Use dt_uri=Uri(string=... not (uri_string=... 1307 1308 * configure.ac: Bumped version to 0.9.15 1309 1310 * Snapshotted redland_0_9_14 for 0.9.14 release 1311 1312 * librdf/redland.spec.in: Require raptor 1.0.0 1313 1314 1315 * librdf/rdf_hash_bdb.c (librdf_hash_bdb_open): 1316 Restore previous call to db_create. 1317 Add an extra clause to do nothing inside big #ifdef chain 1318 if HAVE_DB_CREATE is present. 1319 1320 * configure.ac: Min raptor version is now 1.0.0 1321 1322 * raptor/configure.ac: Bumped version to 1.1.0 1323 1324 * Snapshotted raptor_1_0_0 for 1.0.0 release 1325 1326 * raptor/libraptor.3: new date 1327 1328 * raptor/ntriples.h,raptor/Makefile.am: Removed old header ntriples.h 1329 1330 * raptor/raptor_general.c, raptor/raptor.h, raptor/ntriples_parse.c: 1331 Removed deprecated functions as promised. Changes are described in 1332 the libraptor.3 man page. 1333 1334 * raptor/configure.ac: Updated for Raptor 1.0.0 1335 Shared library soname major now 1 1336 1337 * configure.ac: 1338 With only --with-bdb=PREFIX given, set the lib & include from that 1339 value. 1340 Use 'unknown' rather than none when some BDB bits given and no 1341 guessing. 1342 1343 * raptor/win32_config.h: Added R_OK define for access() 1344 1345 * raptor/tests/Makefile.am: test wording for failures 1346 1347 * librdf/rdf_hash_bdb.c (librdf_hash_bdb_open): 1348 Probably restore early DB3.0 to working with db_create. 1349 13502003-09-05 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1351 1352 * raptor/tests/Makefile.am: Added bad-05.nt 1353 1354 * raptor/tests/bad-05.nt: Bad Unicode character #x110000 1355 1356 * raptor/tests/test.out, raptor/tests/test.nt: fixes 1357 1358 * raptor/tests/test.nt: 1359 Removed resource18-20 - illegal Unicode chars. Added \U0010FFFF 1360 1361 * raptor/ntriples_parse.c (raptor_ntriples_term): 1362 Forbid Unicode characters outside #x0-#x10FFFF 1363 13642003-09-04 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1365 1366 * java/org/librdf/redland/World.java: Use librdf_version/copyright* 1367 1368 * Redland.i: Use librdf_version* and both librdf_copyright strings 1369 1370 * tcl/Makefile.am: clean more 1371 1372 * raptor/libraptor.3: Updated for 1.0.0 1373 Added raptor_parse_file_stream. 1374 Added new feature normalize_language. 1375 Added list of all static variables exported. 1376 1377 * configure.ac: Remove a bunch of unused LIBRDF_VERSION_ AC_SUBST. 1378 Remove LIBRDF_VERSION_INFO - not used 1379 Define LIBRDF_VERSION_DECIMAL here and make it an AC_SUBST. 1380 1381 * librdf/rdf_init.c: Use LIBRDF_VERSION_DECIMAL define. 1382 1383 * raptor/configure.ac: 1384 Define RAPTOR_VERSION_DECIMAL here and make it an AC_SUBST. 1385 1386 * raptor/raptor_general.c: Use RAPTOR_VERSION_DECIMAL define. 1387 1388 * redland-config.in: Added --version-decimal. 1389 1390 * redland-config.1, raptor/raptor-config.1: 1391 Document --version-decimal and --libtool-libs 1392 1393 * raptor/raptor-config.in: Added --version-decimal. 1394 1395 * raptor/rdfdump.c: Allow filename "-" to be used as standard input. 1396 When a filename is given, use raptor_parse_file. 1397 Adjust the error messages to mention file names when using 1398 raptor_parse_file 1399 1400 * raptor/raptor.h: Added raptor_parse_file_stream 1401 1402 * raptor/raptor_general.c (raptor_parse_file_stream): 1403 Added, allowing passing in of an existing 1404 FILE* stream (with optional filename) and parsing rather than 1405 raptor doing the fopen/fclose. 1406 (raptor_parse_file): A NULL uri argument now means stdin. 1407 1408 * raptor/raptor_internal.h, raptor/raptor_parse.c: 1409 Remove rdf_parser->fh 1410 1411 * utils/rdfproc.1: 1412 Update parse, serailize commands to note optional syntax names, list 1413 valid names and mention the default RDF/XML. 1414 1415 * utils/rdfproc.c: 1416 Make syntax name option to parser commands, defauting to (default 1417 parser) rdf/xml 1418 Hide 'query' command further. 1419 Print short copyright in usage, help. 1420 Tidy help messages. 1421 Delete rotten parser features 1422 1423 * librdf/rdf_parser_raptor.c (librdf_parser_raptor_constructor): 1424 Register "rdfxml" name and mime 1425 type, URL http://www.w3.org/TR/rdf-syntax-grammar. 1426 Keep raptor name around 1427 1428 * raptor/rdfdump.c: 1429 Use raptor_short_copyright_string in usage/help messages 1430 1431 * raptor/raptor_general.c, raptor/raptor.h: 1432 Added raptor_short_copyright_string 1433 1434 * utils/rdfproc.c: Free options hash 1435 1436 * librdf/redland.spec.in: Add rdfproc. 1437 Require raptor 0.9.12 min 1438 1439 * utils/rdfproc.1: tweak 1440 1441 * utils/Makefile.am: Added rdfproc.1 1442 1443 * utils/rdfproc.1: rdfproc manual page 1444 1445 * utils/rdfproc.c: help 1446 1447 * utils/rdfproc.c: 1448 Tidy usage message - use triples & graphs, explain source, target, arc. 1449 Add short copyright 1450 1451 * librdf/rdf_init.c, librdf/librdf.h: 1452 Added librdf_short_copyright_string. 1453 Made long one have line breaks and more URIs 1454 1455 * utils/rdfproc.c: statements now find 1456 Added optional CONTEXT to add/add-typed/remove, warning if not enabled. 1457 1458 * utils/rdfproc.c: Use rdfproc_getopt.h 1459 1460 * configure.ac: 1461 Enable public domain getopt in getopt.c & rdfproc_getopt.h for 1462 rdfproc if there is no getopt or getopt_long 1463 1464 * utils/Makefile.am: 1465 Enable public domain getopt in getopt.c & rdfproc_getopt.h 1466 1467 * utils/getopt.c, utils/rdfproc_getopt.h: 1468 public domain getopt for rdfproc 1469 1470 * configure.ac: Look for getopt.h 1471 1472 * librdf/rdf_hash.h: Added librdf_hash_put_strings 1473 1474 * librdf/rdf_hash.c (librdf_hash_put_strings): 1475 Added helper to add strings to hash easier. 1476 1477 * librdf/rdf_storage.c (librdf_new_storage_with_options): 1478 Added, taking a librdf_hash 1479 argument. Similar to librdf_new_model_with_options. 1480 1481 * librdf/rdf_storage.h: Added librdf_new_storage_with_options 1482 1483 * librdf/rdf_init.c: 1484 Renamed public statics to librdf_version* and librdf_copyright_string. 1485 Added librdf_version_decimal. 1486 1487 * librdf/librdf.h: Added REDLAND_API 1488 Added REDLAND_DEPRECATED 1489 Added public statics librdf_version* and librdf_copyright_string. 1490 1491 * utils/Makefile.am: Added rdfproc 1492 1493 * utils/rdfproc.c: 1494 Redland RDF processor - converted from examples/example4.c 1495 14962003-09-03 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1497 1498 * Makefile.PL: Updated for 0.9.13 1499 Uses configure.ac 1500 Pick the perl prefix to pass to configure. 1501 make clean needs a little help else it just returns 'exit 2'. 1502 install: Installs just the shared libraries for raptor and 1503 redland, then perl. 1504 Have a hand-crafted MANIFEST and MANIFEST.SKIP now. 1505 1506 * raptor/raptor_general.c (raptor_set_feature): 1507 Add new feature normalize_language 1508 (raptor_set_parser_strict): Set default for feature 1509 normalize_language to true. 1510 1511 * raptor/raptor.h, raptor/raptor_internal.h: 1512 Add new feature normalize_language 1513 1514 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 1515 Normalize language to lowercase. 1516 After http://www.w3.org/TR/rdf-concepts/#dfn-language-identifier 1517 Controlled by a new parser feature 'normalize_language'. 1518 1519 * raptor/ntriples_parse.c (raptor_ntriples_parse_line): 1520 Normalize language to lowercase. 1521 After http://www.w3.org/TR/rdf-concepts/#dfn-language-identifier 1522 15232003-09-01 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1524 1525 * librdf/Makefile.am: 1526 In AM_LDFLAGS, use @LIBRDF_LIBS@ for -L/-l libraries and 1527 @LIBRDF_INTERNAL_LIBS@ for libtool things. 1528 Remove not-needed $(LIBS) from test binaries link lines. 1529 1530 * examples/Makefile.am: 1531 In AM_LDFLAGS, use @LIBRDF_LIBS@ for -L/-l libraries and 1532 @LIBRDF_INTERNAL_LIBS@ for libtool things. 1533 1534 * Makefile.am: raptor subdirectory is now not always built 1535 1536 * configure.ac: TIdy some configure --with/--enable messages 1537 Added RAPTOR_CONFIG program (default raptor-config) 1538 Added --with-raptor=system or internal. By default will pick the best. 1539 Checks for minmum versions and warns if too old, but proceeds. 1540 raptor subdirectory is now not always built. 1541 1542 * raptor/raptor-config.in: Oops, -lraptor with --libs 1543 1544 * redland-config.in: 1545 Added --libtool-libs for compiling with librdf using libtool. 1546 1547 * configure.ac: 1548 Added LIBRDF_LIBTOOLLIBS for compiling with librdf using libtool. 1549 1550 * raptor/configure.ac: 1551 Added RAPTOR_LIBTOOL_LIBS for compiling with raptor using libtool. 1552 1553 * raptor/raptor-config.in: 1554 Added exec_prefix to make --libs generate the right -L 1555 Added --libtool-libs for compiling with raptor using libtool. 1556 15572003-08-31 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1558 1559 * configure.ac, raptor/configure.ac: 1560 dmalloc enabled only if dmalloc.h is present 1561 1562 * raptor/tests/Makefile.am: Removed warn-01 re-added accidently. 1563 1564 * raptor/tests/warn-00.out, raptor/tests/warn-00.rdf: 1565 Added rdf:bagID warning check 1566 1567 * raptor/tests/Makefile.am: 1568 Added scanning tests and ex-52.svg/out for inside SVG 1569 1570 * raptor/tests/ex-52.out, raptor/tests/ex-52.svg: 1571 Check scanning for rdf/xml in SVG 1572 1573 * raptor/raptor_general.c (raptor_set_parser_strict): 1574 Scanning and assuming are never default 1575 on, must be enabled 1576 1577 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 1578 Fix scanning for rdf:RDF. Do 1579 parent->child processing if the grammar has a state set up, 1580 in this case it is expecting a list of node elements. 1581 1582 * raptor/rdfdump.c: Set strict before setting other features 1583 1584 * raptor/rdfdump.c: Use strict_mode 1585 1586 * raptor/tests/warn-00.out, raptor/tests/warn-00.rdf, 1587 raptor/tests/warn-01.out, raptor/tests/warn-01.rdf, 1588 raptor/tests/warn-03.rdf: These are now errors not wrarnings 1589 1590 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 1591 Non-namespaced elements are now 1592 an error. 1593 (raptor_process_property_attributes): Tidy non-namespaced element name. 1594 (raptor_start_element_grammar): Give errors if an attempt is made 1595 to proceed dealing with elements with no namespace for property or 1596 node elements - attributes are caught above. 1597 1598 * raptor/tests/Makefile.am: 1599 Add bad-18.rdf, bad-19.rdf for non-namespaced elements 1600 1601 * raptor/tests/bad-18.rdf, raptor/tests/bad-19.rdf: 1602 Test node/property elements without namespaces fail 1603 1604 * raptor/raptor_internal.h: 1605 Add raptor_parser field 'magic' for libxml2 error/warning callback 1606 validation. and declare RAPTOR_LIBXML_MAGIC to set use there 1607 1608 * raptor/raptor_general.c (raptor_new_parser): 1609 Set RAPTOR_LIBXML_MAGIC field in structure for 1610 libxml2 error/warning callback validation. 1611 1612 * raptor/ntriples_parse.c (raptor_ntriples_term): 1613 Check that the string/URI term was terminated 1614 before the end of the string. 1615 1616 * raptor/tests/Makefile.am: Added bad-04.nt 1617 1618 * raptor/tests/bad-04.nt: Test for non-terminated URI 1619 1620 * raptor/raptor_libxml.c (raptor_libxml_warning,raptor_libxml_error): 1621 Validate the ctx pointer 1622 returned since sometimes it is a ctx, sometimes ctx->userData. The 1623 latter is what is expected. 1624 1625 * raptor/tests/Makefile.am: 1626 Oops, run bad ntriples tests in N-Triples mode 1627 1628 * raptor/rapper.1: Added --version/-v 1629 1630 * raptor/rdfdump.c: Tidied up option error handling, messages. 1631 Added --version/-v 1632 1633 * librdf/rdf_storage.c: 1634 (librdf_storage_add_statement, librdf_storage_add_statements, 1635 librdf_storage_remove_statement, 1636 librdf_storage_context_add_statement, 1637 librdf_storage_context_remove_statement) 1638 For these optional methods that can change the store, return failure 1639 if the factory does not implement them. 1640 (librdf_storage_context_add_statements): Added either using the 1641 factory method or librdf_storage_context_add_statement if that 1642 is missing. 1643 (librdf_storage_context_remove_statements): Added either using the 1644 factory method or librdf_storage_context_remove_statement if that 1645 is missing. 1646 (librdf_storage_context_as_stream): Added, deprecating 1647 librdf_storage_context_serialise. 1648 1649 * librdf/rdf_storage.h: 1650 Added new context_add_statements and context_remove_statements 1651 factory methods. Note that those are optional and so are 1652 all other context methods or methods that change the store (could be 1653 read only) 1654 Added prototypes for librdf_storage_context_add_statements, 1655 librdf_storage_context_remove_statements. 1656 Added prototype for librdf_storage_context_as_stream, deprecating 1657 librdf_storage_context_serialise. 1658 1659 * librdf/rdf_model_storage.c: 1660 (librdf_model_storage_context_add_statements) Added, calling 1661 librdf_storage_context_add_statements 1662 (librdf_model_context_remove_statements) Added, calling 1663 librdf_storage_context_remove_statements 1664 1665 * librdf/rdf_model.c: 1666 (librdf_model_context_add_statements) Use factory method if 1667 present otherwise use existing code and 1668 librdf_model_context_add_statement method. 1669 (librdf_model_context_remove_statements) Use factory method if 1670 present otherwise use existing code and 1671 librdf_model_context_remove_statement method. 1672 1673 * librdf/rdf_model.h: model_factory - note sync is optional. 1674 Add context_add_statements and context_remove_statements, both 1675 optional that librdf_model will implement using the singular forms if 1676 they are missing. 1677 1678 * librdf/rdf_node.c (librdf_node_equal): Remove unused var 1679 16802003-08-30 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1681 1682 * librdf/rdf_stream.c (librdf_stream_update_current_element): 1683 Do not do excessive work - 1684 only do a lower level check is_updated is false. 1685 (librdf_stream_next): Reset is_updated after an 1686 stream->next_method is performed. 1687 (librdf_stream_get_object): Do less work, just return 1688 librdf_stream_update_current_element, always the current element or 1689 NULL at the end. 1690 1691 * librdf/rdf_iterator.c (librdf_iterator_update_current_element): 1692 Do not do excessive work - 1693 only do a lower level check is_updated is false. 1694 (librdf_iterator_next): Reset is_updated after an 1695 iterator->next_method is performed. 1696 (librdf_iterator_get_object): Do less work, just return 1697 librdf_iterator_update_current_element, always the current element or 1698 NULL at the end. 1699 1700 * librdf/rdf_stream.h, librdf/rdf_iterator.h: Add is_updated flag 1701 1702 * librdf/rdf_node.c (librdf_node_equals): Actually use interned nodes. 1703 1704 * librdf/rdf_uri.c (librdf_uri_equals): Actually use interned URIs. 1705 1706 * librdf/rdf_model.c (Main): 1707 In test code, use librdf_parser_parse_string_as_stream rather 1708 than write files, delete them. 1709 1710 * librdf/rdf_node.c: 1711 Updates to share all librdf_node objects like for librdf_uri - usage 1712 counts and shared pointers. 1713 (librdf_init_node): Initialise the three hashes for resource, 1714 literal, blank nodes. 1715 (librdf_finish_node): Clean up the three hashes. 1716 (librdf_new_node_from_uri_string_or_uri): Internal helper 1717 function to do all resource node creation. Does the 1718 minimum of uri_string to/from uris objects conversion. 1719 If the resource node isn't in the resource hash (H_RESOURCE), add it 1720 otherwise just bump the usage count. 1721 (librdf_new_node_from_uri_string, librdf_new_node_from_uri, 1722 librdf_new_node_from_uri_local_name, 1723 librdf_new_node_from_normalised_uri_string): Use 1724 librdf_new_node_from_uri_string_or_uri. 1725 (librdf_new_node_from_typed_literal): If the librdf_node_encode-ed 1726 buffer of the literal node isn't in the literal hash (H_LITERAL), 1727 add it, otherwise just bump the usage count. 1728 (librdf_new_node_from_blank_identifier): If the identifier string 1729 isn't in the blank hash (H_BLANK), add it, otherwise just bump the 1730 usage count. 1731 (librdf_new_node_from_node): Now 1 line. 1732 (librdf_free_node): Decrement usage and then free and remove from the 1733 appropriate hashes if the usage was 0. 1734 (librdf_node_get_li_ordinal): Get the ordinal from the URI string 1735 since it isn't/wasn't ever stored. 1736 1737 * librdf/rdf_node.h: 1738 librdf_node - add usage count. Remove ordinal union part, never used. 1739 Add key & size to literal part. 1740 1741 * librdf/rdf_statement.c, librdf/rdf_query.c, 1742 librdf/rdf_concepts.c (main): Call librdf_init_node and 1743 librdf_finish_node in the test code. 1744 1745 * librdf/rdf_init.h: 1746 Added node mutext (when threading) and node hashes to world structure. 1747 1748 * librdf/rdf_init.c (librdf_world_open): Call librdf_init_uri. 1749 (librdf_world_set_uris_hash): Deleted 1750 (librdf_init_world): Don't use arg2. 1751 1752 * librdf/rdf_uri.c (librdf_new_uri): Fail if uri_string is NULL. 1753 Tidy up cleanup and thread un-/locking. 1754 (librdf_new_uri_from_uri): Actually use the interning of URIs. 1755 (librdf_new_uri_from_uri_local_name): Fail if URI is NULL. 1756 Tidy up cleanup and thread un-/locking. 1757 (librdf_new_uri_normalised_to_base, librdf_new_uri_relative_to_base): 1758 Fail if URI is NULL. 1759 1760 * raptor/configure.ac, configure.ac: 1761 Added --with-dmalloc option default auto for maintainer, no otherwise. 1762 17632003-08-29 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1764 1765 * perl/lib/RDF/Redland/Parser.pm: 1766 Use raptor in the example. Add a mime type example. 1767 1768 * demos/demo.pl: s/statement/triple/ in html 1769 1770 * demos/demo.pl: Update parser labels. 1771 Add owl namespace. 1772 Trim rdf content whitespace. 1773 Become read only if db is not writable to this user. 1774 1775 * docs/Makefile.am: Added .pod.html rule 1776 17772003-08-28 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1778 1779 * docs/fix-python-xhtml: 1780 Remove remaining broken fragments, example urls 1781 1782 * docs/fix-python-xhtml: Exclude __builtin__ class from links 1783 1784 * Released RPMs version 0.9.13-3 (patch redland-0.9.13-perl2.patch) 1785 1786 * librdf/redland.spec.in: 1787 (0.9.13-2, 0.9.13-3) patches added to fix broken perl UNIVERSAL::isa 1788 1789 * perl/lib/RDF/Redland/URI.pm, perl/lib/RDF/Redland/Node.pm: 1790 Use URI::URL in the isa 1791 1792 * Released RPMs version 0.9.13-2 (patch redland-0.9.13-perl1.patch) 1793 1794 * perl/lib/RDF/Redland/URI.pm, perl/lib/RDF/Redland/Node.pm: 1795 Fix totally broken use of UNIVERSAL::isa 1796 1797 * perl/lib/RDF/Redland/URI.pm (new): 1798 Fix arg promotion from URI objects. 1799 1800 * perl/lib/RDF/Redland/URI.pm (new): Fix cloning. 1801 1802 * configure.ac: Bumped version to 0.9.14 1803 1804 * Snapshotted redland_0_9_13 for 0.9.13 release 1805 1806 * docs/redland.pod: Note out of dateness 1807 1808 * docs/redland.pod, librdf/rdf_serializer_rdfxml.c, 1809 librdf/rdf_serializer_raptor.c, utils/db_upgrade.c, 1810 tcl/example.tcl, ruby/example.rb: Use librdf_model_as_stream 1811 1812 * java/org/librdf/redland/Model.java (as_stream): 1813 Added - use Use librdf_model_as_stream or with a context 1814 node, use librdf_model_context_as_stream 1815 1816 * python/RDF.py (Model.as_stream): Use librdf_model_context_as_stream 1817 1818 * perl/lib/RDF/Redland/Model.pm: 1819 Fix uses of RDF::Redland::Node::_ensure($node) to use it as a redland 1820 node. 1821 (as_stream): Take optional context node, promote as necessary, 1822 using librdf_model_context_as_stream. Add documentation. 1823 1824 * Redland.i: Added librdf_model_context_as_stream 1825 1826 * librdf/rdf_model.c, librdf/rdf_model.h: 1827 Added librdf_model_context_as_stream, deprecating 1828 librdf_model_context_serialize as confusing with the 1829 librdf_serializer class and mixing US/UK spelling. 1830 1831 * perl/serialize.pl, demos/demo.pl, perl/example.pl: Use as_stream 1832 1833 * perl/lib/RDF/Redland/Model.pm (as_stream): 1834 Added, deprecating serialise and serialise. 1835 1836 * librdf/rdf_model.c: 1837 Added librdf_model_as_stream, deprecating librdf_model_serialise 1838 as confusing with the librdf_serializer class. 1839 1840 * librdf/rdf_model.h, Redland.i: Added librdf_model_as_stream 1841 1842 * tcl/Makefile.am: TCL_INCLUDES 1843 1844 * php/php.ini: load shared library from . 1845 1846 * php/Makefile.am: 1847 Remove libtool again. Try "if OSX, else rest of world" approach. 1848 1849 * configure.ac: 1850 TCL_INCLUDE now TCL_INCLUDES and blank if not found, otherwise -Idir 1851 1852 * tcl/Makefile.am: 1853 Remove libtool again. Try "if OSX, else rest of world" approach. 1854 1855 * configure.ac: default TCL_INCLUDE to /usr/include 1856 1857 * ruby/Makefile.am: minor depends 1858 1859 * ruby/Makefile.am: 1860 Remove libtool again. Try "if OSX, else rest of world" approach. 1861 Package now 'redland' to match ruby convention. 1862 1863 * ruby/example.rb: Now redland 1864 1865 * tcl/Makefile.am: Don't -I-I@TCL_INCLUDE@ 1866 1867 * configure.ac: 1868 tcl version tweak -nonewline since OSX does silly things 1869 1870 * tcl/Makefile.am: Removed README 1871 1872 * tcl/README: Moved into ../docs/tcl.html 1873 1874 * tcl/Makefile.am: 1875 Use @TCL_VERSION@ for the library name and -I@TCL_INCLUDE@ 1876 1877 * configure.ac: 1878 --with-perl/python/java/tcl/php/ruby now either enable the language 1879 or enable and set the binary. Always try to find the version of 1880 the language before building the API automatically. 1881 Hunt for Tcl tcl.h and Java JDK JNI headers in various places. 1882 Report the languages available and language APIs built. 1883 1884 * php/Makefile.am: comments. 1885 testing is optional, php program might not exist 1886 1887 * php/Makefile.am: 1888 Very complex build and install using a libfake.la so I don't have to 1889 care about details of building shared object and dynamically loaded 1890 libraries. No OSX specific fixes here since I can't see what 1891 the convention is. 1892 1893 * tcl/Makefile.am: Be verbose in pkgIndex.tcl 1894 1895 * ruby/Makefile.am: docs 1896 1897 * tcl/Makefile.am: No -module here 1898 18992003-08-27 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1900 1901 * tcl/Makefile.am: 1902 Very complex build and install using a libfake.la so I don't have to 1903 care about details of building shared object and dynamically loaded 1904 libraries (such as on OSX). The OSX specific naming is burnt in here 1905 since the dynamically loaded library must be called Redland.dylib 1906 1907 * ruby/Makefile.am: 1908 Very complex build and install using a libfake.la so I don't have to 1909 care about details of building shared object and modules (such 1910 as on OSX). OSX specific naming have to be burnt in here since 1911 shared modules must be called Redland.bundle 1912 1913 * ruby/Makefile.am, tcl/Makefile.am: 1914 Make build and installing work again, without libtool. 1915 1916 * tcl/README: Update Tcl building info 1917 1918 * tcl/test.tcl: Back to auto_path . 1919 1920 * configure.ac: BDB check update again. 1921 Report discovered BDB version in summary 1922 1923 * configure.ac: Use bdbc_ for temporary variables in BDB checking code. 1924 1925 * perl/Makefile.PL: Revert to working version. No need for 1926 builddir/srcdir things. 1927 1928 * perl/Makefile.am: Revert: Remove inplace editing of PERL_MAKEFILE 1929 1930 * configure.ac: Another major BDB hunt and validate. This time 1931 check for db.h with version numbers. 1932 1933 * perl/Makefile.PL: Set FULLEXT to RDF/Redland 1934 1935 * perl/Makefile.am: Make sure PERL really uses the right FULLEXT, 1936 BASEEXT and BOOTSTRAP values 1937 1938 * librdf/rdf_hash_bdb.c: 1939 Remove BDB_CLOSE/FD_2_ARGS ifdef sequence at start - now tested in 1940 configure. 1941 Rename to HAVE_BDB_CLOSE/FD_2_ARGS 1942 1943 * configure.ac: bdb_dbname test was inverted 1944 1945 * configure.ac: use "if test ...; then", not "if [ ... ]; then" 1946 1947 * configure.ac: I give up. Put OSX fink hints here - look for /sw/bin. 1948 Add more Sleepycat/Berkeley DB checks, more guesswork and hunting for 1949 BDB headers in /usr/include/db* subdirectories. 1950 1951 * perl/Makefile.am: Use CFLAGS, not MEM. 1952 1953 * perl/Makefile.PL: Use CFLAGS, not MEM. 1954 Use redland-src-config --libs not --static-libs 1955 1956 * librdf/rdf_hash_bdb.c (librdf_hash_bdb_open): 1957 More BDB #ifdef mess for db->open 6 or 7 1958 arguments. 1959 1960 * librdf/rdf_utf8.c, librdf/rdf_uri.c, librdf/rdf_stream.c, 1961 librdf/rdf_storage.c, librdf/rdf_statement.c, 1962 librdf/rdf_serializer.c, librdf/rdf_query.c, librdf/rdf_parser.c, 1963 librdf/rdf_node.c, librdf/rdf_model.c, librdf/rdf_iterator.c, 1964 librdf/rdf_heuristics.c, librdf/rdf_hash.c, librdf/rdf_files.c, 1965 librdf/rdf_digest.c, librdf/rdf_concepts.c: 1966 When running a standalone test which has a STANDALONE #define set 1967 then do not compile the code from the module, but use the code in the 1968 linked librdf - all the tests link with this. This prevents 1969 complaints about dual symbols from the OSX linker, and crashes with 1970 statics that store the pointers to factories (models, storages, 1971 parsers). 1972 19732003-08-26 Dave Beckett <Dave.Beckett@bristol.ac.uk> 1974 1975 * configure.ac: Added AC_HEADER_TIME and checks for time.h, sys/time.h 1976 for gettimeofday 1977 1978 * librdf/rdf_parser_raptor.c 1979 (librdf_parser_raptor_generate_id_handler): Added to use 1980 librdf_world_get_genid to get a unique genid if the user does not 1981 provide one. 1982 (librdf_parser_raptor_parse_file_as_stream, 1983 librdf_parser_raptor_parse_as_stream_common, 1984 librdf_parser_raptor_parse_into_model_common): Use 1985 librdf_parser_raptor_generate_id_handler to generate IDs. 1986 1987 * librdf/rdf_node.c (librdf_new_node_from_blank_identifier): 1988 If a NULL identifier 1989 is passed in, use librdf_world_get_genid to get a unique genid. 1990 1991 * librdf/rdf_init.c: 1992 Added a slew of time related headers for gettimeofday 1993 (librdf_new_world): Get the startup time to init world genid_base. 1994 Set genid_counter to 1. 1995 (librdf_world_set_feature): Support 1996 LIBRDF_WORLD_FEATURE_GENID_BASE, LIBRDF_WORLD_FEATURE_GENID_COUNTER 1997 both integers. 1998 (librdf_world_get_genid): Added to return a new 1999 genid of the form "r"+base+"r"+(counter++) 2000 2001 * librdf/rdf_init.h: World gains genid_base and genid_counter. 2002 New world features LIBRDF_WORLD_FEATURE_GENID_BASE, 2003 LIBRDF_WORLD_FEATURE_GENID_COUNTER 2004 New internal librdf_world_get_genid 2005 2006 * docs/fix-python-xhtml: +email 2007 2008 * docs/fix-python-xhtml: -email 2009 2010 * docs/fix-python-xhtml: words 2011 2012 * docs/fix-python-xhtml: New pydoc, new bad use of ID. 2013 Skip the huge #commented heading in the source. 2014 2015 * examples/example2.c: 2016 Updated to a slightly more useful example - parsing from 2017 string content and adding/checking/removing a statement. 2018 2019 * python/redlandtest.py (testIterateModel, testContains): Added. 2020 2021 * librdf/rdf_storage.c: Revert, remove contexts check here. 2022 2023 * librdf/rdf_storage_list.c (librdf_storage_list_contains_statement): 2024 Handle contains with 2025 contexts using librdf_storage_list_find_statements. 2026 2027 * librdf/rdf_storage_hashes.c 2028 (librdf_storage_hashes_contains_statement): Handle contains with 2029 contexts using librdf_storage_hashes_find_statements. 2030 2031 * librdf/rdf_parser_raptor.c: removed unused variable 2032 2033 * librdf/rdf_storage.c (librdf_storage_hashes_contains_statement): 2034 Revert fix. 2035 2036 * librdf/rdf_storage_hashes.c 2037 (librdf_storage_hashes_contains_statement): Move the fix for 2038 stores with contexts into librdf_storage_contains_statement 2039 2040 * librdf/rdf_storage_list.c 2041 (librdf_storage_list_contains_statement): Build a 2042 librdf_storage_list_node to use to run librdf_list_contains. 2043 2044 * librdf/rdf_storage.h: 2045 Added index_contexts flag to librdf_storage_factory_s. 2046 2047 * python/RDF.py (Model.__iter__): Fix to return an iter 2048 2049 * python/setup.py: 2050 Remove MEM, MEM_LIBS code - rely on CFLAGS and LDFLAGS being passed in. 2051 Move version code to top. 2052 2053 * python/Makefile.am: Pass on CFLAGS and LDFLAGS to python setup.py 2054 2055 * python/example.py: empty statement 2056 2057 * python/RDF.py: words in copyright 2058 2059 * python/test/test.py, python/example.py: 2060 Updated to use 0.9 api features 2061 2062 * ruby/Makefile.am: test-ruby fix shared dir 2063 2064 * ruby/Makefile.am: LIBRUBYARG works 1.6-1.8 2065 2066 * python/redlandtest.py: 2067 Update by Edd Dumbill to test the 0.9 RDF.py changes. 2068 2069 * python/RDF.py: 2070 Major update to use Python 2.2+ idioms and features by Edd Dumbill. 2071 2072 General remarks 2073 2074 * Removed string exceptions and replaced with RedlandError ones 2075 2076 * Where underlying Redland C objects were unexpectedly null, raise 2077 exceptions rather than returning None, "" or [] as appropriate. 2078 2079 * Raise exceptions if Redland C constructors fail in Python 2080 constructors. 2081 2082 * Did quite a lot of documentation updating, where possible 2083 demonstrating preferred Pythonic usages. 2084 2085 * Added more unit tests to test changed functionality. 2086 2087 RDF.Node 2088 2089 * Constructor now accepts Uri to make a resource/property node, or 2090 a string to make a string literal 2091 2092 * Removed usage of node_type() in favour of is_resource(), is_blank() 2093 etc methods. 2094 2095 * DEPRECATED get_blank_identifier() etc methods in favour of 2096 node.blank_identifier etc properties. Raise exception if properties 2097 inconsistent with the node type are requested. 2098 2099 RDF.Statement 2100 2101 * No need to name subject, predicate, object in constructor any more. 2102 Uris or string literals accepted in place of nodes in constructor 2103 argument. 2104 2105 * __getattr__ method deleted, using new-style property() for 2106 subject, predicate, object 2107 2108 RDF.Model 2109 2110 * Deleted get_*_iterator methods 2111 2112 * Renamed sources() to get_sources(), targets() to get_targets(), 2113 arcs() to get_predicates(). Retained old method names as aliases. 2114 2115 * Added get_sources_context(), get_targets_context(), 2116 get_predicates_context() which return (node, context) tuples. 2117 2118 * Amended get_source(), get_sources() etc methods so that Uri and 2119 string literals were acceptable as shortcut types for nodes. 2120 2121 * Added find_statements_context() which returns (statement, context) 2122 tuples. 2123 2124 * Renamed context_remove_statements() to 2125 remove_statements_with_context(). Retained old method name as an 2126 alias. 2127 2128 * Added __delitem__ method so del[statement] and del[statement, 2129 context] work. 2130 2131 * Added append() method so append(statement) and append(statement, 2132 context) work. Suggest that append() is used in preference to 2133 add_statement() for Python idiomatic usage. 2134 2135 * DEPRECATED serialise() in favour of as_stream(). 2136 2137 * Added as_stream_context() to serialise (statement, context) tuples. 2138 2139 * Exception raised if len() is attempted on model with a non-countable 2140 storage. 2141 2142 * DEPRECATED Model.add(), Model.add_typed_literal_statement() usages: 2143 now that constructing Statements is easier, it's incongruous to have 2144 these in the model. Additionally it saves reproducing various bits 2145 of error checking that properly belong in the Node() constructor. 2146 2147 * Implemented __contains__() so "if statement in model" and 2148 "if (statement, context) in model" work as expected using the more 2149 efficient Redland C methods where possible. 2150 2151 RDF.Stream 2152 2153 * DEPRECATED Stream.context_iter(). Use in preference the _context 2154 variants of the appropriate Model methods. This leads to fewer 2155 lines of code. 2156 2157 RDF.Uri 2158 2159 * Amended constructor so strings or Uri instances can be passed as 2160 the first argument, without named parameters being required, and 2161 the right thing still happen. 2162 2163 ---- 2164 I did some indenting and white space editing for consistency 2165 with the existing code. 2166 2167 * librdf/rdf_list.c (librdf_list_iterator_get_method): Oops 2168 2169 * librdf/rdf_hash.c (librdf_hash_get_all_iterator_get_method): oops 2170 2171 * java/Makefile.am: 2172 Use check-local again, since we don't actually make programs called 2173 test1 and test2. 2174 2175 * Redland.i: Add prototypes for static, internal methods 2176 2177 * python/Makefile.am: Pass in CFLAGS to python 2178 2179 * librdf/rdf_hash.c (librdf_hash_get_all_iterator_get_method): Give 2180 an error for an unknown method and return NULL. 2181 2182 * librdf/rdf_list.c (librdf_list_iterator_get_method): 2183 Check method is get_object 2184 and return an error if it isn't. 2185 2186 * librdf/rdf_storage.c 2187 (librdf_storage_stream_to_node_iterator_get_method): Provide 2188 iterator get_context method as well as get_object, using the 2189 internal stream. 2190 2191 * ruby/Makefile.am: Made an rubylib make definition 2192 2193 * tcl/Makefile.am: Made an tcllib make definition 2194 2195 * tcl/Makefile.am: 2196 Interrogate tclsh for versions, and then guess include paths and 2197 library name. 2198 2199 * tcl/test.tcl, tcl/example.tcl: Back to redland 2200 2201 * tcl/test.tcl, tcl/example.tcl: Tcl package now Redland 2202 2203 * configure.ac: Look for tclsh for TCL 2204 2205 * ruby/Makefile.am: More libtool flags 2206 2207 * ruby/Makefile.am: Build shared objects again. 2208 2209 * ruby/Makefile.am: Don't depend on build-ruby 2210 2211 * librdf/rdf_storage_hashes.c 2212 (librdf_storage_hashes_contains_statement): Use 2213 librdf_storage_hashes_find_statements to make this work when 2214 contexts are being used. 2215 2216 * librdf/rdf_node.c (librdf_node_equals): Doc fix 2217 2218 * librdf/rdf_storage_list.c (librdf_storage_list_node_equals): 2219 When not using contexts, don't 2220 check the context nodes. 2221 2222 * Redland.i (librdf_call_python_message, librdf_call_perl_message): 2223 Fix use of 2224 vsnprintf in perl and python message callbacks to properly copy 2225 va_list using va_copy. Same bug that happened in raptor. 2226 22272003-08-25 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2228 2229 * java/Makefile.am: Added test-java again 2230 2231 * tcl/Makefile.am: Added test-tcl again 2232 2233 * ruby/Makefile.am: Added test-ruby again 2234 2235 * python/example.py: Modernise the python to 2.2+ 2236 2237 * python/RDF.py: Throughout: 2238 Updated to use new Python classes (2.2+) 2239 Replace __getattr__/__setattr__ with property() method. 2240 2241 * python/Makefile.am: check-local now also does unittest-python 2242 2243 * raptor/configure.ac: Bumped version to 0.9.13 2244 2245 * raptor/raptor_parse.c (raptor_start_element_grammar): 2246 With rdf:datatype, do not lose the 2247 URI string pointer. For rdf:ID, do not allocate the URI twice. 2248 2249 * raptor/raptor_parse.c (raptor_generate_statement): 2250 Do not set language when a datatype is given. 2251 2252 * raptor/raptor_xml_writer.c (raptor_new_xml_writer): 2253 Initialise writer buffer to an empty string 2254 to start (i.e. just \0). 2255 (raptor_xml_writer_start_element): Now assume buffer is always 2256 present, remove empty buffer case. 2257 (raptor_xml_writer_end_element,raptor_xml_writer_cdata): Handle 0 2258 length case, no strncpy. 2259 2260 * raptor/tests/Makefile.am: Added ex-51. 2261 Fix daml+oil test. 2262 2263 * raptor/tests/ex-51.out, raptor/tests/ex-51.rdf: 2264 Check empty XML literal works 2265 2266 * raptor/tests/ex-41.out: No language for datatyped literals. 2267 2268 * raptor/tests/daml-oil.rdf, raptor/tests/daml-oil.out, 2269 raptor/tests/Makefile.am: Updated to DAML+OIL schema 2001-03 as 2270 defined in http://www.daml.org/2001/03/daml+oil-index.html 2271 2272 * raptor/tests/daml-oil.out, raptor/tests/daml-oil.rdf: Added 2273 2000-11-30 http://www.cs.man.ac.uk/%7Ehorrocks/DAML-OIL/daml-oil.rdf 2274 2275 * raptor/tests/owl-schema.rdf, raptor/tests/owl-schema.out: 2276 Updated OWL schema http://www.w3.org/2002/07/owl to match 2277 that given in OWL Reference 2003-08-18 CR 2278 at http://www.w3.org/TR/2003/CR-owl-ref-20030818/#appB 2279 2280 * raptor/libraptor.3: Updated for 0.9.12 2281 2282 * python/RDF.py (Statement._get_subject): 2283 Missed accidently when updating to do more copies. 2284 2285 * configure.ac: No languages by default. 2286 22872003-08-24 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2288 2289 * perl/Makefile.PL: Include -I builddir librdf dir to get rdf_config.h 2290 2291 * Makefile.am: make languages after core libs 2292 2293 * perl/Makefile.PL: More attempts at src/builddir fix. 2294 2295 * perl/Makefile.am: Fix src/builddir for output of MakeMaker 2296 2297 * tcl/Makefile.am: again 2298 2299 * tcl/Makefile.am: oops, -c to compile 2300 2301 * ruby/Makefile.am: 2302 This dir is now compiled and installed conditional on ruby being 2303 enabled with --with-ruby (off by default). 2304 Move -local targets into standard 'make' and 'make install' ones. 2305 Try to compile with the right Ruby shared library and install in 2306 the Ruby libs dir. 2307 2308 * tcl/Makefile.am: Use @TCL@ 2309 2310 * tcl/Makefile.am: 2311 This dir is now compiled and installed conditional on tcl being 2312 enabled with --with-tcl (off by default). 2313 Move -local targets into standard 'make' and 'make install' ones. 2314 Try to compile the Tcl shared library and install in the Tcl 2315 libs dir. Finding the tcl.h includes is impossible, so note 2316 that in the README. 2317 2318 * tcl/README: Tcl building issues 2319 2320 * php/Makefile.am: php installs now 2321 2322 * configure.ac: 2323 In checking for progs, hunt for perl, python etc. rather than names. 2324 Added --with-perl/python/java/php/tcl/ruby with optional 2325 argument =PATH to set the script. This enables the particular 2326 language to be built. Present defaults are perl and python are 2327 enabled. 2328 Move --with-ecma-cli to be nearby and accept 'no' also. 2329 Moved --with-jdk to be nearby. 2330 The subdirectories called with standard 'make' and 'make install' 2331 now are based on languages. 2332 Report the languages configured in the build summary. 2333 2334 * python/Makefile.am: 2335 This dir is now compiled and installed conditional on python being 2336 enabled with --with-python (by default). 2337 Move -local targets into standard 'make' and 'make install' ones 2338 and create a fake build and install to keep automake happy, since 2339 we are using python's Distutils to do the real work. 2340 2341 * perl/Makefile.am: 2342 This dir is now compiled and installed conditional on perl being 2343 enabled with --with-perl (by default). 2344 Move -local targets into standard 'make' and 'make install' ones 2345 and create a fake build and install to keep automake happy, since 2346 we are using perl's MakeMaker to do the real work. 2347 2348 * java/Makefile.am: 2349 This dir is now compiled and installed conditional on java being 2350 enabled with --with-java, so move -local targets into standard 2351 'make' and 'make install' ones. 2352 Install both the shared library and jar. 2353 2354 * java/Makefile.am: core_wrap.c without makefile variables 2355 2356 * java/Makefile.am: 2357 EXTRA_LTLIBRARIES is broke - it won't build shared libraries. So 2358 fake it using lib_LTLIBRARIES and then override the installation for 2359 install-javalibLTLIBRARIES: to do nothing. 2360 2361 * java/Makefile.am: 2362 Shared library now librdf-java and built using libtool. 2363 2364 * java/org/librdf/redland/World.java, java/redland-fragment.java: 2365 Now rdf-java (aka librdf-java under unixen) 2366 2367 * librdf/rdf_init.c: Now 2003 2368 23692003-08-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2370 2371 * java/org/librdf/redland/Node.java: 2372 (constructors) Update to always copy rather than deal with shared 2373 nodes. 2374 (isResource, isLiteral, isBlank): Added. 2375 2376 * java/org/librdf/redland/Statement.java: 2377 (constructors, getSubject, getPredicate, getObject) Update node and 2378 statements to always copy rather than deal with shared. 2379 2380 * java/org/librdf/redland/Stream.java: 2381 Returning copied statements is default. 2382 2383 * java/org/librdf/redland/Iterator.java: 2384 Returning copied nodes is default. 2385 2386 * configure.ac: For --with-jdk, hunt for the machine-dependent subdir 2387 2388 * java/Makefile.am: Use JDK_INCLUDES 2389 2390 * java/org/librdf/redland/Parser.java: 2391 (parse) Added methods parsing content ina string into a model 2392 or as a stream of statements. 2393 2394 * java/org/librdf/redland/Model.java: sync has no return 2395 2396 * configure.ac: Added --with-jdk to specify where Java lives 2397 2398 * java/org/librdf/redland/Model.java, 2399 perl/lib/RDF/Redland/Model.pm (sync): Added calling 2400 librdf_model_sync 2401 2402 * Redland.i: Added librdf_model_sync 2403 2404 * librdf/rdf_model_storage.c (librdf_model_storage_sync): 2405 Added, invoking librdf_storage_sync 2406 2407 * librdf/rdf_model.c (librdf_model_sync): 2408 Added, invoking it in the implementation via new 2409 factory method sync. 2410 2411 * librdf/rdf_model.h: Added librdf_model_sync and factory method. 2412 2413 * librdf/rdf_storage_hashes.c (librdf_storage_hashes_sync): 2414 Added, implementing sync method. 2415 2416 * librdf/rdf_storage.c: Added librdf_storage_sync 2417 2418 * librdf/rdf_storage.h: Added librdf_storage_sync and factory method. 2419 2420 * python/Makefile.am, perl/Makefile.am: clean more 2421 2422 * perl/serialize.pl: Updated API tweaks 2423 2424 * perl/lib/RDF/Redland/Node.pm (new_from_literal): 2425 Ensure is_wf_xml is an integer. 2426 2427 * perl/lib/RDF/Redland/Model.pm (remote_statement): 2428 Allow NODE NODE NODE [CONTEXT] args 2429 2430 * perl/lib/RDF/Redland/Statement.pm (new): 2431 Promote node arguments to redland nodes using 2432 RDF::Redland::Node::_ensure. 2433 2434 * perl/lib/RDF/Redland/Node.pm (_ensure): 2435 Added, to promote other objects to redland nodes 2436 2437 * perl/lib/RDF/Redland/Model.pm (add): Now call add_statements. 2438 (add_statements,remove_statement,add_statements,remove_statements, 2439 remove_context_statements): Promote node arguments to redland nodes 2440 using RDF::Redland::Node::_ensure. 2441 2442 * perl/lib/RDF/Redland/Statement.pm (new_from_nodes): 2443 Fix call to constructor 2444 2445 * perl/example.pl: 2446 Test add_statement(NODE, NODE, NODE) form - with same NODE 2447 2448 * perl/lib/RDF/Redland/Model.pm (add_statement): 2449 Accept NODE NODE NODE [CONTEXT] as arguments too. 2450 24512003-08-22 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2452 2453 * Redland.i: typo 2454 2455 * perl/lib/RDF/Redland/Parser.pm: 2456 (parse_string_as_stream, parse_string_into_model): 2457 Added for parsing strings. Note that the base_uri is required. 2458 2459 * python/RDF.py: 2460 (Parser.parse_string_as_stream, Parser.parse_string_into_model): 2461 Note base_uri is required in docs, raise an error if it isn't there. 2462 2463 * python/RDF.py: 2464 (Parser.parse_string_as_stream, Parser.parse_string_into_model): 2465 Added. 2466 2467 * librdf/rdf_parser_raptor.c 2468 (librdf_parser_raptor_parse_as_stream_common, 2469 (librdf_parser_raptor_parse_uri_into_model_common): Ensure 2470 source_uri is set up correctly. Refuse to work without a 2471 base_uri. 2472 2473 * python/test/test.py: Added test with parser.parse_string_as_stream 2474 2475 * librdf/redland.spec.in: try to get perl install working again 2476 2477 * Redland.i: Added librdf_parser_parse_string_as_stream, 2478 librdf_parser_parse_string_into_model 2479 2480 * librdf/rdf_parser_raptor.c: Added new methods for implementing 2481 librdf_parser_parse_string_as_stream, 2482 librdf_parser_parse_string_into_model 2483 (librdf_parser_raptor_parse_as_stream_common): New, core 2484 work for both string and uri parsing into a stream. 2485 (librdf_parser_raptor_parse_uri_into_model_common): New, core 2486 work for both string and uri parsing into a model. 2487 2488 * librdf/rdf_parser.h (librdf_parser_parse_string_as_stream, 2489 librdf_parser_parse_string_into_model): Added 2490 2491 * librdf/rdf_parser.c (librdf_parser_parse_string_as_stream, 2492 librdf_parser_parse_string_into_model): Added 2493 24942003-08-21 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2495 2496 * raptor/Makefile.am: Remove -static from test links 2497 2498 * raptor/raptor_uri.c (main): 2499 Test xmlbase and retrievable URI tranforms. 2500 2501 * raptor/raptor_uri.c (raptor_uri_resolve_uri_reference): 2502 Handle #s relative to a uri-reference with a #fragment. 2503 2504 * raptor/raptor_www.c: 2505 (raptor_www_fetch) Use raptor_new_uri_for_retrieval to ensure 2506 that the URI-reference fragments are removed, and the URI path exists. 2507 2508 * raptor/raptor.h: Added raptor_new_uri_for_retrieval 2509 2510 * raptor/raptor_uri.c (raptor_new_uri_for_retrieval): 2511 Added, strips fragments and ensures / path is present. 2512 2513 * raptor/raptor_xml_writer.c (raptor_xml_writer_start_element, 2514 raptor_xml_writer_end_element): Use size_t for lengths. 2515 2516 * raptor/raptor_xml_writer.c (raptor_xml_writer_start_element): 2517 Set content_element_seen in parent 2518 only if there is a parent. 2519 (raptor_xml_writer_end_element): Change current_element to parent 2520 only if there is a current element. 2521 2522 * raptor/tests/Makefile.am: 2523 Pull out may-fail NFC checks into a separate set and don't exit 1 2524 if they do fail. Failure is possible since it requires GNOME glib2 2525 which isn't always available. 2526 2527 * librdf/redland.spec.in: Fix perl CORE dir 2528 2529 * librdf/redland.spec.in: Removed duplicate perl CORE shared objects 2530 2531 * librdf/redland.spec.in: Added redland-db-upgrade.1 to devel 2532 25332003-08-20 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2534 2535 * perl/Makefile.PL: 2536 Use .. for redland-src-config and add check it is there. 2537 2538 * python/setup.py: 2539 Use .. for redland-src-config and add an os.access check for it 2540 2541 * redland-src-config.in: test ! -r 2542 2543 * redland-src-config.in: Stop if cannot find raptor-src-config 2544 2545 * python/setup.py: append define_macros only on match. 2546 2547 * python/setup.py: Oh yes it is. 2548 2549 * python/setup.py: redland-src-config is not in top_srcdir 2550 2551 * python/redlandtest.py, python/setup.py, python/example.py: 2552 Set #! to /usr/bin/python 2553 2554 * python/RDF.py: 2555 Update classes to always return copies of Nodes, Statements 2556 from streams, iterators such as model.find_statements. 2557 The user should now not need care about shared versus copying 2558 of returned values but just use them. 2559 2560 * python/setup.py, python/Makefile.am: 2561 Pass MEM, MEM_LIBS to python compiling C 2562 2563 * perl/lib/RDF/Redland/Statement.pm: 2564 (subject,predicate,object) Copy redland node for librdf set methods. 2565 2566 * perl/lib/RDF/Redland/Node.pm: POD fixes 2567 2568 * perl/example.pl: Minor updates to use newer API calls. 2569 2570 * perl/lib/RDF/Redland/Statement.pm: 2571 (subject,predicate,object) Docs - note no copying neeeded. 2572 (predicate): Minor typo 2573 2574 * perl/lib/RDF/Redland/RSS.pm (Model.DESTROY): Call super to tidy up 2575 (Node.new): Debugging 2576 (Node.DESTROY): Call super to tidy up 2577 (properties): Do less work, no need to copy. 2578 2579 * perl/lib/RDF/Redland/Node.pm (new): Invoke clone properly. 2580 2581 * perl/lib/RDF/Redland/URI.pm (new): 2582 Constructor now copies as well as building URIs. Takes 2583 string literals or URIs by sniffing for classes. 2584 (new_from_uri): Replaced by new 2585 (clone): Another way to copy a URI. 2586 Document these changes 2587 2588 * perl/lib/RDF/Redland/Iterator.pm: 2589 Update for Node API change and no need to copy here 2590 (current, context): Do not copy returned node. 2591 2592 * perl/lib/RDF/Redland/Stream.pm: 2593 Update for Statement API change and no need to copy here 2594 (current, context): Do not copy returned statement. 2595 2596 * perl/lib/RDF/Redland/Model.pm: 2597 Update for Node, Statement API changes and no need to copy here 2598 (sources,targets,arcs): Don't copy statements to new lists. 2599 2600 * perl/lib/RDF/Redland/Statement.pm (new): 2601 Constructor now copies as well as building statements. Takes 2602 string literals, URIs by sniffing for classes. 2603 (new_from_statement,new_from_nodes): Replaced by new. 2604 (clone): Another way to do new_from_statement 2605 (subject,predicate,object): Do less work, always return a copy. 2606 Document these changes 2607 2608 * perl/lib/RDF/Redland/Node.pm (new): 2609 Constructor now builds resources, literals, URIs by sniffing 2610 for classes. 2611 (new_from_literal,new_from_typed_literal): Replaced with new_literal 2612 (new_xml_litearl): Added 2613 (new_from_node): Replaced with clone 2614 Document these changes 2615 2616 * perl/rss-dump.pl: 2617 Comment out (working) code that lets perl do the URI retrieval, 2618 assume raptor has that. 2619 Slight updates for changed perl API. 2620 2621 * librdf/rdf_node.c (main): 2622 Test: Revert accidently removed librdf_free_uri 2623 2624 * perl/Makefile.am, perl/Makefile.PL: 2625 Pass on MEM to CFLAGS when building perl. 2626 2627 * librdf/rdf_parser_raptor.c: 2628 Use LIBRDF_FREE for data returned from raptor. This is OK 2629 as long as raptor is in the redland sources. Otherwise it'll 2630 need to be SYSTEM_FREE. 2631 2632 * librdf/rdf_hash_bdb.c: 2633 Use SYSTEM_FREE for data allocated by BDB via malloc() 2634 2635 * librdf/rdf_init.c: Use SYSTEM_MALLOC/FREE for mutexes. 2636 (librdf_system_malloc, librdf_system_free): Added for dmalloc 2637 debugging. 2638 2639 * librdf/librdf.h: 2640 Added SYSTEM_MALLOC and SYSTEM_FREE for routines that return 2641 genuine malloc() and free()ed memory - outside Redland typically. 2642 2643 * raptor/raptor_general.c (raptor_check_ordinal): 2644 parentheses just for gcc 2645 26462003-08-19 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2647 2648 * python/setup.py: license now license apparently 2649 2650 * utils/redland-db-upgrade.1: fix db names 2651 2652 * utils/Makefile.am: Added redland-db-upgrade.1 2653 2654 * utils/redland-db-upgrade.1: Manpage for redland-db-upgrade 2655 2656 * librdf/rdf_node.c: 2657 Make nodes immutable - remove all node class set methods. 2658 (librdf_new_node_from_literal): Now just calls 2659 librdf_new_node_from_typed_literal. 2660 (librdf_new_node_from_typed_literal): 2661 librdf_new_node_set_typed_literal_value inlined here. 2662 (librdf_new_node_from_blank_identifier): 2663 librdf_set_blank_identifier inlined here. 2664 (librdf_new_node_from_node): Call the appropriate node constructors 2665 rather than malloc a new node and use the set methods. 2666 (librdf_node_set_uri, librdf_node_set_type, 2667 librdf_node_set_typed_literal_value, 2668 librdf_node_set_blank_identifier): Deleted and inlined where used. 2669 (librdf_node_set_li_ordinal,librdf_node_set_literal_value): Deleted, 2670 never used in this module. 2671 (librdf_node_decode): Call the appropriate node constructors 2672 rather than malloc a new node and use the set methods. 2673 (main): Remove node set methods from test code. 2674 2675 * librdf/rdf_node.h: 2676 Make nodes immutable - removed all public set methods into rdf_node.c 2677 2678 * java/org/librdf/redland/Node.java: 2679 Make nodes immutable - remove set methods setURI, setType, 2680 setLiteralValue. 2681 2682 * perl/lib/RDF/Redland/Node.pm: 2683 Make nodes immutable. Remove set parts of methods uri, 2684 blank_identifier and type. Remove method set_literal_value. 2685 2686 * python/RDF.py (Class Node): 2687 Make nodes immutable - remove set methods. 2688 2689 * Redland.i: Make nodes immutable - remove node class set methods. 2690 2691 * Redland.i: comment out calling python exceptions for now 2692 26932003-08-17 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2694 2695 * configure.ac: Remove MEM=-DLIBRDF_MEMORY_DEBUG if no dmalloc present. 2696 2697 * librdf/rdf_uri.c, librdf/rdf_stream.c, librdf/rdf_storage.c, 2698 librdf/rdf_statement.c, librdf/rdf_serializer.c, 2699 librdf/rdf_query.c, librdf/rdf_parser.c, librdf/rdf_node.c, 2700 librdf/rdf_model.c, librdf/rdf_iterator.c, 2701 librdf/rdf_heuristics.c, librdf/rdf_hash.c, librdf/rdf_files.c, 2702 librdf/rdf_digest.c, librdf/rdf_concepts.c (main): In test code, 2703 remove calls to librdf_memory_report for old internal memory 2704 debugging code. 2705 2706 * librdf/librdf.h: 2707 Remove LIBRDF_MEMORY_DEBUG and internal memory loss debugging code. 2708 External tools such as dmalloc work a lot better. 2709 2710 * librdf/Makefile.am: Removed rdf_memory.c 2711 2712 * librdf/rdf_memory.c: Memory debugging code superceeded by better 2713 external tools such as dmalloc 2714 2715 * librdf/rdf_hash_bdb.c, configure.ac: 2716 Added BDB 4.0 and 4.1 open interface support - 6 or 7 arguments. 2717 2718 * raptor/raptor_xml_writer.c: 2719 (raptor_xml_writer_end_element) Reset the current_element pointer 2720 on finishing. Makes any succeeding cdata do the right thing. 2721 2722 * librdf/redland.spec.in: Updates for new perl module names 2723 2724 * raptor/rdfdump.c: Inside redland, don't call raptor_init/finish, 2725 it's done by redland's world. 2726 27272003-08-13 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2728 2729 * raptor/raptor_rss.c (raptor_rss_parse_chunk): 2730 Stop working aftera a user abort of the parser. 2731 2732 * raptor/raptor_general.c (raptor_check_ordinal): c is not const 2733 2734 * raptor/rdfdump.c, raptor/raptor_xml_writer.c, 2735 raptor/raptor_xml.c, raptor/raptor_www_libwww.c, 2736 raptor/raptor_utf8.c, raptor/raptor_uri.c, raptor/raptor_set.c, 2737 raptor/raptor_sax2.c, raptor/raptor_qname.c, 2738 raptor/raptor_parse.c, raptor/raptor_namespace.c, 2739 raptor/raptor_locator.c, raptor/raptor_libxml.c, 2740 raptor/raptor_identifier.c, raptor/raptor_general.c, 2741 raptor/ntriples_parse.c: Move dmalloc includes into 2742 raptor_internal.h and use everywhere. 2743 2744 * raptor/raptor_internal.h: 2745 Add raptor dmalloc includes here to ensure all raptor code uses it 2746 or not consistently. 2747 2748 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_error_handler, 2749 librdf_parser_raptor_warning_handler): 2750 Remove inadvisable use of raptor_parser as a variable name. 2751 (librdf_parser_raptor_parse_uri_into_model): Zap unused world. 2752 2753 * librdf/rdf_hash.c (librdf_hash_from_array_of_strings): 2754 Fix return value. 2755 2756 * examples/Makefile.am: Added redland_dbus 2757 2758 * examples/redland_dbus.c: Initial import 2759 27602003-08-12 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2761 2762 * librdf/rdf_uri.c, librdf/rdf_stream.c, 2763 librdf/rdf_storage_list.c, librdf/rdf_storage_hashes.c, 2764 librdf/rdf_storage.c, librdf/rdf_statement.c, 2765 librdf/rdf_serializer_rdfxml.c, librdf/rdf_serializer.c, 2766 librdf/rdf_query.c, librdf/rdf_parser_raptor.c, 2767 librdf/rdf_parser.c, librdf/rdf_node.c, librdf/rdf_model.c, 2768 librdf/rdf_init.c, librdf/rdf_hash_memory.c, 2769 librdf/rdf_hash_bdb.c, librdf/rdf_hash.c, librdf/rdf_digest.c, 2770 librdf/rdf_concepts.c: 2771 Replaced most LIBRDF_FATAL1/2 calls with LIBRDF_ERROR1/2; both now 2772 take world arguments. The remaining fatal errors are either in 2773 redland startup when there is no sensible way to recover or in out of 2774 memory situations. The LIBRDF_ERROR1/2 calls now give the error and 2775 recover/fail the method if appropriate. The documentation on several 2776 methods were updated to note this. The error notification isn't 2777 always possible since some methods have way to return errors. 2778 A new method on the world class is needed to test for this state. 2779 2780 * librdf/librdf.h: 2781 Added LIBRDF_ERROR1 and LIBRDF_ERROR2 that take world argument and call 2782 either librdf_error(world, ...) or #ifdef LIBRDF_DEBUG, abort() 2783 2784 * librdf/rdf_parser_repat.c: Out of date, gone 2785 2786 * librdf/rdf_stream.c, librdf/rdf_storage_list.c, 2787 librdf/rdf_storage.c, librdf/rdf_serializer_rdfxml.c, 2788 librdf/rdf_parser_repat.c, librdf/rdf_parser_raptor.c, 2789 librdf/rdf_node.c, librdf/rdf_hash_memory.c, 2790 librdf/rdf_hash_bdb.c, librdf/rdf_digest.c: Replace most abort() 2791 with calls to LIBRDF_FATAL2 which aborts but gives a message too. 2792 2793 * librdf/rdf_init.c (librdf_world_get_feature, 2794 librdf_world_set_feature): Return failure 2795 rather than crash - not implemented or exposed in APIs yet. 2796 27972003-08-11 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2798 2799 * librdf/rdf_model.c (main): 2800 Add test that librdf_model_add_statement fails on a partial statement. 2801 2802 * librdf/rdf_model.c (librdf_model_size): 2803 Added warning that it might not return an answer. 2804 (librdf_model_add_statement, librdf_model_add, 2805 librdf_model_remove_statement, librdf_model_contains_statement, 2806 librdf_model_context_add_statement, 2807 librdf_model_context_remove_statement): Added check that the 2808 statement used is complete, using new librdf_statement_is_complete 2809 2810 * librdf/rdf_statement.h: Added librdf_statement_is_complete 2811 2812 * librdf/rdf_statement.c (librdf_statement_is_complete): 2813 Added to check that a statement has 2814 all the subject, predicate, object fields. 2815 28162003-08-08 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2817 2818 * raptor/tests/Makefile.am: Added warn-03 2819 2820 * raptor/tests/warn-03.rdf: Handle deleting of default namespaces 2821 2822 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 2823 Handle when a name has a 2824 namespace but that namespace has no URI such as xmlns="". In 2825 that case, the element has non-namespaced parts too, so skip. 2826 2827 * raptor/ntriples_parse.c (raptor_ntriples_parse_line): 2828 Casts so isspace calls get int args. 2829 2830 * raptor/raptor_uri.c (raptor_uri_is_absolute): 2831 Cast so isalpha and isalnum get int args. 2832 2833 * raptor/tests/Makefile.am: Addex ex-50 2834 2835 * raptor/tests/ex-50.out, raptor/tests/ex-50.rdf: 2836 Check parseType with unknown value 2837 2838 * raptor/raptor_parse.c (raptor_start_element_grammar): 2839 Handle parseType="Literal" 2840 without duplicating code. 2841 2842 * raptor/raptor_parse.c (raptor_start_element_grammar): 2843 Handle parseType="...." which 2844 isn't any of the other known types identically to 2845 parseType="Literal". 2846 2847 * raptor/raptor_general.c (raptor_check_ordinal): 2848 Return <0 on failure such as no legal 2849 characters at all. 2850 2851 * raptor/raptor_internal.h: Added raptor_check_ordinal. 2852 2853 * raptor/ntriples_parse.c (raptor_ntriples_generate_statement): Make 2854 RAPTOR_IDENTIFIER_TYPE_ORDINAL predicates for property URI strings 2855 that match the rdf:_<n> pattern with n a decimal integer>0. 2856 2857 * raptor/raptor_parse.c: 2858 Use raptor_check_ordinal for checking <n> in rdf:_<n> 2859 2860 * raptor/raptor_general.c (raptor_check_ordinal): 2861 Check the <n> in rdf:_<n> 2862 2863 * raptor/raptor_general.c (raptor_vsnprintf): 2864 Non-portable use of va_list fixed by copying the 2865 arguments with va_copy before passing to vsnprintf calls. The 2866 symptom was crashes on some architectures where this mattered, such 2867 as powerpc. 2868 28692003-08-07 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2870 2871 * librdf/rdf_parser_raptor.c: Track errors and warnings in parsing. 2872 (librdf_parser_raptor_error_handler(): Call raptor_parse_abort 2873 2874 * librdf/rdf_statement.c (librdf_statement_decode_parts): 2875 Updated for new librdf_node_decode API 2876 2877 * librdf/rdf_node.c (librdf_node_decode): 2878 Updated for new API - returns a new allocated node 2879 and sets the size pointer as a side effect. This removes the only 2880 use of librdf_new_node outside the node class. 2881 (main): Updated the test code to match. 2882 2883 * librdf/rdf_node.h (librdf_node_decode): Updated for new API 2884 2885 * raptor/raptor_general.c (raptor_parse_uri_with_connection): 2886 Return failure status. 2887 2888 * librdf/rdf_node.c (librdf_new_node): No args means make a blank node. 2889 (librdf_new_node_from_blank_identifier): Docs 2890 2891 * python/RDF.py (Model.serialise): 2892 Add optional contexts arg, to serialise contexts 2893 as stream of statements. 2894 (NS): New class to cache handy nodes from a namespace URI 2895 28962003-08-03 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2897 2898 * raptor/tests/Makefile.am: 2899 Added bad N-Triples tests bad-0[0-3].nt and checks 2900 2901 * raptor/tests/bad-00.nt, raptor/tests/bad-01.nt, 2902 raptor/tests/bad-02.nt, raptor/tests/bad-03.nt: Bad N-Triples 2903 2904 * raptor/ntriples_parse.c: raptor_ntriples_term_class Added for: 2905 (raptor_ntriples_term_valid): Checking validity of a ntriples term - 2906 this could be inlined. 2907 (raptor_ntriples_string) Renamed to: 2908 (raptor_ntriples_term) Use raptor_ntriples_term_valid. 2909 (raptor_ntriples_parse_line): Add more checks that whitespec exists 2910 between ntriples terms. 2911 Error to have typed literals with languages. 2912 2913 * perl/Makefile.PL: Remove -Dbool=int - this can only cause trouble 2914 2915 * perl/lib/RDF/Redland/Node.pm: 2916 Added methods is_resource, is_literal, is_blank using 2917 librdf_node_is_resource, librdf_node_is_literal, librdf_node_is_blank 2918 2919 * python/RDF.py: Removed NODE_TYPE_LI 2920 (Node) is_resource, is_literal, is_blank now use 2921 librdf_node_is_resource, librdf_node_is_literal, librdf_node_is_blank 2922 2923 * Redland.i, librdf/rdf_node.h, librdf/rdf_node.c: 2924 Added librdf_node_is_resource, librdf_node_is_literal, 2925 librdf_node_is_blank 2926 2927 * librdf/rdf_node.h, librdf/rdf_node.c: 2928 Delete LIBRDF_NODE_TYPE_LI - never used. Reserve the allocated type 3. 2929 2930 * raptor/tests/test.out, raptor/tests/test.nt: 2931 Updated to remove language from typed literals 2932 2933 * raptor/raptor_general.c (raptor_print_statement_detailed): 2934 Fix datatype uri output <uri> not <uri< 2935 29362003-07-31 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2937 2938 * raptor/raptor_general.c (raptor_parser_simple_error): 2939 Call raptor_parser_error_varargs, don't 2940 lose the arguments. 2941 29422003-07-30 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2943 2944 * configure.ac: ECMA CLR=>ECMI CLI since it's not just the runtime. 2945 ECMA CLI= ECMA Common Language Infrastructure. 2946 2947 * configure.ac: 2948 No need for CSHARP_COMPILE, dotGNU compiler accepts same args as mcs. 2949 29502003-07-29 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2951 2952 * configure.ac: Also substitute CSHARP_COMPILE for csharp 2953 2954 * configure.ac: 2955 Added --with-ecma-clr for mono or dotgnu versions of toolchain. 2956 Sets CLRRUN and CSHARPCC for use in csharp dir 2957 2958 * Makefile.am: Added csharp dir 2959 2960 * raptor/configure.ac: Bumped version to 0.9.12 2961 2962 * raptor/raptor_sax2.c: struct nsd: use size_t for length. 2963 2964 * raptor/configure.ac: 2965 Ensure the libxml2 xmlReader API is new enough (2.5.0+) such as 2966 having xmlParserSeverities. 2967 29682003-07-28 Dave Beckett <Dave.Beckett@bristol.ac.uk> 2969 2970 * raptor/raptor.h: 2971 Update raptor_generate_id_handler to take user_bnodeid arg. 2972 2973 * raptor/raptor_rss.c: Update calls of raptor_generate_id with 2974 user_bnodeid (NULL for existing calls) 2975 2976 * raptor/raptor_parse.c: 2977 Update calls of raptor_generate_id with user_bnodeid (NULL for 2978 existing calls) 2979 Use it to wrap the rdf:nodeID values for subject and object cases. 2980 2981 * raptor/raptor_internal.h: 2982 raptor_generate_id updated to add user_bnodeid 2983 2984 * raptor/raptor_general.c (raptor_set_generate_id_handler): 2985 Document final argument 2986 user_bnodeid from the rdf:nodeID attribute value. 2987 (raptor_default_generate_id_handler): Add user_bnodeid, return it if 2988 present. 2989 (raptor_generate_id): Add user_bnodeid and pass on. 2990 2991 * raptor/raptor_internal.h: Added raptor_xml_writer_comment 2992 2993 * raptor/raptor_namespace.c (raptor_namespace_copy): 2994 Don't copy uri and then lose it. 2995 2996 * raptor/raptor_xml_writer.c: 2997 Added current_element for tracking empty/not empty elements. 2998 (raptor_xml_writer_comment): Added, just concatenating the content 2999 via raptor_xml_writer_cdata. 3000 3001 * raptor/raptor_parse.c (raptor_xml_comment_handler): 3002 Call raptor_xml_writer_comment inside 3003 parseType="Literal" 3004 3005 * raptor/raptor_xml_writer.c: raptor_xml_writer gains stack depth. 3006 (raptor_free_xml_writer): Clear any content_cdata before finishing. 3007 (raptor_xml_writer_start_element) 3008 Add depth to raptor_format_sax2_element calls. Increase it 3009 (raptor_xml_writer_start_element,raptor_xml_writer_end_element): 3010 Add depth to raptor_format_sax2_element calls. Decrease it 3011 and raptor_namespaces_end_for_depth each time. 3012 3013 * raptor/raptor_namespace.c: 3014 Moved error_handler and error_data arguments around. 3015 (raptor_namespaces_start_namespace) Gets those as arguments 3016 (raptor_namespaces_start_namespace) Added, simpler version of _full 3017 (raptor_namespaces_start_namespace_full) Added, was the old interface 3018 but less error arguments. 3019 (raptor_namespaces_namespace_in_scope): Fix namespace URI comparison. 3020 (raptor_namespace_new) Looses error arguments. 3021 (raptor_namespace_copy) Added, copy to a new stack with a new depth. 3022 3023 * raptor/raptor_sax2.c (raptor_format_sax2_element): 3024 Gain stack depth argument. 3025 Only use namespace declarations when there is a namespace stack 3026 present. 3027 copy namespaces to new stack when new ones are needed. 3028 3029 * raptor/raptor_internal.h: 3030 Add error_handler and error_data to namespace_stack. 3031 raptor_namespaces_start_namespace gets those as arguments 3032 raptor_namespace_new looses them 3033 raptor_namespaces_start_namespace takes less args 3034 raptor_namespaces_start_namespace_full added 3035 raptor_namespace_copy added 3036 content_cdata_seen and content_element_seen back into sax2_element 3037 3038 * raptor/raptor_parse.c: 3039 Moved content_cdata_seen and content_element_seen back into 3040 sax2_element. 3041 Update for new raptor_namespaces_start_namespace calling convention. 3042 3043 * raptor/raptor_xml_writer.c: Debug 3044 3045 * raptor/raptor_namespace.c (raptor_namespaces_format): 3046 Fix missing counting : when present 3047 3048 * raptor/tests/ex-11.rdf, raptor/tests/ex-11.out: 3049 Updated to declare the html namespace as default, expect it in the 3050 N-Triples output. 3051 3052 * raptor/raptor_namespace.c (raptor_namespaces_namespace_in_scope): 3053 Added, checking if a given 3054 namespace is declared in scope. 3055 (raptor_namespaces_format): Added, returning a string to declare 3056 the given namespace. 3057 3058 * raptor/raptor_xml_writer.c: 3059 (raptor_xml_writer_start_element,raptor_xml_writer_end_element): 3060 Updated for raptor_format_sax2_element new arguments 3061 3062 * raptor/raptor_sax2.c (raptor_format_sax2_element): 3063 Add raptor_namespace_stack argument. 3064 Create xmlns declarations for elements not declared in the current 3065 stack state, using raptor_namespaces_format to create the string. 3066 3067 * raptor/raptor_internal.h: 3068 Added prototypes for raptor_namespaces_namespace_in_scope, 3069 raptor_namespaces_format 3070 raptor_format_sax2_element now takes a raptor_namespace_stack 3071 30722003-07-27 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3073 3074 * raptor/raptor_internal.h: 3075 raptor_xml_writer prototypes take unsigned char* 3076 3077 * raptor/raptor_parse.c: 3078 Move the code building parseType="Literal" strings to 3079 raptor_xml_writer class. 3080 (raptor_cdata_grammar): Added, just for symmetry mostly, with most 3081 code taken from raptor_xml_cdata_handler. 3082 3083 * raptor/raptor_xml_writer.c: 3084 Move the code building parseType="Literal" strings to 3085 raptor_xml_writer class. 3086 3087 * raptor/Makefile.am: Added raptor_xml_writer.c 3088 3089 * raptor/raptor_xml_writer.c: Initial version 3090 3091 * raptor/raptor_parse.c: 3092 Split content_cdata fields between sax2_element & (RDF/XML 3093 specific) element. 3094 raptor_element: Add xml_writer field. 3095 Various calls changed to use the new raptor_simple_message_handler 3096 for error handling implemented as raptor_parser_simple_error here. 3097 (raptor_xml_parser_simple_error_handler): Added, matching the 3098 raptor_simple_message_handler API and calling raptor_parser_error. 3099 (raptor_start_element_grammar): When parseType="Literal" appears, 3100 create a new raptor_xml_writer. 3101 (raptor_end_element_grammar): When parseType="Literal" ends, delete 3102 the raptor_xml_writer. 3103 3104 * raptor/raptor_sax2.c (raptor_format_sax2_element): 3105 Use raptor_simple_message_handler. 3106 3107 * raptor/raptor_general.c (raptor_start_parse): 3108 Use raptor_parser_simple_error with raptor_namespaces_init. 3109 (raptor_parser_simple_error): Added, matching the 3110 raptor_simple_message_handler API but same as raptor_parser_error. 3111 3112 * raptor/raptor_xml.c (raptor_xml_escape_string): 3113 Use raptor_simple_message_handler. 3114 3115 * raptor/raptor_qname.c (raptor_new_qname): 3116 Use raptor_simple_message_handler. 3117 3118 * raptor/raptor.h: raptor_sax2_element moved here, semi-public. 3119 Re-ordered URI functions earlier. 3120 Various methods changed to use (public) raptor_simple_message_handler 3121 for error handling. 3122 3123 * raptor/raptor_internal.h: Delete raptor_internal_message_handler. 3124 Added prototype raptor_parser_simple_error, implementing 3125 raptor_simple_error_handler API. 3126 Various methods changed to use (public) raptor_simple_message_handler 3127 for error handling. 3128 raptor_sax2_element moved to semi-public raptor.h 3129 rdf/xml-specific cdata parts moved from raptor_sax2_element to 3130 raptor_element. 3131 Added raptor_xml_writer functions. 3132 3133 * raptor/raptor_namespace.c: 3134 Use (public) raptor_simple_message_handler for error handling. 3135 31362003-07-24 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3137 3138 * raptor/raptor_parse.c (raptor_process_property_attributes): 3139 NFC error message tidy. 3140 (raptor_end_element_grammar): Fix NFC error reporting and recovery. 3141 Report NFC validation failures for XML Literals 3142 3143 * raptor/tests/Makefile.am: Added bad-15 bad-17 for bad NFC checking 3144 3145 * raptor/tests/bad-16.rdf, raptor/tests/bad-17.rdf, 3146 raptor/tests/bad-15.rdf: Bad NFC tests for property attribute, 3147 element, element ptl 3148 3149 * raptor/configure.ac: 3150 Added check for g_utf8_normalize in glib 2.0 using pkgconfig. 3151 Defines HAVE_G_UTF8_NORMALIZE if present. 3152 3153 * raptor/raptor_internal.h: Added raptor_utf8_is_nfc 3154 3155 * raptor/raptor_parse.c (raptor_process_property_attributes): 3156 Check for valid NFC on property 3157 attribute values. 3158 (raptor_end_element_grammar): Check for valid NFC on plain literal 3159 property element values. 3160 3161 * raptor/raptor_utf8.c (raptor_utf8_is_nfc): 3162 Added Normal Form C checking, using GNOME glib 3163 2.0 g_utf8_normalize initially. 3164 3165 * raptor/raptor_parse.c (raptor_start_element_grammar): 3166 Forbid property attributes and all 3167 rdf:* attributes (except rdf:ID) with rdf:parseType 3168 3169 * raptor/raptor_general.c: 3170 (raptor_statement_part_as_counted_string, 3171 raptor_print_statement_part_as_ntriples): Do not emit language for 3172 datatyped literals. 3173 3174 * raptor/raptor_parse.c (raptor_process_property_attributes): 3175 rdf:li is forbidden as a property attribute 3176 3177 * raptor/raptor_parse.c: rdf_syntax_terms_info table: rdf:li is 3178 forbidden as a property attribute 3179 3180 * raptor/libraptor.3: Updated raptor_set_feature for 3181 RAPTOR_FEATURE_ALLOW_BAGID and 3182 RAPTOR_FEATURE_ALLOW_RDF_TYPE_RDF_LIST 3183 3184 * raptor/tests/owl-schema.out, raptor/tests/ex-39.out: 3185 Updated to remove the <idList> rdf:type rdf:List triples 3186 3187 * raptor/raptor_general.c (raptor_set_feature, 3188 raptor_set_parser_strict): Added a new feature 3189 RAPTOR_FEATURE_ALLOW_RDF_TYPE_RDF_LIST (user argument) and 3190 feature_allow_rdf_type_rdf_List (internal) to generate the rdf:type 3191 rdf:List triple from rdf:parseType="Collection". The default is no 3192 after latest RDF/XML revisions. Not relevant for daml:Collection 3193 which get the daml:List always. 3194 3195 * raptor/raptor.h: 3196 Added a new feature feature RAPTOR_FEATURE_ALLOW_RDF_TYPE_RDF_LIST 3197 to control rdf:type rdf:List triple generation from 3198 rdf:parseType="Collection" (default no) 3199 3200 * raptor/raptor_internal.h: 3201 Added a new feature feature_allow_rdf_type_rdf_List 3202 to control rdf:type rdf:List triple generation from 3203 rdf:parseType="Collection" (default no) 3204 3205 * raptor/raptor_parse.c (raptor_start_element_grammar): 3206 Remove rdf:type rdf:List triple 3207 generation from rdf:parseType="Collection" by default. Not 3208 for daml:Collection. Add a new feature 3209 feature_allow_rdf_type_rdf_List to control this. 3210 32112003-07-22 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3212 3213 * raptor/raptor_xml.c (raptor_valid_xml_ID, raptor_xml_escape_string): 3214 unsigned long for 3215 all unichars. 3216 3217 * raptor/raptor_internal.h: 3218 Update raptor_utf8_to_unicode_char to use unsigned long output. 3219 3220 * raptor/raptor_utf8.c (raptor_utf8_to_unicode_char): 3221 Take and use unsigned long for unichars. 3222 3223 * raptor/raptor_rss.c: 3224 namespace->nspace since might be a C/C++ keyword sometime 3225 3226 * raptor/raptor_www_curl.c (raptor_www_curl_header_callback): 3227 Turn void* into char* 3228 3229 * raptor/raptor_set.c: Casts 3230 3231 * raptor/rdfdump.c (rdfdump_error_handler): 3232 Cast data into raptor_parser* 3233 3234 * raptor/raptor_www_curl.c: 3235 (raptor_www_curl_write_callback,raptor_www_curl_header_callback): 3236 Return unsigned int 0 on failure, cannot return -1 :) 3237 3238 * raptor/raptor_www.c: Some casts near mallocs 3239 3240 * raptor/tests/owl-schema.out: Updated to match 2003-03-18 version. 3241 3242 * raptor/tests/owl-schema.rdf: 3243 Updated to 2003-03-18 version (just changed DOS line endings) 3244 3245 * raptor/ntriples_parse.c (raptor_ntriples_parse_chunk): 3246 Handle just the end marker being given 3247 i.e. len=0 (and possibly s=NULL) 3248 3249 * raptor/raptor_parse.c (raptor_xml_end_element_handler): 3250 When parsing has been aborted 3251 (rdf_parser->failed), clean up used memory rather than just return. 3252 element_name is not used except when debugging, so #ifdef it. 3253 32542003-07-21 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3255 3256 * raptor/raptor.h: 3257 Export global statics raptor_copyright_string, raptor_version_string, 3258 raptor_version_major, raptor_version_minor, raptor_version_release 3259 and raptor_version_decimal 3260 3261 * raptor/raptor_general.c: 3262 Added statics raptor_copyright_string, raptor_version_string, 3263 raptor_version_major, raptor_version_minor, raptor_version_release 3264 and raptor_version_decimal 3265 3266 * raptor/Makefile.am: 3267 Removed raptor_cc code since ISO may charge a commercial use fee for 3268 this list. 3269 3270 * raptor/raptor_cc.gperf: ISO 3166-1 'The use of ISO 3166-1 in 3271 commercial products may be subject to a licence fee.' says the 3272 maintenance agency. Goodbye code. 3273 3274 * raptor/raptor_parse.c: 3275 Free former rdf:about, rdf:resource attribute string values before 3276 they are zapped. 3277 3278 * raptor/raptor_parse.c (raptor_xml_parse_terminate): 3279 Delete the sax2 object when cleaning 3280 up. 3281 3282 * raptor/rdfdump.c: 3283 Free new uri_string when it's allocated for a filename 3284 3285 * raptor/rdfdump.c: Tidied usage and help information. 3286 3287 * raptor/rapper.1: Updated to match current rapper arguments. 3288 3289 * raptor/Makefile.am: Added raptor_identifier.c 3290 3291 * raptor/raptor_general.c, raptor/raptor_identifier.c: 3292 Moved raptor_identifer classes to raptor_identifier.c 3293 32942003-07-20 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3295 3296 * raptor/rdfdump.c: 3297 If first argument is a filename, make it into a file:/// uri. 3298 3299 * raptor/raptor_uri.c (raptor_default_new_uri): 3300 Turn probably-bad file:filename 'URIs' into 3301 proper file:///... etc. ones. 3302 3303 * raptor/raptor_parse.c: 3304 Make use of forbidden rdf-namespaced property attributes into errors, 3305 as they should be. 3306 (raptor_forbidden_propertyAttribute_name): Now used. 3307 Reword some error messages. 3308 3309 * raptor/tests/Makefile.am (check-bad-rdf): 3310 Note when bad test succeeds instead of failing 3311 3312 * raptor/tests/Makefile.am: Added bad-13, bad-14 3313 3314 * raptor/tests/bad-14.rdf: 3315 rdf:Description is not a legal property attribute 3316 3317 * raptor/tests/bad-13.rdf: A property element cannot take rdf:about 3318 3319 * raptor/raptor_uri.c (raptor_new_uri_for_xmlbase): Docs 3320 33212003-07-15 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3322 3323 * raptor/libraptor.3: formatting 3324 3325 * raptor/libraptor.3: Added 3326 raptor_set_default_generate_id_parameters, 3327 raptor_set_generate_id_handler 3328 3329 * raptor/raptor_general.c (raptor_set_default_generate_id_parameters): 3330 Fix it right this time. 3331 3332 * raptor/raptor_general.c (raptor_set_default_generate_id_parameters): 3333 Fix base so the next 3334 generated ID uses the integer given, not integer+1 3335 3336 * raptor/raptor_general.c (raptor_free_parser): 3337 Free any user-set genid prefix. 3338 33392003-07-13 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3340 3341 * raptor/raptor.h: 3342 raptor_genid_type enum added - for RAPTOR_GENID_TYPE_BNODEID, BAGID 3343 Added prototypes for raptor_set_generate_id_handler, 3344 raptor_set_default_generate_id_parameters. 3345 3346 * raptor/raptor_general.c (raptor_set_generate_id_handler): 3347 Added, to sent the generate ID 3348 handler implementation. 3349 (raptor_set_default_generate_id_parameters): Added, to sent the 3350 generate ID handler parameters for the default implementation 3351 ("gen"+integer). 3352 (raptor_default_generate_id_handler): Added, moved default code from 3353 raptor_generate_id 3354 (raptor_generate_id): Use handler if it exists, otherwise the default 3355 implementation. 3356 3357 * raptor/raptor_internal.h: 3358 Added generate_id_handler data parts to raptor_parser internals. 3359 33602003-06-24 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3361 3362 * redland-config.in: Make --libs pick the right libdir - add 3363 exec_prefix variable declaration. 3364 3365 * utils/Makefile.am, librdf/Makefile.am, examples/Makefile.am: 3366 Use @LIBS@ in LIBS to pick up any system-wide use. 3367 3368 * configure.ac: 3369 Pick up any external CPPFLAGS, LDFLAGS, LIBS to start with. 3370 3371 * raptor/tests/Makefile.am: use top_builddir not .. 3372 3373 * raptor/Makefile.am: add libraptor.la to rapper dependencies 3374 33752003-06-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3376 3377 * python/RDF.py: Statements, Model: more docs, usage. 3378 3379 * python/Makefile.am: Added redlandtest.py 3380 3381 * python/redlandtest.py: Redland Python unit tests 3382 3383 * python/RDF.py: v0.8 3384 Updates from Matt Biddulph. 3385 (class Model) Now takes optional storage, if omitted, a memory 3386 storage model is created 3387 (class StreamWithContextIter, class IteratorWithContextIter, 3388 class IteratorIter, class StreamIter): Internal classes to create 3389 python iterators out of redland stream/iterators. 3390 (class Stream): New method context_iter that returns a python iterator 3391 returning (stream, context node) tuple on each iteration. 3392 (class HashStorage): Simple class to simplify creating hashed storage. 3393 (class MemoryStorage): Simple class to simplify creating in-memory 3394 storage. 3395 (class Parser): Name is now optional, defaults to raptor and RDF/XML. 3396 (class Parser): Methods parse_as_stream, parse_into_model will 3397 autoconvert uri arguments that are strings into redland URIs. 3398 3399 * python/test/test.py: s/if not thing/if thing is None/ 3400 3401 * raptor/rdfdump.c: 3402 Added -e/--ignore-errors otherwise rapper stops parsing after 1st 3403 error using raptor_parse_abort. 3404 34052003-06-14 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3406 3407 * raptor/raptor_rss.c (raptor_rss_insert_identifiers): 3408 Back to being legal C99. 3409 3410 * raptor/libraptor.3: Fix changes for 0.9.11 3411 3412 * raptor/libraptor.3: Updated for stuff since 0.9.10 3413 3414 * raptor/raptor_rss.c (raptor_rss_insert_identifiers): 3415 Init identifier after item 3416 3417 * raptor/rdfdump.c, raptor/configure.ac: 3418 Tweak RSS Tag Soup parser words 3419 34202003-06-10 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3421 3422 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 3423 Emit an error for namespace 3424 declarations that are RDF namespace URI plus some chars. Emit 3425 a warning if a namespace is declared same as RDF one but 1 char 3426 short. 3427 3428 * raptor/tests/Makefile.am: Added bad-12, warn-02 3429 3430 * raptor/tests/bad-12.rdf, raptor/tests/warn-02.out, 3431 raptor/tests/warn-02.rdf: Check for bad rdf namespace URI 3432 declarations and warn if last char of RDF namespace URI omitted 3433 34342003-06-09 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3435 3436 * librdf/rdf_uri.c (librdf_new_uri_from_filename): Removed unused vars. 3437 34382003-06-08 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3439 3440 * raptor/configure.ac: 3441 Fix the check for RSS parser requirements and report it more 3442 verbosely. 3443 3444 * raptor/configure.ac: 3445 RSS parser only if libxml/reader.h present (for now). 3446 3447 * raptor/configure.ac: libcurl reporting 3448 3449 * raptor/raptor_parse.c (raptor_xml_parse_chunk_): Use sax2->first_read 3450 3451 * raptor/raptor_parse.c (raptor_xml_parse_start,raptor_xml_parse_chunk_): 3452 Don't use first_read on newer libxml2. 3453 34542003-06-06 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3455 3456 * raptor/raptor_internal.h: 3457 raptor_sax2_s: Add first_read #if LIBXML_VERSION < 20425 3458 3459 * raptor/raptor_rss.c (raptor_rss_insert_identifiers): 3460 Fix GCC-ism, declare variable at 3461 start of block. 3462 3463 * raptor/raptor_parse.c (raptor_xml_parse_init): 3464 Move declaration of expat xp to start of 3465 function. 3466 3467 * raptor/examples/raptor_abort.c, raptor/examples/grapper.c, 3468 raptor/strcasecmp.c, raptor/rdfdump.c, raptor/raptor_xml.c, 3469 raptor/raptor_www_test.c, raptor/raptor_www_libxml.c, 3470 raptor/raptor_www_libwww.c, raptor/raptor_www_curl.c, 3471 raptor/raptor_www.c, raptor/raptor_win32.c, raptor/raptor_utf8.c, 3472 raptor/raptor_uri.c, raptor/raptor_set.c, raptor/raptor_sax2.c, 3473 raptor/raptor_rss.c, raptor/raptor_qname.c, raptor/raptor_parse.c, 3474 raptor/raptor_namespace.c, raptor/raptor_locator.c, 3475 raptor/raptor_libxml.c, raptor/raptor_general.c, 3476 raptor/ntriples_parse.c, raptor/configure.ac: Merged patch from 3477 Jose Kahan to switch to use raptor_config.h (helps people 3478 compiling from source with multiple config.h) 3479 34802003-06-05 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3481 3482 * raptor/examples/grapper.c (fs_ok_button_callback): 3483 Use raptor_uri_filename_to_uri_string 3484 to make the file URI. 3485 (main): If the argument is a filename, make a URI string out of it 3486 via raptor_uri_filename_to_uri_string and use it instead of 3487 assuming it is a URI. 3488 34892003-06-04 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3490 3491 * Redland.i, librdf/rdf_uri.h: Added librdf_new_uri_from_filename 3492 3493 * librdf/rdf_uri.c (librdf_new_uri_from_filename): 3494 Added using raptor_uri_filename_to_uri_string 3495 3496 * autogen.sh: Report min SWIG version 3497 34982003-05-26 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3499 3500 * demos/rss-show.pl: words 3501 35022003-05-12 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3503 3504 * raptor/raptor_xml.c (raptor_xml_escape_string): 3505 Changed API - does not require a parser arg. 3506 3507 * raptor/raptor_internal.h: Moved SAX2 parts and prototypes here. 3508 3509 * raptor/raptor_general.c: 3510 Use RAPTOR_PARSER_RSS to wrap init of RSS parser 3511 3512 * raptor/raptor.h: 3513 Changed prototype of raptor_xml_escape_string - does not require a 3514 parser arg. 3515 3516 * raptor/raptor_parse.c: 3517 Split raptor_element/raptor_rdf_xml_parser into SAX2/RDF bits. 3518 Lots of function and structure renaming. 3519 3520 * raptor/configure.ac: 3521 Define RAPTOR_PARSER_RSS only when libxml is around 3522 3523 * raptor/raptor_sax2.c: SAX2 API 3524 3525 * raptor/Makefile.am: Added raptor_sax2.c 3526 35272003-04-30 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3528 3529 * perl/lib/RDF/Redland/Model.pm: 3530 Same as before but with right package names 3531 (find_statements): Return copies of shared statements 3532 (sources,arcs,targets): Return copies of shared nodes 3533 3534 * perl/lib/RDF/Redland/Model.pm (find_statements): 3535 Return copies of shared statemetns 3536 (sources,arcs,targets): Return copies of shared nodes 3537 35382003-04-29 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3539 3540 * librdf/rdf_statement.c (librdf_statement_to_string): 3541 Handle buffer size counting when parts are null 3542 3543 * librdf/rdf_heuristics.c (librdf_heuristic_gen_name): 3544 Check loop doesn't go before start. 3545 3546 * librdf/rdf_utf8.c (librdf_utf8_print): 3547 check length first before looking in what might 3548 be a byte beyond the length 3549 35502003-04-28 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3551 3552 * raptor/raptor_rss.c (raptor_rss_emit): Use raptor_free_identifier 3553 3554 * raptor/raptor_rss.c (raptor_rss_emit): 3555 Properly init the raptor_identifier items 3556 35572003-04-27 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3558 3559 * raptor/raptor_rss.c, raptor/raptor_parse.c, raptor/ntriples_parse.c: 3560 Use raptor_parser_register_factory with label param. 3561 3562 * raptor/raptor.h: Added raptor_get_name, raptor_get_label 3563 3564 * raptor/raptor_general.c: Added parser label to factory 3565 (raptor_parser_register_factory): Add label param, copy it. 3566 (raptor_get_name): Added, return name of parser. 3567 (raptor_get_label): Added, return label of parser. 3568 3569 * raptor/raptor_internal.h: Added parser label to factory 3570 3571 * raptor/examples/grapper.c: Remove some g_printfs 3572 Remove use of display qnames - not impl. 3573 3574 * raptor/raptor_general.c (raptor_statement_part_as_counted_string): 3575 Init len for literals with 3576 the literal len included 3577 3578 * raptor/examples/grapper.c: Don't use triples_list for now. 3579 (grapper_model_set_syntax): Fix output. 3580 (grapper_model_statements_handler): Remove newlines from literals. 3581 3582 * raptor/raptor_general.c (raptor_statement_part_as_counted_string): 3583 Init len for literals. 3584 35852003-04-25 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3586 3587 * raptor/raptor_set.c: fix doccumment 3588 35892003-04-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3590 3591 * raptor/examples/grapper.c: 3592 Replace N-Triples / RDF/XML with dropdown menu and add RSS tag soup. 3593 35942003-04-22 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3595 3596 * librdf/redland.spec.in: Updated for Redhat 9 and RPM 4 3597 3598 * python/RDF.py: Added blank node is_blank() method example 3599 (Node.__set_attr): Fix set_type 3600 (Node.get_blank_identiifer, Node.set_blank_identiifer): Added 3601 3602 * python/RDF.py: some perlisms in the docs/comments 3603 3604 * python/RDF.py: 3605 this one file is now also under BSD without advertising/MIT license 3606 36072003-04-19 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3608 3609 * raptor/rdfdump.c: Added -i/--input for rdfxml, ntriples, rss 3610 3611 * raptor/raptor_internal.h: More RAPTOR_DEBUG macros 3612 3613 * raptor/raptor_general.c: 3614 (raptor_init) Added rss parser via raptor_init_parser_rss when 3615 HAVE_LIBXML_XMLREADER_H 3616 3617 * raptor/Makefile.am: Added raptor_rss.c 3618 3619 * raptor/raptor_rss.c: Raptor RSS parser 3620 36212003-04-17 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3622 3623 * raptor/configure.ac: Bumped version to 0.9.11 3624 3625 * raptor/libraptor.3: Added raptor_set_parser_strict 3626 Added raptor_www_no_www_library_init_finish 3627 3628 * raptor/raptor.spec.in: Require curl 3629 Added raptor-config, raptor.pc 3630 3631 * raptor/tests/Makefile.am: 3632 Move rdf:bagID tests to list of tests with warnings for now (while 3633 testing in lax mode) 3634 36352003-04-15 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3636 3637 * docs/fix-pod-xhtml: and a newline 3638 3639 * docs/fix-pod-xhtml: added xml decl 3640 3641 * docs/fix-pod-xhtml: More fixing 3642 3643 * docs/fix-pod-xhtml: New style POD to html cleanup 3644 3645 * librdf/rdf_storage_hashes.c (librdf_storage_hashes_register): 3646 Allow NULL name 3647 3648 * perl/lib/RDF/Redland/Storage.pm: add rest of storage options to docs 3649 3650 * raptor/rdfdump.c (print_statements): 3651 Print the program name not "rdfdump" hardcoded. 3652 3653 * librdf/rdf_node.h, librdf/rdf_node.c: 3654 Added librdf_node_get_literal_value_as_counted_string 3655 36562003-04-14 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3657 3658 * raptor/configure.ac: Check for libxml/xmlreader.h 3659 36602003-04-13 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3661 3662 * raptor/examples/grapper.c: Added about box, triples count. 3663 Free some allocated memory. Rest seems lost in gtk. 3664 3665 * raptor/examples/Makefile.am: Add AM_CFLAGS, LIBS for debugging 3666 3667 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 3668 Don't copy an empty attributes array. 3669 3670 * raptor/configure.ac: Added raptor.pc 3671 3672 * raptor/Makefile.am: 3673 Added raptor.pc pkgconfig file installing to $(libdir)/pkgconfig 3674 3675 * raptor/raptor.pc.in: pkgconfig for raptor 3676 36772003-04-12 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3678 3679 * librdf/Makefile.am: Added rdf_model_storage.h 3680 3681 * librdf/rdf_model_storage.h: RDF Model Storage Interface definition 3682 36832003-04-10 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3684 3685 * librdf/rdf_model.c: 3686 Split model/storage into model/model factory/model storage factory 3687 just like hashes, storage classes. 3688 (librdf_init_model): Call librdf_init_model_storage 3689 (librdf_finish_model): Call librdf_delete_model_factories 3690 (librdf_delete_model_factories, librdf_model_register_factory, 3691 librdf_get_model_factory): Added, after rdf_storage.c similar names. 3692 (librdf_new_model_with_options): Use storage factory create method. 3693 (librdf_new_model_from_model): Use clone method. 3694 (librdf_free_model): Use destroy method. 3695 The remaining methods that depend on storage now use factory methods. 3696 Some methods have slight edits to use the model method not the 3697 storage one when it doesn't matter, or when no factory method is 3698 present, and it is emulated at the model level. 3699 3700 * librdf/Makefile.am: Added rdf_model_storage.c 3701 3702 * librdf/rdf_model.h: 3703 Added internal librdf_model_factory struct with factory methods 3704 Added librdf_model_register_factory, librdf_get_model_factory 3705 3706 * librdf/librdf.h: added librdf_model_factory 3707 3708 * librdf/rdf_model_storage.c: RDF model over a storage 3709 37102003-04-05 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3711 3712 * raptor/raptor.h: void arg 3713 3714 * raptor/examples/raptor_abort.c: Zap curl cleanup. 3715 3716 * raptor/rdfdump.c: 3717 Added -c flag to getopts - oops, missed in last release. 3718 Added -m/--mode flag to set strict/lax. Check the values and die 3719 with usage. 3720 Check the legal values of -o/--output and die with usage. 3721 Zap curl cleanup. 3722 3723 * raptor/raptor_www.c (raptor_www_no_www_library_init_finish): 3724 To control global WWW 3725 library init/finish 3726 3727 * raptor/raptor_parse.c: 3728 Make bagID optional - removed from language and gives errors 3729 (strict), allowed with warnings (lax). 3730 lax/strict controlled by feature_allow_bagID 3731 3732 * raptor/raptor_internal.h: Added feature_allow_bagID 3733 3734 * raptor/raptor_general.c: Several more docucomments for functions. 3735 (raptor_new_parser): Use raptor_set_parser_strict 3736 (raptor_set_feature): Added RAPTOR_FEATURE_ALLOW_BAGID 3737 (raptor_set_parser_strict): Added to set strict/lax mode flags. 3738 3739 * raptor/raptor.h: Added RAPTOR_FEATURE_ALLOW_BAGID 3740 Added raptor_set_parser_strict 3741 Added raptor_www_no_www_library_init_finish 3742 37432003-04-03 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3744 3745 * raptor/tests/Makefile.am: Added warn-01 3746 3747 * raptor/tests/warn-01.out, raptor/tests/warn-01.rdf: 3748 Check warning on non-prefixed property elements 3749 3750 * raptor/raptor_parse.c, raptor/tests/Makefile.am 3751 (raptor_xml_start_element_handler): Error recovery - try to hide that 3752 a bad element was found from a parent element, it thinks the element 3753 is empty. See tests/warn-00.rdf 3754 3755 * raptor/tests/warn-00.out, raptor/tests/warn-00.rdf: Check warnings 3756 37572003-04-02 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3758 3759 * Makefile.am, raptor/configure.ac, raptor/Makefile.am, configure.ac: 3760 debian dir elsewhere 3761 37622003-04-01 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3763 3764 * librdf/rdf_parser_raptor.c 3765 (librdf_parser_raptor_new_statement_handler): (re)add storing in a 3766 model direct. 3767 (librdf_parser_raptor_parse_uri_as_stream_write_bytes_handler): Added 3768 to support librdf_parser_raptor_parse_uri_as_stream via raptor_www 3769 (librdf_parser_raptor_parse_uri_as_stream): Added. Calls 3770 librdf_parser_raptor_parse_file_as_stream if that's possible. 3771 (librdf_parser_raptor_parse_uri_into_model): Added, doing all of 3772 librdf_parser_raptor_parse_file_into_model. 3773 (librdf_parser_raptor_constructor): Register new functionality. 3774 3775 * raptor/raptor_uri.c (raptor_uri_uri_string_to_filename): 3776 Use raptor_strcasecmp 3777 (raptor_uri_is_file_uri): Use raptor_strncasecmp 3778 3779 * librdf/rdf_parser_libwww.c: No libwww parser 3780 37812003-03-31 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3782 3783 * raptor/fix-groff-xhtml: more cols 3784 3785 * raptor/fix-groff-xhtml: More fixes 3786 3787 * raptor/Makefile.am: Added libraptor.html, fix-groff-xhtml 3788 3789 * raptor/fix-groff-xhtml: Fix groff output HTML 3790 3791 * raptor/libraptor.3: deleted repeated URI METHODS 3792 3793 * raptor/libraptor.3: Updated for 0.9.6->present 3794 37952003-03-30 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3796 3797 * raptor/examples/grapper.c: Use N-triples output style. 3798 Pass in URL command line argument 3799 3800 * raptor/Makefile.am: Added raptor_xml.c 3801 3802 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 3803 do XML attribute value 3804 normalization for libxml2. Cannot be done properly since the type of 3805 the attribute is lost. expat gets it right. 3806 (raptor_xml_parse_init): Cast for expat XML_SetExternalEntityRefHandler 3807 3808 * raptor/raptor_xml.c: 3809 Updated for C14N text/attribute node encoding rules. Don't de-UTF8 3810 at the same time. 3811 3812 * raptor/tests/ex-49.out: > in attribute appears raw 3813 3814 * raptor/raptor_general.c: 3815 (main) Moved raptor_validate_xml_ID, raptor_xml_escape_string test 3816 code to raptor_xml.c 3817 3818 * raptor/raptor_xml.c: Raptor XML routines 3819 3820 * raptor/raptor_general.c: 3821 Moved raptor_validate_xml_ID, raptor_xml_escape_string to raptor_xml.c 3822 3823 * raptor/tests/Makefile.am: Added ex-49 3824 3825 * raptor/tests/ex-49.out, raptor/tests/ex-49.rdf: 3826 Checking escaping in parseType Literal values with XML attributes 3827 3828 * raptor/raptor_parse.c (raptor_format_element): 3829 Pass in parser for UTF-8 error handling. 3830 Use raptor_xml_escape_string for attribute values but 3831 only malloc/free if lengths changed. 3832 (raptor_xml_end_element_handler): Update to new 3833 raptor_xml_escape_string API and only malloc/free it if lengths 3834 changed. 3835 3836 * raptor/raptor_parse.c (raptor_xml_cdata_handler): 3837 Use updated raptor_xml_escape_string API 3838 3839 * raptor/raptor.h: Added raptor_statement_part_as_counted_string, 3840 raptor_statement_part_as_string 3841 Changed raptor_xml_escape_string API 3842 3843 * raptor/raptor_general.c 3844 (raptor_statement_part_as_counted_string, 3845 raptor_statement_part_as_string): Added, making N-triples style 3846 output from parts of raptor_statement. 3847 (raptor_xml_escape_string): Change API to take an existing 3848 buffer/calculate length 3849 (main): Update for raptor_xml_escape_string. 3850 3851 * raptor/examples/Makefile.am: Also clean grapper binary 3852 38532003-03-29 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3854 3855 * raptor/examples/grapper.c: Added N-Triples parsing 3856 3857 * raptor/examples/Makefile.am: Don't build grapper usually 3858 3859 * raptor/examples/grapper.c: Raptor GTK GUI example code 3860 3861 * python/RDF.py, librdf/rdf_parser_raptor.c, librdf/rdf_parser.h, 3862 librdf/rdf_parser.c, librdf/Makefile.am, docs/redland.pod, 3863 docs/api.sgml.in, docs/Makefile.am, demos/parser-tests.pl, 3864 demos/demo.pl, configure.ac: Removed repat 3865 3866 * librdf/rdf_uri.c (librdf_free_uri): Move world defn inside ifdef 3867 3868 * raptor/examples/Makefile.am: Added grapper.c 3869 3870 * raptor/examples/Makefile.am: more deps 3871 3872 * raptor/raptor_internal.h: 3873 Added raptor_print_statement_part_as_ntriples prototype 3874 3875 * raptor/raptor_general.c: 3876 raptor_print_ntriples_string moved to raptor_general.c 3877 (raptor_print_statement_part_as_ntriples): Added, internal. 3878 (raptor_print_statement_as_ntriples): Now uses above. 3879 3880 * Makefile.am: Removed repat 3881 3882 * raptor/ntriples_parse.c: 3883 raptor_print_ntriples_string moved to raptor_general.c 3884 3885 * librdf/Makefile.am: die recursive make 3886 38872003-03-28 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3888 3889 * raptor/examples/Makefile.am: another deps attempt 3890 3891 * raptor/examples/Makefile.am: typo 3892 3893 * raptor/examples/Makefile.am: Use LDADD and hunt for @REDLAND_LIBS@ 3894 Added $(top_builddir)/../librdf/librdf.la 3895 3896 * raptor/configure.ac: Hunt for librdf.la in abs dir 3897 3898 * raptor/rapper.1: added -c/--count 3899 3900 * raptor/examples/Makefile.am: Fixes to make cross-dir building work. 3901 3902 * raptor/configure.ac, raptor/Makefile.am: Added examples dir 3903 3904 * raptor/raptor_general.c (raptor_parse_uri_with_connection): Added. 3905 (raptor_parse_abort): Added. 3906 3907 * raptor/raptor.h: Added raptor_parse_uri_with_connection. 3908 Added raptor_parse_abort. 3909 3910 * raptor/examples/raptor_abort.c, raptor/examples/Makefile.am: examples 3911 3912 * raptor/rdfdump.c: 3913 Call curl_global_cleanup if using curl to free it's resources. 3914 3915 * raptor/raptor_www.c (raptor_www_init,raptor_www_finish): 3916 Don't init/cleanup curl, we 3917 can't guarantee doing this at most once if a handle is passed in. 3918 3919 * raptor/raptor_www_curl.c (raptor_www_curl_free): Tidy 3920 3921 * raptor/raptor_www_curl.c (raptor_www_curl_init,raptor_www_curl_free): 3922 Use/mark field 3923 curl_init_here to note when to cleanup a handle - don't destroy one 3924 that was provided. 3925 3926 * raptor/raptor_internal.h: 3927 for curl, record when curl_easy_init was done in raptor 3928 3929 * raptor/raptor_general.c (raptor_init): Call raptor_www_init 3930 (raptor_finsh): Call raptor_www_finish 3931 (raptor_parse_uri): Delete www object on failure. 3932 3933 * raptor/configure.ac: Bumped version to 0.9.10 3934 3935 * librdf/rdf_model.c: unused var 3936 3937 * librdf/rdf_stream.c, librdf/rdf_statement.c, 3938 librdf/rdf_serializer.c, librdf/rdf_query.c, librdf/rdf_parser.c, 3939 librdf/rdf_node.c, librdf/rdf_iterator.c, librdf/rdf_hash.c, 3940 librdf/rdf_concepts.c: 3941 Changes to test code after initial locking for threads support. 3942 (main) Testcode - use librdf_world_init_mutex 3943 3944 * librdf/rdf_uri.c: Initial locking for threads from Seth Ladd 3945 (librdf_new_uri): Lock/unlock world for new URI. 3946 (librdf_free_uri): Lock/unlock world for destroying URI. 3947 (main) Testcode - use librdf_world_init_mutex 3948 3949 * librdf/rdf_init.h: Initial locking for threads from Seth Ladd 3950 Added mutex to world. 3951 Added prototype for internal librdf_world_init_mutex 3952 3953 * librdf/rdf_init.c: Initial locking for threads from Seth Ladd 3954 (librdf_free_world): Delete mutex on shutdown. 3955 (librdf_world_init_mutex): Added (internal) to be used by tests 3956 rather than initing all of redland. 3957 (librdf_world_open): Create mutex on startup. 3958 3959 * configure.ac: Initial locking for threads from Seth Ladd 3960 Added --with-threads for POSIX threads 3961 39622003-03-27 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3963 3964 * demos/demo.pl: utf-8 output 3965 3966 * librdf/rdf_storage_hashes.c (librdf_storage_hashes_grow_buffer): 3967 Fix return code sense. 3968 (librdf_storage_hashes_add_remove_statement): Use calculate length 3969 for key/value len, not buffer sizes. 3970 (librdf_storage_hashes_context_add_statement): Return failure if 3971 contexts aren't enabled and this is called. 3972 3973 * librdf/rdf_model.c: 3974 (main) Test code - check get_sources, get_targets, get_arcs 3975 3976 * python/RDF.py (Stream.context): Use self.stream 3977 39782003-03-26 Dave Beckett <Dave.Beckett@bristol.ac.uk> 3979 3980 * raptor/raptor_set.c: 3981 Only use raptor_set_stats_print with RAPTOR_DEBUG 3982 3983 * raptor/raptor_general.c: Some comment tidying. 3984 (raptor_start_parse): Docucomment. Copy the uri into the parser 3985 structure (base_uri, locator uri), don't just keep the pointer. 3986 (raptor_free_parser): Free the base URI in the structure, if 3987 present. 3988 3989 * raptor/raptor_parse.c (raptor_xml_parse_start): 3990 Remove uri arg. Fail if no base URI is 3991 given - stored in the parser object 3992 3993 * raptor/ntriples_parse.c (raptor_ntriples_parse_start): 3994 Remove uri arg. 3995 3996 * raptor/raptor_internal.h: 3997 raptor_parser_factory start method: Remove (base) uri arg, it's in 3998 the object data. 3999 4000 * raptor/raptor_www.c: Use RAPTOR_FREE,MALLOC,CALLOC 4001 (raptor_www_free): Free the www object. Doh. 4002 4003 * raptor/libraptor.3: raptor_parse_chunk: Takes unsigned char buffer. 4004 4005 * raptor/libraptor.3: 4006 raptor_start_parse: Note NULL base URI ok for ntriples 4007 4008 * raptor/libraptor.3: Typo: raptor_start_parse not raptor_parse_start 4009 4010 * raptor/raptor_general.c (raptor_xml_escape_string): 4011 Make it work with 10ffff again 4012 4013 * raptor/raptor_parse.c (raptor_xml_cdata_handler): 4014 Cast around raptor_xml_escape_string 4015 4016 * raptor/raptor_general.c (raptor_xml_escape_string): 4017 Null terminate new string 4018 4019 * raptor/raptor_www_libxml.c, raptor/raptor_www.c: 4020 Use RAPTOR_WWW_BUFFER_SIZE for I/O buffers 4021 4022 * raptor/raptor_internal.h: 4023 Define RAPTOR_WWW_BUFFER_SIZE for I/O buffers 4024 4025 * raptor/rdfdump.c: Declare raptor_stats_print when RAPTOR_DEBUG 4026 4027 * raptor/raptor_general.c: (raptor_stats_print) C99 4028 4029 * librdf/rdf_model.c (librdf_model_add_typed_literal_statement): 4030 Don't free object here, 4031 librdf_model_add does it as part of freeing the statement. 4032 40332003-03-25 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4034 4035 * demos/rss-show.pl, demos/parser-tests.pl, demos/ntriples.pl, 4036 demos/demo.pl: Updated to 0.9.12 API 4037 40382003-03-24 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4039 4040 * raptor/rdfdump.c: Call raptor_stats_print with RAPTOR_DEBUG 4041 4042 * raptor/raptor_set.c: Record set hits/misses with RAPTOR_DEBUG 4043 (raptor_set_stats_print): Defined with RAPTOR_DEBUG 4044 4045 * raptor/raptor_internal.h: 4046 Move raptor_xml_parser typedef here (still internal). 4047 raptor_xml_parser_stats_print, raptor_set_stats_print: Defined with 4048 RAPTOR_DEBUG 4049 4050 * raptor/raptor_parse.c (raptor_xml_parser_stats_print): 4051 Defined with RAPTOR_DEBUG 4052 4053 * raptor/raptor_general.c (raptor_stats_print): 4054 Defined with RAPTOR_DEBUG 4055 4056 * raptor/raptor_parse.c (raptor_xml_cdata_handler): 4057 Use raptor_xml_escape_string when content 4058 type is an XML literal 4059 4060 * raptor/raptor_general.c (raptor_xml_escape_string): 4061 Now takes and returns lengths 4062 Fix assumption of '\0' terminated strings. 4063 (main): Update for counted strings 4064 4065 * raptor/raptor.h: 4066 raptor_xml_escape_string now takes and returns lengths 4067 4068 * raptor/raptor.h: Added raptor_xml_escape_string 4069 4070 * raptor/Makefile.am: Added raptor_general_test 4071 4072 * raptor/raptor_general.c (raptor_xml_escape_string): 4073 Added, XML-escapes UTF-8 strings. 4074 (main): Added set of tests for raptor_xml_escape_string 4075 40762003-03-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4077 4078 * raptor/tests/ex-48.out, raptor/tests/ex-48.rdf: 4079 ex-48 parse type literal with entity encoding 4080 4081 * raptor/tests/Makefile.am: Added ex-48 4082 4083 * raptor/raptor_www_libxml.c (raptor_www_libxml_fetch): 4084 Make this work again 4085 4086 * raptor/raptor_parse.c (raptor_record_ID): Dealloc item after adding 4087 4088 * librdf/rdf_parser_raptor.c: raptor_free now raptor_free_parser 4089 (librdf_raptor_uri_as_counted_string): Added 4090 Use it to register the raptor_uri 4091 4092 * raptor/raptor_parse.c: typo 4093 4094 * raptor/raptor_parse.c: 4095 Remove raptor_id_list implementation for ID checking to use raptor_set. 4096 (raptor_xml_parse_init): Init raptor_set for ids. 4097 (raptor_xml_parse_terminate): Use raptor_free_set. 4098 (raptor_record_ID): Use raptor_set_add to check for unique "ID base-URI" 4099 (raptor_free_ID_list): Gone 4100 4101 * raptor/raptor_uri.c (raptor_default_uri_as_counted_string, 4102 (raptor_uri_as_counted_string): Added and used in default factory. 4103 4104 * raptor/raptor.h: Added raptor_uri_as_counted_string. 4105 4106 * raptor/raptor_internal.h: 4107 Added raptor_set and raptor_new_set constructor, raptor_free_set 4108 destructor and raptor_set_add only method 4109 4110 * raptor/Makefile.am: Added raptor_set.c, raptor_set_test 4111 4112 * raptor/raptor_set.c: Raptor sets for ID checking 4113 41142003-03-20 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4115 4116 * demos/rss-show.pl: sort feeds case insensitively 4117 4118 * demos/rss-show.pl: Added Annotate module 4119 4120 * librdf/rdf_storage_hashes.c: 4121 Add key/value buffers to hash context and share/grown them as needed 4122 to prevent a lot of unncessary malloc/frees. 4123 (librdf_storage_hashes_terminate): Delete shared key/value buffers. 4124 (librdf_storage_hashes_grow_buffer): Added to grow them when needed. 4125 (librdf_storage_hashes_add_remove_statement): Use 4126 librdf_storage_hashes_grow_buffer and shared key/value buffers. 4127 4128 * librdf/rdf_hash_memory.c (librdf_hash_memory_expand_size): 4129 Revert bucket rehashing code to the older, simpler, slightly 4130 slower (2x work) since changed version failed. 4131 4132 * librdf/rdf_hash_memory.c: 4133 Switched to same hash algorithm as perl, inlined it. 4134 (librdf_hash_memory_expand_size): When expanding, only move the nodes 4135 that need it, don't move everything. 4136 41372003-03-19 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4138 4139 * examples/example4.c: Free nodes on failure of get_source/target/arc 4140 4141 * raptor/tests/Makefile.am: Added OWL namespace document / rdf 4142 schema owl-schema.rdf, owl-schema.out 4143 4144 * raptor/raptor_www.c: No ghttp, init w3c libwww 4145 4146 * librdf/rdf_statement.c (librdf_statement_to_string): 4147 Init statement_string_len to 0 4148 4149 * librdf/rdf_hash_memory.c (librdf_hash_memory_expand_size): 4150 Quick hack to make hash grow. 4151 Needs a proper fix. 4152 4153 * librdf/rdf_statement.c (librdf_statement_to_string): 4154 Use librdf_node_to_counted_string to save on strlen calls. 4155 4156 * librdf/rdf_node.c (librdf_node_to_string): 4157 Now uses librdf_node_to_counted_string. 4158 (librdf_node_to_counted_string): Added, returns already known length. 4159 Uses librdf_uri_to_counted_string to save on strlen calls. 4160 (librdf_node_encode): Use librdf_uri_as_counted_string to save on 4161 strlen calls. 4162 4163 * librdf/rdf_node.h: Added librdf_node_to_counted_string 4164 4165 * librdf/rdf_uri.c (librdf_uri_as_counted_string, 4166 librdf_uri_to_counted_string): Added returning the already 4167 stored/calculated length of the string. 4168 4169 * librdf/rdf_uri.h: 4170 Added librdf_uri_as_counted_string, librdf_uri_to_counted_string 4171 4172 * raptor/tests/owl-schema.out, raptor/tests/owl-schema.rdf: 4173 OWL namespace schema 4174 4175 * raptor/raptor_www_libwww.c: add fatal does-not-work error 4176 4177 * raptor/configure.ac, raptor/raptor_internal.h, 4178 raptor/raptor_www_ghttp.c: Delete libghttp 4179 41802003-03-18 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4181 4182 * raptor/raptor_www_libwww.c: Raptor WWW with W3C libwww 4183 4184 * raptor/rdfdump.c: 4185 Added -c/--count option to just count triples, don't print anything. 4186 4187 * raptor/raptor_www_test.c: Use raptor_www_init/finish 4188 4189 * raptor/raptor_www_libxml.c, raptor/raptor_www_ghttp.c: 4190 Handle www->failed and aborting transfer. 4191 4192 * raptor/raptor_www_curl.c: Handle www->failed and aborting transfer. 4193 (raptor_www_curl_init): Use passed-in connection if available. 4194 4195 * raptor/raptor_www.c (raptor_www_init): Added, for once-only init. 4196 (raptor_www_finish): Added, for once-only tidy. 4197 (raptor_www_new): Now uses new constructor 4198 (raptor_www_new_with_connection): Added, allows re-use of existing 4199 www library connection - just curl at present. 4200 (raptor_www_get_connection): Added, returns current libwww library 4201 connection. 4202 (raptor_www_abort): Added to stop a www transaction. 4203 (raptor_www_file_fetch): Tidying of errors; handle abort. 4204 (raptor_www_fetch): Uses raptor_www_file_fetch for all files. 4205 4206 * raptor/raptor_internal.h: Added W3C libwww prototypes. 4207 4208 * raptor/raptor_parse.c: 4209 Throughout all SAX event handlers - if rdf_parser->failed set, return 4210 immediately, doing no work. 4211 4212 * raptor/raptor_general.c (raptor_parse_uri_write_bytes): 4213 Use raptor_www_abort if parsing 4214 fails. 4215 (raptor_parse_uri): Return error status. Pass on is_end empty chunk. 4216 (raptor_parser_abort): Added, setting failed flag. 4217 (raptor_print_statement_detailed): Typo 4218 4219 * raptor/raptor.h: Added raptor_www_abort 4220 4221 * raptor/raptor.h: Add raptor_www_init, raptor_www_finish. 4222 Add raptor_www_new_with_connection 4223 Add raptor_www_get_connection 4224 4225 * raptor/configure.ac: Added w3c libwww configuring 4226 42272003-03-16 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4228 4229 * raptor/rdfdump.c: Use raptor_parse_uri 4230 4231 * raptor/raptor_general.c (raptor_parse_uri_write_bytes): 4232 Added, to support: 4233 (raptor_parse_uri): Added, using raptor_www to get and deal with all 4234 the data in one go. 4235 4236 * raptor/raptor.h: raptor_parse_uri takes optional base_uri 4237 4238 * raptor/raptor_www_test.c: Use URI from context. 4239 Take www arg on handlers 4240 Use raptor_uri 4241 4242 * raptor/raptor_www_libxml.c, raptor/raptor_www_ghttp.c, raptor/raptor_www_curl.c: 4243 Use URI from context. 4244 Take www arg on handlers 4245 4246 * raptor/raptor_www.c (raptor_www_set_userdata): Gone 4247 (raptor_www_free): Free request uri 4248 (raptor_www_set_write_bytes_handler, 4249 raptor_www_set_content_type_handler): Added 4250 (raptor_www_file_fetch): pass www to write_bytes 4251 (raptor_www_fetch): Don't pass URI on. 4252 4253 * raptor/raptor_internal.h: Store raptor_uri of request 4254 Use new declared write_bytes, content_type handlers 4255 *fetch methods don't take URI string 4256 4257 * raptor/raptor.h: 4258 Declare handlers for raptor www write bytes, content type 4259 raptor_www_fetch now takes a raptor_uri 4260 4261 * raptor/raptor_parse.c: 4262 Fix broken-fix for broken-expat UTF8 BOM crash. 4263 tokens_count is on the rdf_xml_parser not rdf_parser 4264 4265 * raptor/configure.ac: tweak 4266 4267 * raptor/configure.ac: tidy libcurl version 4268 4269 * raptor/raptor_internal.h, raptor/configure.ac: 4270 No more gnome-xml/libxml.h 4271 4272 * raptor/configure.ac: Min libxml2 now 2.4.0 4273 4274 * raptor/configure.ac: Don't look for xml-config 4275 4276 * raptor/raptor_general.c (raptor_parse_file): 4277 Tidy up if raptor_start_parse fails 4278 4279 * raptor/raptor_general.c: 4280 Removed raptor_start_parse_file - merged into raptor_parse_file 4281 4282 * raptor/raptor_www.c (raptor_www_file_fetch): Used for RAPTOR_WWW_NONE 4283 Report file open errors, correct file read eof handling. 4284 (raptor_www_fetch) Use only raptor_www_file_fetch for RAPTOR_WWW_NONE 4285 4286 * raptor/raptor_general.c (raptor_start_parse_file): 4287 Improve file open error message 4288 4289 * raptor/configure.ac: 4290 Added --with-www=none option and RAPTOR_WWW_NONE to indicate it 4291 42922003-03-15 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4293 4294 * raptor/raptor_www.c (raptor_www_error): Use RAPTOR_FREE 4295 4296 * raptor/raptor_www_ghttp.c (raptor_www_ghttp_fetch): 4297 call raptor_www_error 4298 4299 * raptor/raptor_www_test.c: Call raptor_uri_init 4300 4301 * raptor/raptor_www_curl.c (raptor_www_curl_fetch): 4302 call raptor_www_error 4303 4304 * raptor/raptor_internal.h: Use raptor_message_handler again 4305 4306 * raptor/raptor.h: 4307 Use raptor_message_handler again in raptor_www_set_error_handler, 4308 raptor_www_error 4309 4310 * raptor/raptor_www.c (raptor_www_free): Tidy locator URI 4311 (raptor_www_set_error_handler, raptor_www_error): Use 4312 raptor_message_handler again. 4313 (raptor_www_error): Use raptor_locator in output, error handler. 4314 (raptor_www_fetch): Store the URI string of request in the locator 4315 4316 * raptor/raptor.h: Declare raptor_www_message_handler (no locator) 4317 4318 * raptor/raptor_general.c: raptor_vsnprintf now internally visible. 4319 4320 * raptor/raptor_internal.h: 4321 Use different error handler, no parser context. 4322 raptor_vsnprintf now internally visible. 4323 Added raptor_www_error prototype 4324 4325 * raptor/raptor_www.c: 4326 Only enable raptor_www_file_fetch with libxml, libghttp 4327 (raptor_www_set_error_handler): Use different error handler, no 4328 parser context. 4329 4330 * raptor/configure.ac, raptor/Makefile.am: 4331 Added raptor WWW enabling, configuring 4332 4333 * raptor/raptor_internal.h: 4334 Added raptor WWW retrieval internal includes, structs, prototypes 4335 4336 * raptor/raptor.h: Added raptor WWW retrieval prototypes 4337 4338 * raptor/raptor_www.c, raptor/raptor_www_curl.c, 4339 raptor/raptor_www_ghttp.c, raptor/raptor_www_libxml.c, 4340 raptor/raptor_www_test.c: Raptor WWW retrieval 4341 43422003-03-13 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4343 4344 * librdf/rdf_parser_raptor.c (librdf_parser_raptor_parse_file_as_stream): 4345 Save copies of source 4346 and base URI - don't assume they will be around for the life of a 4347 parse. 4348 (librdf_parser_raptor_serialise_finished): Free the copied uris. 4349 4350 * examples/example4.c: document parse-stream 4351 4352 * python/RDF.py (Node.__init__): 4353 Add world arg to librdf_new_node_from_blank_identifier 4354 43552003-03-09 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4356 4357 * Makefile.am: added demos dir 4358 4359 * demos/rss-show.pl, demos/ntriples.pl: absolutize some doc urls 4360 4361 * configure.ac, Makefile.am: added demos dir 4362 4363 * demos/rss-show.pl, demos/parser-tests.pl, demos/ntriples.pl, 4364 demos/demo.pl: point to source code 4365 4366 * demos/rss-show.pl, demos/parser-tests.pl, demos/ntriples.pl, 4367 demos/demo.pl: add source code 4368 4369 * demos/Makefile.am, demos/demo.pl, demos/ntriples.pl, 4370 demos/parser-tests.pl, demos/rss-show.pl: Redland CGI demos 4371 43722003-03-06 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4373 4374 * perl/serialize.pl (format_element_content,format_attribute): 4375 Added to escape &, <, > things etc. 4376 43772003-03-05 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4378 4379 * perl/serialize.pl: Whitespace tidying. 4380 (emit_literal_element): Added, for doing 1-line literals 4381 Fix datatypes. 4382 Emit multiple rdf:type properties too. 4383 4384 * python/RDF.py: 4385 (Node.get_literal_value) Correct datatype URI method call to only 4386 operate if there is a datatype URI. 4387 (Stream._del_): Work when there is no redland Stream. 4388 (Parse.parse_as_stream): Return None if parsing fails, not an 4389 empty Stream. 4390 4391 * perl/lib/RDF/Redland/Node.pm (literal_datatype): 4392 Added, return the URI of the literal datatype or 4393 undef if not one. 4394 4395 * perl/lib/RDF/Redland/Parser.pm (parse_as_stream): 4396 Return undef if parsing fails, don't return a stream 4397 4398 * perl/lib/RDF/Redland/Stream.pm (DESTROY): 4399 Handle wrapping an empty stream - might happen when a 4400 search fails straight away. 4401 4402 * librdf/rdf_parser_raptor.c 4403 (librdf_parser_raptor_new_statement_handler): Handle XMLLiteral 4404 and datatyped literal URIs - pass them on as appropriate statements. 4405 4406 * perl/serialize.pl (predicate_split): Fix 4407 (emit_empty_element) Pull out some more element 4408 building stuff - for now. 4409 main - declare an OWL namespace just for testing 4410 4411 * perl/serialize.pl: added emit_start_element, emit_end_element 4412 now rdf:RDF declares its namespaces 4413 4414 * perl/serialize.pl: Make blank node subject and objects work. 4415 44162003-03-04 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4417 4418 * raptor/raptor.h: Export raptor_free_parser with RAPTOR_API 4419 4420 * raptor/win32_config.h: add trailing #endif 4421 4422 * raptor/win32_config.h: s/WIN32_LEAD_AND_MEAN/WIN32_LEAN_AND_MEAN/ 4423 4424 * raptor/raptor_parse.c (raptor_xml_comment_handler): 4425 Added - nop at present. 4426 (raptor_xml_parse_init): For expat, use raptor_xml_comment_handler 4427 4428 * raptor/raptor_libxml.c: 4429 (raptor_libxml_init) Use raptor_xml_comment_handler 4430 4431 * raptor/raptor_internal.h: Add raptor_xml_comment_handler prototype 4432 4433 * raptor/configure.ac: 4434 Try to make maintainer mode flags match redland's defaults. 4435 4436 * Makefile.am: expat sources not included 4437 4438 * configure.ac: expat sources not included 4439 building against expat / libxml sources no longer supported. 4440 4441 * librdf/rdf_model.c (librdf_model_add_typed_literal_statement): 4442 Document - nodes become owned by the model. 4443 4444 * python/RDF.py: Bogus quotes 4445 4446 * java/org/librdf/redland/Model.java: 4447 (add) (nodes, typed nodes versions) Copy redland nodes before adding. 4448 4449 * perl/t/test2.t: 4450 Added test of Model method add_typed_literal_statement 4451 Added test of Serializer method serialize_model_to_file 4452 4453 * python/test/test.py: Added test of model.add_typed_literal_statement 4454 4455 * python/RDF.py (Model.add_typed_literal_statement): 4456 Copy redland nodes before adding. 4457 44582003-03-03 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4459 4460 * perl/Makefile.am: make clean targets run when perl isn't enabled. 4461 4462 * perl/Makefile.PL: Grab version from redland-src-config 4463 4464 * perl/Makefile.am: Use $(srcdir)/Makefile.PL 4465 4466 * python/Makefile.am: Use $(srcdir)/setup.py 4467 4468 * java/Makefile.am: 4469 clean-java - don't leap down subdirs to clean stuff too early - 4470 confuses autoconf. 4471 4472 * configure.ac: More AC_CONFIG_FILES tidying 4473 4474 * raptor/configure.ac, raptor/Makefile.am: 4475 Fix cflags/cppflags when in redland 4476 4477 * librdf/rdf_serializer_raptor.c 4478 (librdf_serializer_print_statement_as_ntriple): 4479 No need for fprintf. 4480 4481 * librdf/rdf_serializer_raptor.c: No need for ntriples.h 4482 (librdf_serializer_print_statement_as_ntriple): Handle datatyped 4483 literals. 4484 4485 * perl/lib/RDF/Redland/Node.pm (new_from_typed_literal): 4486 Added, creating a datatyped literal. 4487 4488 * perl/lib/RDF/Redland/Model.pm (add, add_typed_literal_statement): 4489 Copy the nodes before passing on 4490 - more natural for perl. 4491 4492 * librdf/Makefile.am: s/AML_CFLAGS/AM_CFLAGS/ 4493 Give rdf_uri_test the raptor includes 4494 4495 * librdf/rdf_node.c (librdf_node_decode): 4496 Correct datatype URI/lang decoded in wrong 4497 order. 4498 (main): Add de/encode of datatyped node. 4499 4500 * librdf/rdf_node.c (librdf_node_encode): 4501 Copy datatype URI string not junk from the URI 4502 object. 4503 (main): Add use of librdf_new_node_from_typed_literal 4504 4505 * examples/example4.c: 4506 Added add-typed command to use librdf_new_node_from_typed_literal 4507 4508 * autogen.sh: Require autoconf 2.53+ 4509 4510 * configure.ac: Require autoconf 2.53+ 4511 Update AC_OUTPUT to new form 4512 4513 * Redland.i: Added librdf_new_node_from_typed_literal 4514 4515 * redland-src-config.in: 4516 use abs_top_srcdir for all refs to raptor-src-config 4517 45182003-03-02 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4519 4520 * raptor/tests/ex-46.out, raptor/tests/ex-46.rdf: 4521 make rdf:li and rdf_2 property elements generate different triples 4522 45232003-02-27 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4524 4525 * raptor/tests/ex-46.out: fix 4526 4527 * raptor/tests/Makefile.am: Added ex-47 4528 4529 * raptor/tests/ex-47.out, raptor/tests/ex-47.rdf: 4530 Exercise all rdfs vocab 4531 4532 * raptor/tests/Makefile.am: Added ex-46 4533 4534 * raptor/tests/ex-46.out, raptor/tests/ex-46.rdf: 4535 Exercise all rdf vocab 4536 45372003-02-26 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4538 4539 * python/RDF.py (RDF.set_message_handler): Added. Make a class method 4540 (message_handler): Moved out of RDF.World class. 4541 (RDF.World): Use RDF.message_handler 4542 (RDF.Stream): Docs. 4543 4544 * librdf/rdf_storage_hashes.c 4545 (librdf_storage_hashes_node_iterator_create): 4546 Handle node being NULL, 4547 for example when dealing with a predicates index p2so. 4548 45492003-02-25 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4550 4551 * repat/Makefile.am: Make only librepat.la 4552 4553 * Makefile.am: Add man pages to dist 4554 45552003-02-24 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4556 4557 * raptor/win32/raptor.plg, raptor/win32/Makefile.am: deleted raptor.plg 4558 4559 * raptor/win32/raptor.dsp, raptor/win32/README: 4560 Updated win32 config - from contributed patches 4561 45622003-02-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4563 4564 * raptor/raptor_uri.c: Correct :'s turning into |'s in win32 file URIs 4565 45662003-02-20 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4567 4568 * autogen.sh: export autotools to configure 4569 4570 * autogen.sh: Tidying 4571 4572 * raptor/autogen.sh, autogen.sh: 4573 run libtoolize in each configure.ac dir 4574 4575 * Makefile.am: acconfig.h not needed 4576 4577 * utils/Makefile.am, repat/Makefile.am, librdf/Makefile.am, 4578 expat/xmltok/Makefile.am, expat/xmlparse/Makefile.am, 4579 examples/Makefile.am: 4580 Updates for automake 1.5-1.7 4581 4582 * autogen.sh: Update to use automake 1.6, autoconf 2.52 min 4583 4584 * configure.ac: configure.ac replacing configure.in 4585 4586 * acconfig.h, configure.in: 4587 Replace configure.in acconfig.h with configure.ac 4588 4589 * raptor/win32_config.h: 4590 win32 has C99 compatible vsnprintf called _vsnprintf 4591 4592 * raptor/configure.ac: 4593 Check for vsnprintf and check for C99 compatible return value. 4594 4595 * raptor/raptor_general.c (raptor_vsnprintf): 4596 Added for handling compatibilty with vsnprintf 4597 that doesn't match C99. 4598 45992003-02-19 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4600 4601 * raptor/tests/Makefile.am: 4602 Use $(ECHO) which may be different from sh's echo 4603 4604 * raptor/Makefile.am: 4605 Changing, moved raptor_getopt.h to rapper_SOURCES after automake 4606 manual recommendation. 4607 4608 * raptor/Makefile.am: Put raptor_getopt.h in noinst_HEADERS 4609 4610 * raptor/Makefile.am: No need for EXTRA_libraptor_la_SOURCES 4611 4612 * raptor/Makefile.am: Use LTLIBOBJS for extra libraptor objs 4613 4614 * raptor/raptor.h: again 4615 4616 * raptor/raptor.h: don't do deprecated on broken OSX gcc 4617 4618 * raptor/raptor_getopt.h, raptor/getopt.c: No need for prefix 4619 4620 * raptor/getopt.c: Duh - use raptor getopt header 4621 4622 * raptor/Makefile.am: 4623 Use RAPPER_EXTRA_OBJS to optionally add getopt to rapper only 4624 4625 * raptor/configure.ac: Add getopt object to RAPPER_EXTRA_OBJS 4626 4627 * raptor/rdfdump.c: Add raptor_getopt.h for local version 4628 4629 * raptor/raptor_getopt.h: Define rest of getopt externs 4630 4631 * raptor/getopt.c: More prefixes 4632 4633 * raptor/raptor_getopt.h, raptor/getopt.c: Public domain getopt 4634 4635 * raptor/configure.ac: Check for getopt and add getopt.o if it missing. 4636 4637 * raptor/autogen.sh: 4638 try asking the progs for their version - slower, but right 4639 4640 * raptor/autogen.sh: tidying 4641 4642 * raptor/acconfig.h: acconfig.h obsoleted 4643 4644 * raptor/Makefile.am: Use AM_CPPFLAGS 4645 4646 * raptor/autogen.sh: 4647 Min versions are bumpled - 2.52 for autoconf, 1.6 for automake 4648 Now hunts for newest, shinyest autoconf and automake/aclocal and uses 4649 them whatever is available. 4650 46512003-02-18 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4652 4653 * raptor/configure.ac: autoconf 2.5x configure.ac 4654 4655 * raptor/configure.in: Replaced with autoconf 2.5x configure.ac 4656 46572003-02-15 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4658 4659 * raptor/raptor.h: Move stuff around, consolidate deprecated bits 4660 4661 * raptor/ntriples_parse.c, raptor/rdfdump.c: No need for ntriples.h 4662 4663 * raptor/raptor.h: Moved all ntriples.h defines here. 4664 Defined RAPTOR_DEPRECATED (with gcc 3.1+) and used on old api calls. 4665 4666 * raptor/ntriples.h: 4667 Moved all definitions to raptor.h - this file is now deprecated. 4668 4669 * python/RDF.py: typo 4670 46712003-02-14 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4672 4673 * debian/changelog, debian/libredland0-dev.install: 4674 added redland-config.1 4675 4676 * debian/libredland0-dev.manpages: Added redland-config.1 4677 4678 * debian/Makefile.am: Added libredland0-dev.manpages 4679 4680 * Makefile.am: added redland-config.1 4681 4682 * redland-config.1: redland-config manual page 4683 4684 * redland-config.in, raptor/raptor-config.in: No exec-prefix 4685 4686 * raptor/raptor-config.1: Manual page for raptor-config 4687 4688 * raptor/Makefile.am: Added raptor-config.1 4689 4690 * debian/Makefile.am: missed a backslash 4691 4692 * debian/redland1.files, debian/manpage.1.ex, debian/shlibs.local.ex: 4693 Not used 4694 4695 * debian/rules.in, debian/copyright, debian/control, 4696 debian/changelog, debian/README.Debian, debian/Makefile.am: 4697 Updated for debian packaging 0.9.12 4698 4699 * debian/libredland0-dev.docs, debian/libredland0-dev.files, 4700 debian/libredland0-dev.install, debian/libredland0.files, 4701 debian/libredland0.install, debian/libredland0.manpages: 4702 Redland debian packaging 4703 4704 * debian/doc-base.package, debian/docs, debian/dirs: Not used 4705 4706 * raptor/rapper.1: EXAMPLE 4707 47082003-02-13 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4709 4710 * Redland.i: Added librdf_node_get_literal_value_datatype_uri 4711 4712 * raptor/tests/Makefile.am: $name=>$$name 4713 4714 * configure.in: Bumped version to 0.9.13 4715 4716 * Snapshotted redland_0_9_12 for 0.9.12 release 4717 4718 * raptor/raptor.spec.in: release is 1 4719 47202003-02-12 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4721 4722 * librdf/redland.spec.in, Makefile.am: No RELEASE, TODO 4723 4724 * raptor/Makefile.am: Restore LICENSE.txt 4725 4726 * raptor/Makefile.am: No LICENSE.txt in dist 4727 4728 * java/org/librdf/redland/Makefile.am: Add Hash.ajva to dist 4729 4730 * librdf/redland.spec.in: 4731 Move man pages around. All headers now in devel. 4732 4733 * librdf/redland.spec.in: Don't put raptor man files in this rpm 4734 4735 * librdf/redland.spec.in: Require raptor 0.9.8 4736 4737 * raptor/raptor_uri.c (main): 4738 Use lstat, reading a selection of dirs to try harder to test 4739 relative file URIs. 4740 4741 * raptor/configure.in: check for sys/stat.h (for raptor_uri_test main) 4742 4743 * raptor/tests/Makefile.am: There is no portable test == operator 4744 4745 * raptor/raptor_parse.c (raptor_xml_start_element_handler): 4746 Updated call to 4747 raptor_namespaces_start_namespace to use error_handler, error_data 4748 parameters 4749 4750 * raptor/raptor_general.c (raptor_start_parse): 4751 Updated call to raptor_namespaces_init to use 4752 error_handler, error_data parameters 4753 4754 * raptor/raptor_internal.h: 4755 Updated raptor_namespaces_init, raptor_namespaces_start_namespace, 4756 raptor_namespace_new with error_handler, error_data parameters 4757 4758 * raptor/raptor_namespace.c: (raptor_namespaces_init, 4759 raptor_namespaces_start_namespace, raptor_namespace_new) 4760 Add error handler and data parameters and use to explain how 4761 xmlns:foo="" isn't allowed 4762 4763 * utils/Makefile.am: Add update-api-0912.pl to dist 4764 47652003-02-11 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4766 4767 * raptor/raptor_parse.c: 4768 multiple objects of a property element (statement) is an error 4769 4770 * raptor/tests/Makefile.am: 4771 Report warnings when they occur. Print the warning text 4772 4773 * raptor/tests/bad-11.rdf: now xml 4774 4775 * raptor/tests/Makefile.am: typo - restult 4776 4777 * raptor/tests/bad-11.rdf: 4778 Check xmlns with no namespace name (URI) fails 4779 4780 * raptor/tests/Makefile.am: Added bad-11 4781 4782 * raptor/raptor_libxml.c (raptor_libxml_update_document_locator): 4783 Handle empty parser context. 4784 4785 * raptor/tests/Makefile.am: ex-46 now bad-10 4786 4787 * raptor/tests/bad-10.rdf, raptor/tests/ex-46.rdf, 4788 raptor/tests/ex-46.out: Now bad-10 4789 4790 * raptor/raptor_parse.c (raptor_xml_parse_chunk_): 4791 Make an empty rdf/xml bytestream an 4792 illegal doc (like expat) and return an error. 4793 4794 * raptor/raptor_libxml.c (raptor_libxml_update_document_locator): 4795 Don't use loc if it is NULL 4796 such as errors before start of XML document. 4797 4798 * raptor/raptor_libxml.c: 4799 Check for xmlSAXHandler externalSubset field, not present in old 4800 libxml v1. Whether raptor works after this is unlikely and untested. 4801 4802 * raptor/configure.in: Add old libxml V1 warning and suggestion 4803 4804 * raptor/acconfig.h: Added RAPTOR_LIBXML_XMLSAXHANDLER_EXTERNALSUBSET 4805 4806 * raptor/configure.in: Check for xmlSAXHandler externalSubset field 4807 48082003-02-10 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4809 4810 * raptor/raptor_locator.c (raptor_print_locator): 4811 Only print non-negative line numbers 4812 4813 * raptor/raptor_parse.c (raptor_xml_parse_chunk_): 4814 For libxml, handle first chunk being 4815 empty, when the XML parser context, xc, is attempted to be initialiased 4816 4817 * raptor/tests/Makefile.am: 4818 Added ex-46 (Empty file should give 0 triples) 4819 4820 * raptor/tests/ex-46.out, raptor/tests/ex-46.rdf: 4821 Empty file should give 0 triples 4822 48232003-01-31 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4824 4825 * Makefile.am: utils now has buildable stuff 4826 4827 * librdf/rdf_hash_bdb.c: 4828 Make BDB open failures return librdf_error even when debug set. 4829 4830 * configure.in, Makefile.am: scripts now utils 4831 4832 * utils/Makefile.am, utils/db_upgrade.c, utils/update-api-0912.pl: 4833 scripts now utils, added redland-db-upgrade util 4834 4835 * librdf/redland.spec.in: Added redland-db-upgrade 4836 48372003-01-30 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4838 4839 * configure.in: don't destroy passed in LDFLAGS value 4840 48412003-01-29 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4842 4843 * tcl/Makefile.am: 4844 Fix so it doesn't compile over the input file. Bad $? / $< again 4845 4846 * java/org/librdf/redland/Model.java: 4847 (add/remove) Added contexts version of methods 4848 (context_remove): Added, remove all statements with given context. 4849 4850 * java/Makefile.am: $< wrong for build jars, add all files 4851 4852 * python/RDF.py: 4853 (Model) Added contexts methods, as optional args to add/remove 4854 statements methods. 4855 New method: context_remove_statements 4856 4857 * perl/lib/RDF/Redland/Model.pm (add_statement, add_statements, 4858 remove_statement): Add optional context arg. 4859 (remove_context_statements): Added. 4860 4861 * configure.in: 4862 Make xml parser prefer libxml, to match what raptor does. Expat will 4863 be added if required/available anyway, such as for repat. 4864 If expat is needed for raptor, ensure it uses system expat first if 4865 available rather than always use source version. 4866 4867 * php/php.ini: added safe_mode = Off, says Ron 4868 4869 * autogen.sh: require swig 1.3.14 min 4870 4871 * docs/api.sgml.in, docs/fix-python-xhtml, 4872 docs/fix-pod-xhtml: dates 4873 4874 * configure.in, Makefile.am: 4875 Renamed aux dir to scripts 4876 4877 * scripts/Makefile.am, scripts/update-api-0912.pl: Moved from aux dir 4878 48792003-01-27 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4880 4881 * tcl/Makefile.am, ruby/Makefile.am, raptor/Makefile.am, 4882 python/Makefile.am, perl/Makefile.am, java/Makefile.am, 4883 docs/Makefile.am, php/Makefile.am: 4884 Remove $? and replace with $< or full dependencies 4885 48862003-01-23 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4887 4888 * librdf/rdf_storage_hashes.c (librdf_storage_hashes_register): 4889 Return correct failure sense. 4890 4891 * librdf/rdf_storage_hashes.c (librdf_storage_hashes_terminate): 4892 Protect from empty arrays 4893 4894 * librdf/rdf_storage_hashes.c (librdf_storage_hashes_register): 4895 Don't leak full_name memory when 4896 librdf_new_hash fails. 4897 4898 * librdf/rdf_storage_hashes.c (librdf_storage_hashes_init_common): 4899 On failure to create lower level 4900 hashes, don't free stuff here, librdf_storage_hashes_terminate will 4901 do it, eventually. 4902 49032003-01-21 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4904 4905 * raptor/ntriples_parse.c: 4906 Fix macro IS_ASCII_DIGIT which refused to allow '0'. 4907 49082003-01-13 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4909 4910 * raptor/rdfdump.1: rdfdump.1 renamed to rapper.1 4911 4912 * librdf/redland.spec.in: 4913 Updated for redland 0.9.12 (requires installed raptor to build) 4914 4915 * raptor/raptor.spec.in, raptor/tests/Makefile.am, 4916 raptor/Makefile.am, raptor/INSTALL.html: rdfdump now rapper 4917 4918 * raptor/rapper.1: rdfdump.1 renamed to rapper.1 4919 49202003-01-07 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4921 4922 * librdf/rdf_parser_sirpac.c: No longer needed 4923 49242003-01-03 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4925 4926 * examples/Makefile.am: tweak clean 4927 4928 * librdf/rdf_model.c: 4929 (librdf_model_get_source,librdf_model_get_target,librdf_model_get_arc): 4930 Return a new copy of the shared node, restoring the declared API 4931 behaviour. 4932 4933 * Makefile.am: Added RELEASE.html RELEASE 4934 4935 * librdf/rdf_parser_repat.c 4936 (librdf_parser_repat_parse_file_into_model): Tidy up internal stream 4937 after add_statements no longer frees it. 4938 4939 * librdf/rdf_parser_raptor.c 4940 (librdf_parser_raptor_parse_file_into_model): Tidy up internal stream 4941 after add_statements no longer frees it. 4942 49432003-01-02 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4944 4945 * examples/example4.c: Revert temporary context dbd-store ifdef 4946 4947 * librdf/rdf_node.c (librdf_new_node_from_typed_literal): 4948 Docucomment fix 4949 49502003-01-01 Dave Beckett <Dave.Beckett@bristol.ac.uk> 4951 4952 * docs/api.sgml.in: Added general query, serializer doc parts 4953 4954 * aux/update-api-0912.pl: Add model add_statement changes checks 4955 4956 * aux/update-api-0912.pl: Docs 4957 4958 * aux/update-api-0912.pl: Try to catch stream/iterator api changes too 4959