@@ -10,6 +10,24 @@
dcterms:references <http://kasei.us/code/rdf-trine/#project> .
+<http://kasei.us/code/files/RDF-Trine-1.009.tar.gz>
+ dcterms:isVersionOf <http://kasei.us/code/rdf-trine/#project> ;
+ dcterms:replaces <http://kasei.us/code/files/RDF-Trine-1.008.tar.gz> ;
+
+ doap:Version [
+ doap:revision "1.009" ;
+ doap:created "2014-08-06" ;
+ ];
+ asc:changes [
+ asc:addition "Adding model sync/bulk ops to redland store (Dorian Taylor)." ;
+ asc:update "Optimized use of regular expressions (Dorian Taylor)." ;
+ asc:update "Optimized Hexastore store class (Dorian Taylor)." ;
+ asc:update "Log an info message if there is a cartesian product (Kjetil Kjernsmo)." ;
+ asc:update "Use a base64 encoded digest for Memory store etags (Kjetil Kjernsmo)." ;
+ asc:update "Updated RDF::Trine::Iterator::Bindings->as_statements to accept a RDF::Trine::Pattern argument (github issue #104)." ;
+ ] .
+
+
<http://kasei.us/code/files/RDF-Trine-1.008.tar.gz>
dcterms:isVersionOf <http://kasei.us/code/rdf-trine/#project> ;
dcterms:replaces <http://kasei.us/code/files/RDF-Trine-1.007.tar.gz> ;
@@ -13,7 +13,7 @@ configure_requires:
ExtUtils::MakeMaker: 6.59
distribution_type: module
dynamic_config: 1
-generated_by: 'Module::Install version 1.08'
+generated_by: 'Module::Install version 1.10'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -62,4 +62,4 @@ resources:
homepage: http://search.cpan.org/dist/RDF-Trine/
license: http://dev.perl.org/licenses/
repository: http://github.com/kasei/perlrdf/
-version: '1.008'
+version: '1.009'
@@ -68,7 +68,19 @@ INSTALLATION
VERSION HISTORY
- Version 1.008 (2014-05-20)
+ Version 1.009 (2014-08-06)
+
+ * NEW FEATURES
+ Adding model sync/bulk ops to redland store (Dorian Taylor).
+ * ENHANCEMENTS
+ Optimized use of regular expressions (Dorian Taylor).
+ Optimized Hexastore store class (Dorian Taylor).
+ Use a base64 encoded digest for Memory store etags (Kjetil Kjernsmo).
+ Updated RDF::Trine::Iterator::Bindings->as_statements to accept a RDF::Trine::Pattern argument (github issue #104).
+ * OTHER
+ Log an info message if there is a cartesian product (Kjetil Kjernsmo).
+
+ Version 1.009 (2014-05-20)
* BUG FIXES
Fixed bug in Turtle lexer that was failing to anchor matches of PNAME_LN (GH issue #96 by Tobias Kuhn).
@@ -14,11 +14,11 @@ not run its Makefile.PL or Build.PL.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 8a080614aaa51d811d0ce9731d90ce230944803a Changes.ttl
+SHA1 f9f882b60a4a3a580298089c7a3584f9a704f717 Changes.ttl
SHA1 22a368e748a13b1d961d4b069bb52a470669c637 MANIFEST
-SHA1 d644f39da03bb480f339025b4de95eaa86cc7f5a META.yml
+SHA1 c8bb11ff1bae593509bbe1d6946907833bcdbc1a META.yml
SHA1 436d1d4da25a99b21fc67b3203bf4f6043616aaf Makefile.PL
-SHA1 8bb548c3a9adfc72bcac3ebab7f3693e0cf595c3 README
+SHA1 d01fd168248b374b0d1022a1e39c674370e9b697 README
SHA1 de1a886d4a10836f9a9f7bfb07c01df6bc14ce1f bin/cliapi
SHA1 6b887e866f74e6f823724001c49146ee906c558a bin/graph.pl
SHA1 6b250506c12423fc465c493af38c65ef5b310274 bin/rdf_init_store.pl
@@ -36,81 +36,81 @@ SHA1 be0338e5e9faea24cd684515c93c58b07d58bde4 bin/turtle_parse.pl
SHA1 9a8c63f53beb5203aed53d9c28478a13d1ed02d1 bin/turtle_tokenize.pl
SHA1 54c909523bd47ad798dfc9bc97a64ecd768a51fb examples/foaf_labels.pl
SHA1 e25f036a2f1cb94b03dd008032109b0bbfbd53f8 extra/mysql.sql
-SHA1 dc13ce0dbb488a5de81c3f6519ee31acda17397a inc/Module/Install.pm
+SHA1 4f7982f7e554df23debce735ab343d88d7355140 inc/Module/Install.pm
SHA1 d001b4b9a48395a8c4134b234a0e1789138427c5 inc/Module/Install/AuthorTests.pm
-SHA1 91c20cbda8ca41b4e8f9e0390faff635c2ebe839 inc/Module/Install/Base.pm
-SHA1 eaf50ccbacecb797f0527deb0221c8264f6c8bd8 inc/Module/Install/Can.pm
-SHA1 363c8931cc183444907684b71d6a379e4fc8edcb inc/Module/Install/Fetch.pm
-SHA1 26ae1c0f5f352037b560414f216d7e3ac682f936 inc/Module/Install/Makefile.pm
-SHA1 ff97eb025b44c343d026c2a56a73d50c65319e95 inc/Module/Install/Metadata.pm
-SHA1 45b8ad29be4f0108076da44ac8393156d6513be0 inc/Module/Install/Scripts.pm
-SHA1 4c5ce519d404e242418f51dfe761287469e18e3a inc/Module/Install/Win32.pm
-SHA1 47a52cf8719a283c0efa2edab0088b5d67e0f23a inc/Module/Install/WriteAll.pm
-SHA1 fb4ac5b0e96bed114571b367a0218fd6b2c097f0 lib/RDF/Trine.pm
-SHA1 772c8165bc69669aa44ae1a1b028e0b0be15994b lib/RDF/Trine/Error.pm
-SHA1 913d7de5feae431131c0681c51dac576e2193a13 lib/RDF/Trine/Exporter/CSV.pm
-SHA1 c9337b7cf7ae22616b8e191381414ecfe1f9b97e lib/RDF/Trine/Exporter/RDFPatch.pm
-SHA1 1af2a9f3702591eb8c72dc556df38431d6f653ae lib/RDF/Trine/Graph.pm
-SHA1 7237daa1039224ca684da6e631ead5e57f02c9a0 lib/RDF/Trine/Iterator.pm
-SHA1 81de66a4c114b3650d9e40caed8505e21df12f80 lib/RDF/Trine/Iterator/Bindings.pm
-SHA1 0eb3af713ca9bc2332d0e902b4d1e34f80fe9838 lib/RDF/Trine/Iterator/Bindings/Materialized.pm
-SHA1 0a7b5df0b010c2233ca2499a185652c5c775bea2 lib/RDF/Trine/Iterator/Boolean.pm
-SHA1 b3ba51b66fb89af6ee9f3314a1a6b79d0f65ac2c lib/RDF/Trine/Iterator/Graph.pm
-SHA1 b0ef08ffadab74c543e5061f3b5ad73347706291 lib/RDF/Trine/Iterator/Graph/Materialized.pm
-SHA1 ab7b431d2a207162fa4de6304352c48b6f16a7cf lib/RDF/Trine/Iterator/JSONHandler.pm
-SHA1 ad3f62f4bdf46a7dbebaa82fca192017d28de506 lib/RDF/Trine/Iterator/SAXHandler.pm
-SHA1 1ad03114e8197d0149ec7cd2ad6f4a6546727419 lib/RDF/Trine/Model.pm
-SHA1 44fc08d76ebe474e36a2ad462a46703ae6c65a2f lib/RDF/Trine/Model/Dataset.pm
-SHA1 dc7a92d8ea7e259206c741834c6aef5061fd17a7 lib/RDF/Trine/Model/StatementFilter.pm
-SHA1 5d9006c70c61062fb1e0fd74b683e71ab277c178 lib/RDF/Trine/Model/Union.pm
-SHA1 cdccaed0afaf577b09cf1666aedeedad169a36aa lib/RDF/Trine/Namespace.pm
-SHA1 426ca22dc300e539e0696720c4bb94aaa760d795 lib/RDF/Trine/NamespaceMap.pm
-SHA1 19ff9b7b19731bc9554d0c8334f2d0ba0afb1270 lib/RDF/Trine/Node.pm
-SHA1 6b2e110a55238ddea138942cdb3aa95ad4559911 lib/RDF/Trine/Node/Blank.pm
-SHA1 0343de095c7dc76213edaadfa173a56c0f5561b5 lib/RDF/Trine/Node/Literal.pm
-SHA1 736a780f65d343211c24eebe39d613092d5fb78e lib/RDF/Trine/Node/Nil.pm
-SHA1 540355ec95ea2af78d0e0beb5c05e93665069532 lib/RDF/Trine/Node/Resource.pm
-SHA1 e5705a23f9213251cae100e9e8a6107b15d10d11 lib/RDF/Trine/Node/Variable.pm
-SHA1 43ef6e03cdbef13bed361a1390c55519afc4bafe lib/RDF/Trine/Parser.pm
-SHA1 583af1f2b8cd223fa01af6612f29fff7a87ac33f lib/RDF/Trine/Parser/LineProtocol.pm
-SHA1 593a5cc57191a902b26dd8446792444d31230220 lib/RDF/Trine/Parser/NQuads.pm
-SHA1 6b53506166f60a11009d753b3bd0313d562642ec lib/RDF/Trine/Parser/NTriples.pm
-SHA1 264268eff36bfb1caf63854c2d56944f648c41ad lib/RDF/Trine/Parser/RDFJSON.pm
-SHA1 6455fdf587698c61b134a286bf5f966cadd0bd64 lib/RDF/Trine/Parser/RDFPatch.pm
-SHA1 69f64fe578ae1a54a519bbe2f760aef78209d5d5 lib/RDF/Trine/Parser/RDFXML.pm
-SHA1 835fa4efaeaf623bacbadd829a8c414e0f813ef5 lib/RDF/Trine/Parser/RDFa.pm
-SHA1 8115397219ed0d0fcdd531d344e58555dbefcc23 lib/RDF/Trine/Parser/Redland.pm
-SHA1 73843b3561ea3cc03c6cdf993ba78561c65e12c8 lib/RDF/Trine/Parser/TriG.pm
-SHA1 67c388095d347acdac72a536eeb976a457d65df8 lib/RDF/Trine/Parser/Turtle.pm
-SHA1 deec5477d827d94790ad4135de389b4c188d476d lib/RDF/Trine/Parser/Turtle/Constants.pm
-SHA1 94e83937ab68b0215df60edf28f4a4082efa3a9c lib/RDF/Trine/Parser/Turtle/Lexer.pm
+SHA1 c68c85ca62ae30d83f633975cd9af2a0789f59e0 inc/Module/Install/Base.pm
+SHA1 4797fd314e2653a427e725104704b0320993ba8c inc/Module/Install/Can.pm
+SHA1 b771d93af2bfc41273f48fa36082bf1bd6f21dbe inc/Module/Install/Fetch.pm
+SHA1 f4f3258a505a432a58cbcdc1fd030ef5e8e90985 inc/Module/Install/Makefile.pm
+SHA1 100a0dd8572f0b40373350fdd6c0a6f035d9dc39 inc/Module/Install/Metadata.pm
+SHA1 15651618fd1e8d2fdb8da4c020bbd3d829599c42 inc/Module/Install/Scripts.pm
+SHA1 4490fed943f4e556db9fd054b7ec8765ca417f7d inc/Module/Install/Win32.pm
+SHA1 8464ddf690b9f7036a0974ff172ec0ced2f6a329 inc/Module/Install/WriteAll.pm
+SHA1 3b9cb1ac46a1d10f40124bb8f46fd6d4260fb8db lib/RDF/Trine.pm
+SHA1 c5ef5b27376ff2a9380dcf21daf4a1e9005128f3 lib/RDF/Trine/Error.pm
+SHA1 c01b2c1e2de48e8f265216562e1092650c9cc801 lib/RDF/Trine/Exporter/CSV.pm
+SHA1 556099f38cec2f108c89d4da5f7b819937a90e68 lib/RDF/Trine/Exporter/RDFPatch.pm
+SHA1 72e83cd858ba45fa1ae7f9e60e91ae336a63087b lib/RDF/Trine/Graph.pm
+SHA1 b5ee1192ad465215925fe490618f95fda709fb60 lib/RDF/Trine/Iterator.pm
+SHA1 94de0cf8d49c52d3ea281b0c07c6e5fa59154a1a lib/RDF/Trine/Iterator/Bindings.pm
+SHA1 a4ccb30bb879b7904ad1e5f736c29985248073ea lib/RDF/Trine/Iterator/Bindings/Materialized.pm
+SHA1 9ff62863fd6cdf84132e188030e0dca251ba944d lib/RDF/Trine/Iterator/Boolean.pm
+SHA1 5e984379550f38d1b7ec05619a628f661cbebbbc lib/RDF/Trine/Iterator/Graph.pm
+SHA1 5f3308712e6962e92a334e9cdd4354b643eb2075 lib/RDF/Trine/Iterator/Graph/Materialized.pm
+SHA1 19fd0239c74cb1e9f89a113d718a007d32648c05 lib/RDF/Trine/Iterator/JSONHandler.pm
+SHA1 b291d9e990948f768636789a7f7d9e9433c64296 lib/RDF/Trine/Iterator/SAXHandler.pm
+SHA1 97cd820a855f1c73da484a25aecf0068768184b5 lib/RDF/Trine/Model.pm
+SHA1 2e503907718cbf75591f36dbf12d58fefe6ae340 lib/RDF/Trine/Model/Dataset.pm
+SHA1 351ed5973b135e8f52b4182a17f74e23c1c41f8e lib/RDF/Trine/Model/StatementFilter.pm
+SHA1 8519c54963c402f110ea9afc8eb173d1a6da3b42 lib/RDF/Trine/Model/Union.pm
+SHA1 5542c725341361e4cc691cce12d56f09b4d74dfc lib/RDF/Trine/Namespace.pm
+SHA1 a84bae709992ddf58143e49c784e1ff94ec5da64 lib/RDF/Trine/NamespaceMap.pm
+SHA1 9596b07841a836fbcf0447295c2863954c3083f4 lib/RDF/Trine/Node.pm
+SHA1 583ec1b6c16bfe71d657442c2258c79f646d4f28 lib/RDF/Trine/Node/Blank.pm
+SHA1 aa9791753c3ab8460ef3042522a296e564ce42c5 lib/RDF/Trine/Node/Literal.pm
+SHA1 bd803327654c66a4754762d32bc710a5a1e76ac7 lib/RDF/Trine/Node/Nil.pm
+SHA1 5196a74bcfb2fac116e05b981dd1000ff732c468 lib/RDF/Trine/Node/Resource.pm
+SHA1 f3fd933d3635e100e640a1a2e5f5ed9f91291a0c lib/RDF/Trine/Node/Variable.pm
+SHA1 1a598592d6046b418ca08321cb4da0e72e46b45a lib/RDF/Trine/Parser.pm
+SHA1 e0d1e4c33534d27eab92772fe63d3f429e6c9fe0 lib/RDF/Trine/Parser/LineProtocol.pm
+SHA1 25d35bb12e0f702eec5a74a794fc5c464c98fe78 lib/RDF/Trine/Parser/NQuads.pm
+SHA1 3258959ee312f7fe7081a01f24144f25de584521 lib/RDF/Trine/Parser/NTriples.pm
+SHA1 9e7af9ec7d1d2bf9d26c21347c2a65316d0c0659 lib/RDF/Trine/Parser/RDFJSON.pm
+SHA1 db10824e6c67dc539dcb3cf4497e6619315eb3f5 lib/RDF/Trine/Parser/RDFPatch.pm
+SHA1 5d8cb267a9b67fe34e82721f8ea4f704072a0fb6 lib/RDF/Trine/Parser/RDFXML.pm
+SHA1 9f10a13a7ba7b41bf12511997fdcb15ff489bdf8 lib/RDF/Trine/Parser/RDFa.pm
+SHA1 91f698cd28afdddb1b133be243e3cd4d77fd0190 lib/RDF/Trine/Parser/Redland.pm
+SHA1 fc341d7c5a4ec74918c2b771446a3b9278df5b52 lib/RDF/Trine/Parser/TriG.pm
+SHA1 52586038cc1f4f301026034319bfeb232da6cb78 lib/RDF/Trine/Parser/Turtle.pm
+SHA1 b0c858fb5c9d06de547b7d7ba82ad973851576bc lib/RDF/Trine/Parser/Turtle/Constants.pm
+SHA1 b942931cace529a7ec04fc0586ca8e4520dec627 lib/RDF/Trine/Parser/Turtle/Lexer.pm
SHA1 c210d2369f1be2469fb59ec14dc2749de1e88ff3 lib/RDF/Trine/Parser/Turtle/Token.pm
-SHA1 04f83876fb690b7d2005953108176401c581d96c lib/RDF/Trine/Pattern.pm
-SHA1 94b1a9b13d3ff147941d764bfa3dfc66e8c1326a lib/RDF/Trine/Serializer.pm
-SHA1 46892fd7b0545ff64ae108b44f7b042a552a6950 lib/RDF/Trine/Serializer/NQuads.pm
-SHA1 c3b39f0c32b6bd38ec01989845911b7e0689598d lib/RDF/Trine/Serializer/NTriples.pm
-SHA1 231646d806ad32b75828d6e47d396bcf3cd89654 lib/RDF/Trine/Serializer/NTriples/Canonical.pm
-SHA1 0ee1cd018c2d359b43a13fe6b02094d05a6f01c7 lib/RDF/Trine/Serializer/RDFJSON.pm
-SHA1 23c67317e3020080f067f8229da8c0837cb28f7d lib/RDF/Trine/Serializer/RDFPatch.pm
-SHA1 bd184ee3e762e3048ffedf5f1c5241c5ae5c852d lib/RDF/Trine/Serializer/RDFXML.pm
-SHA1 0b755b803df97407f2d0fcd92fa8a0c26e5107b5 lib/RDF/Trine/Serializer/TSV.pm
-SHA1 48daf42b9cb1e814b8bd0428accf1b3df79b2cdc lib/RDF/Trine/Serializer/TriG.pm
-SHA1 1c9ff00a3406cf44bdac9a67440ba836bc5c03b3 lib/RDF/Trine/Serializer/Turtle.pm
-SHA1 689b7237cd9807db80343b9d4ee9c60c937e07e4 lib/RDF/Trine/Statement.pm
-SHA1 066aca1fb422ad81e1573c3f59312cc2c2305f7f lib/RDF/Trine/Statement/Quad.pm
-SHA1 1a01e4c884f430e7bd50af2fb00ee982f69393ee lib/RDF/Trine/Store.pm
-SHA1 e125a861c34b035abaf22927d5b91f654891055f lib/RDF/Trine/Store/DBI.pm
-SHA1 3b012618f61b7caf3f24aa4a19e52de33989a4d4 lib/RDF/Trine/Store/DBI/Pg.pm
-SHA1 a0feef3272ab79e9b3dfb8d87865e03f040d914a lib/RDF/Trine/Store/DBI/SQLite.pm
-SHA1 a4d67331181d140c3f68edb05bf8ffe8aba5c5bf lib/RDF/Trine/Store/DBI/mysql.pm
-SHA1 c052c27521fb14a46fbe6721d759e6e66cff044a lib/RDF/Trine/Store/Dydra.pm
-SHA1 69b397fa891e85a5ee51db5b6e754904e2d13c5f lib/RDF/Trine/Store/Hexastore.pm
-SHA1 d39aadce6e256a21a35b47766fae6143c6acbfd5 lib/RDF/Trine/Store/Memory.pm
-SHA1 1445fb5705d1831b22edddac447a32fa50bb1e33 lib/RDF/Trine/Store/Redis.pm
-SHA1 0f4ff27a820599d01e9bc12ba05d83f7032935a0 lib/RDF/Trine/Store/Redland.pm
-SHA1 feac9960d968b70e3ff2d1f8f5dafac393fbaff5 lib/RDF/Trine/Store/SPARQL.pm
-SHA1 7dfbe116876f6cb3d69ab39403343f03adb7e27c lib/RDF/Trine/VariableBindings.pm
-SHA1 d8b5c402bb910e92f4d7e260e671553043f7cea8 lib/Test/RDF/Trine/Store.pm
+SHA1 3f7da3f23cb4ebf9c1e2db7f0e21170282a0f8f1 lib/RDF/Trine/Pattern.pm
+SHA1 7bf893871f69601bae0a5284d0bb08e4fa9322fa lib/RDF/Trine/Serializer.pm
+SHA1 a92d96ae45d8dc52ec699d27113c4832637ecd95 lib/RDF/Trine/Serializer/NQuads.pm
+SHA1 56db7c5d62aa540e6409a46480e882e5d29e1485 lib/RDF/Trine/Serializer/NTriples.pm
+SHA1 5c776e90e4a2246b1ef94ebce88a429389a899fe lib/RDF/Trine/Serializer/NTriples/Canonical.pm
+SHA1 13a1a0de980e90e47d9e371da2f1742c6dd595ee lib/RDF/Trine/Serializer/RDFJSON.pm
+SHA1 7f316d56739ce9cb2722267e692d6ce307f3c0a8 lib/RDF/Trine/Serializer/RDFPatch.pm
+SHA1 db12dae0f0428cfde9228871a63f5effc2d79284 lib/RDF/Trine/Serializer/RDFXML.pm
+SHA1 19765b7d8545d0c1c7ef916cd5de1a0c2ed416e9 lib/RDF/Trine/Serializer/TSV.pm
+SHA1 21b7f33582b098d5c00f3b24db8cb253f8e7b5fa lib/RDF/Trine/Serializer/TriG.pm
+SHA1 a163daed83df0b092708c7208e8dd0c34f90a776 lib/RDF/Trine/Serializer/Turtle.pm
+SHA1 2eabf8bf71f0070d34ebb20c8def3bb3c3d4ebbf lib/RDF/Trine/Statement.pm
+SHA1 7fbe40b98839e1b4a4c2340fedef77dcadb5c1c7 lib/RDF/Trine/Statement/Quad.pm
+SHA1 32c6143651c76eb81bb6fd2e0cba45040c62fe81 lib/RDF/Trine/Store.pm
+SHA1 e9afb811a4a6e1e993cc94a1feb24cc9698421ef lib/RDF/Trine/Store/DBI.pm
+SHA1 7261b62a301bbc5b125b3bda6c90bb95f458a96e lib/RDF/Trine/Store/DBI/Pg.pm
+SHA1 3497b0f2365ea4bae56e3cec5a714ba58c3e1cea lib/RDF/Trine/Store/DBI/SQLite.pm
+SHA1 2c219ed13b78cf0f5e7aa7222f816afbc2abf4c0 lib/RDF/Trine/Store/DBI/mysql.pm
+SHA1 1713063e25a9c1d8c39b60baa7bd266a3ec0d97b lib/RDF/Trine/Store/Dydra.pm
+SHA1 b4c8268aced50e600894b23bbe1c3b5fbe508f6b lib/RDF/Trine/Store/Hexastore.pm
+SHA1 686bda06985a4da01bbec5dd5496957d0b06afcd lib/RDF/Trine/Store/Memory.pm
+SHA1 342c753d21216cdabb653e15d27da72d49a105b7 lib/RDF/Trine/Store/Redis.pm
+SHA1 94998a115cfa3d3a5ebd2b3b9d3acf19850ff610 lib/RDF/Trine/Store/Redland.pm
+SHA1 517350c8e4a43f8fd68d7d872856d4232d62acd2 lib/RDF/Trine/Store/SPARQL.pm
+SHA1 90ae35528f7c49b5b6da7739093c255d81fdac89 lib/RDF/Trine/VariableBindings.pm
+SHA1 996022f7c3112cc196ce359a5f28c33666c21687 lib/Test/RDF/Trine/Store.pm
SHA1 3d6f8b1b1edbb40c4bae20dfc977fcf67d97ff28 t/00.load.t
SHA1 403973466abf1be3a25ac53e0e4eeaee06e1a669 t/data/bugs/ttl-with-bom.ttl
SHA1 171b51b6ee76df5df278cd9b8946edbc2dade2b4 t/data/rdfa/test-sd.nt
@@ -1323,7 +1323,7 @@ SHA1 77d3ecc040080e5dc649bd56090b0aeedeceff90 t/graph-subgraphs.t
SHA1 0155808c901e925f4dd0af99a62ce4988dac6c33 t/graph.t
SHA1 eeb60d81a3ba5aed1c7bbdfb865e8606a0803c4f t/iterator-bindings-join.t
SHA1 0434eb1940161be055f80b36976266761db4b1e3 t/iterator-bindings-materialize.t
-SHA1 63c4eeeaca8fda906a89b1ca02faa7a20b27db7b t/iterator-bindings.t
+SHA1 631b98035778a9aebf3cb73a88a928a4c4bde24b t/iterator-bindings.t
SHA1 6d40cb41c4ba2c1c1fe15e96b6bcf3f54b79cbc7 t/iterator-boolean.t
SHA1 3c27b9c168a8f53d3339b9f271702cfbe9bec15f t/iterator-graph-materialize.t
SHA1 29608bb2ceeac144565bd392958962c935ff12d4 t/iterator-graph.t
@@ -1401,7 +1401,7 @@ SHA1 0d59038cf8ba6efd00638de2bcf3c56bbd3e7da1 xt/store-sparql.t
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
-iEYEARECAAYFAlN73UwACgkQhPK6VMqoyC3fHwCfU5tbML8rDmNOl2e58/DmC++r
-SCwAn1hLtcOHETnrBnbyWeD35wzmuC21
-=ILYD
+iEYEARECAAYFAlPib64ACgkQhPK6VMqoyC1FFwCeOxJx/pBlo1Y1/Oop/6mQYrTn
+mI4Anj5539emOz0mdAmzSDJ6nn2oyFS7
+=fLdS
-----END PGP SIGNATURE-----
@@ -4,7 +4,7 @@ package Module::Install::Base;
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
}
# Suspend handler for "redefined" warnings
@@ -8,7 +8,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -91,3 +91,7 @@ END_FTP
}
1;
+
+__END__
+
+#line 109
@@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/;
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -133,7 +133,7 @@ sub makemaker_args {
return $args;
}
-# For mm args that take multiple space-seperated args,
+# For mm args that take multiple space-separated args,
# append an argument to the current list.
sub makemaker_append {
my $self = shift;
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -347,7 +347,7 @@ sub name_from {
^ \s*
package \s*
([\w:]+)
- \s* ;
+ [\s|;]*
/ixms
) {
my ($name, $module_name) = ($1, $1);
@@ -453,24 +453,40 @@ sub author_from {
#Stolen from M::B
my %license_urls = (
- perl => 'http://dev.perl.org/licenses/',
- apache => 'http://apache.org/licenses/LICENSE-2.0',
- apache_1_1 => 'http://apache.org/licenses/LICENSE-1.1',
- artistic => 'http://opensource.org/licenses/artistic-license.php',
- artistic_2 => 'http://opensource.org/licenses/artistic-license-2.0.php',
- lgpl => 'http://opensource.org/licenses/lgpl-license.php',
- lgpl2 => 'http://opensource.org/licenses/lgpl-2.1.php',
- lgpl3 => 'http://opensource.org/licenses/lgpl-3.0.html',
- bsd => 'http://opensource.org/licenses/bsd-license.php',
- gpl => 'http://opensource.org/licenses/gpl-license.php',
- gpl2 => 'http://opensource.org/licenses/gpl-2.0.php',
- gpl3 => 'http://opensource.org/licenses/gpl-3.0.html',
- mit => 'http://opensource.org/licenses/mit-license.php',
- mozilla => 'http://opensource.org/licenses/mozilla1.1.php',
open_source => undef,
unrestricted => undef,
restrictive => undef,
unknown => undef,
+
+## from Software-License - should we be using S-L instead ?
+# duplicates commeted out, see hack above ^^
+# open_source => 'http://www.gnu.org/licenses/agpl-3.0.txt',
+# apache => 'http://www.apache.org/licenses/LICENSE-1.1',
+ apache => 'http://www.apache.org/licenses/LICENSE-2.0.txt',
+ artistic => 'http://www.perlfoundation.org/artistic_license_1_0',
+ artistic_2 => 'http://www.perlfoundation.org/artistic_license_2_0',
+ bsd => 'http://opensource.org/licenses/BSD-3-Clause',
+# unrestricted => 'http://creativecommons.org/publicdomain/zero/1.0/',
+# open_source => 'http://www.freebsd.org/copyright/freebsd-license.html',
+# open_source => 'http://www.gnu.org/licenses/fdl-1.2.txt',
+# open_source => 'http://www.gnu.org/licenses/fdl-1.3.txt',
+# gpl => 'http://www.gnu.org/licenses/old-licenses/gpl-1.0.txt',
+# gpl => 'http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt',
+ gpl => 'http://www.gnu.org/licenses/gpl-3.0.txt',
+# lgpl => 'http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt',
+ lgpl => 'http://www.gnu.org/licenses/lgpl-3.0.txt',
+ mit => 'http://www.opensource.org/licenses/mit-license.php',
+# mozilla => 'http://www.mozilla.org/MPL/MPL-1.0.txt',
+# mozilla => 'http://www.mozilla.org/MPL/MPL-1.1.txt',
+ mozilla => 'http://www.mozilla.org/MPL/2.0/index.txt',
+# restrictive => '',
+# open_source => 'http://www.openssl.org/source/license.html',
+ perl => 'http://dev.perl.org/licenses/',
+# open_source => 'http://www.opensource.org/licenses/postgresql',
+# open_source => 'http://trolltech.com/products/qt/licenses/licensing/qpl',
+# unrestricted => 'http://h71000.www7.hp.com/doc/83final/BA554_90007/apcs02.html',
+# open_source => 'http://www.openoffice.org/licenses/sissl_license.html',
+# open_source => 'http://www.zlib.net/zlib_license.html',
);
sub license {
@@ -511,31 +527,43 @@ sub __extract_license {
my @phrases = (
'(?:under )?the same (?:terms|license) as (?:perl|the perl (?:\d )?programming language)' => 'perl', 1,
'(?:under )?the terms of (?:perl|the perl programming language) itself' => 'perl', 1,
- 'Artistic and GPL' => 'perl', 1,
- 'GNU general public license' => 'gpl', 1,
- 'GNU public license' => 'gpl', 1,
- 'GNU lesser general public license' => 'lgpl', 1,
- 'GNU lesser public license' => 'lgpl', 1,
- 'GNU library general public license' => 'lgpl', 1,
- 'GNU library public license' => 'lgpl', 1,
- 'GNU Free Documentation license' => 'unrestricted', 1,
- 'GNU Affero General Public License' => 'open_source', 1,
+
+ # the following are relied on by the test system even if they are wrong :(
'(?:Free)?BSD license' => 'bsd', 1,
'Artistic license 2\.0' => 'artistic_2', 1,
- 'Artistic license' => 'artistic', 1,
- 'Apache (?:Software )?license' => 'apache', 1,
- 'GPL' => 'gpl', 1,
'LGPL' => 'lgpl', 1,
- 'BSD' => 'bsd', 1,
- 'Artistic' => 'artistic', 1,
'MIT' => 'mit', 1,
- 'Mozilla Public License' => 'mozilla', 1,
- 'Q Public License' => 'open_source', 1,
- 'OpenSSL License' => 'unrestricted', 1,
- 'SSLeay License' => 'unrestricted', 1,
- 'zlib License' => 'open_source', 1,
- 'proprietary' => 'proprietary', 0,
+
+## from Software-License
+ 'The GNU Affero General Public License, Version 3, November 2007' => 'open_source', 1,
+ 'The Apache Software License, Version 1.1' => 'apache', 1,
+ 'The Apache License, Version 2.0, January 2004' => 'apache', 1,
+ 'The Artistic License 1.0' => 'artistic', 1,
+ 'The Artistic License 2.0 (GPL Compatible)' => 'artistic_2', 1,
+ 'The (three-clause) BSD License' => 'bsd', 1,
+ 'CC0 License' => 'unrestricted', 1,
+ 'The (two-clause) FreeBSD License' => 'open_source', 1,
+ 'GNU Free Documentation License v1.2' => 'open_source', 1,
+ 'GNU Free Documentation License v1.3' => 'open_source', 1,
+ 'The GNU General Public License, Version 1, February 1989' => 'gpl', 1,
+ 'The GNU General Public License, Version 2, June 1991' => 'gpl', 1,
+ 'The GNU General Public License, Version 3, June 2007' => 'gpl', 1,
+ 'The GNU Lesser General Public License, Version 2.1, February 1999' => 'lgpl', 1,
+ 'The GNU Lesser General Public License, Version 3, June 2007' => 'lgpl', 1,
+ 'The MIT (X11) License' => 'mit', 1,
+ 'The Mozilla Public License 1.0' => 'mozilla', 1,
+ 'The Mozilla Public License 1.1' => 'mozilla', 1,
+ 'Mozilla Public License Version 2.0' => 'mozilla', 1,
+ '"No License" License' => 'restrictive', 1,
+ 'OpenSSL License' => 'open_source', 1,
+ 'the same terms as the perl 5 programming language system itself' => 'perl', 1,
+ 'The PostgreSQL License' => 'open_source', 1,
+ 'The Q Public License, Version 1.0' => 'open_source', 1,
+ 'Original SSLeay License' => 'unrestricted', 1,
+ 'Sun Internet Standards Source License (SISSL)' => 'open_source', 1,
+ 'The zlib License' => 'open_source', 1,
);
+
while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
$pattern =~ s#\s+#\\s+#gs;
if ( $license_text =~ /\b$pattern\b/i ) {
@@ -705,7 +733,7 @@ sub _write_mymeta_data {
my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
my $meta = $yaml[0];
- # Overwrite the non-configure dependency hashs
+ # Overwrite the non-configure dependency hashes
delete $meta->{requires};
delete $meta->{build_requires};
delete $meta->{recommends};
@@ -720,3 +748,7 @@ sub _write_mymeta_data {
}
1;
+
+__END__
+
+#line 766
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -27,3 +27,7 @@ sub install_script {
}
1;
+
+__END__
+
+#line 45
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -62,3 +62,7 @@ END_MESSAGE
}
1;
+
+__END__
+
+#line 80
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.10';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
@@ -61,3 +61,7 @@ sub WriteAll {
}
1;
+
+__END__
+
+#line 79
@@ -17,7 +17,7 @@ package Module::Install;
# 3. The ./inc/ version of Module::Install loads
# }
-use 5.005;
+use 5.006;
use strict 'vars';
use Cwd ();
use File::Find ();
@@ -31,7 +31,7 @@ BEGIN {
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.08';
+ $VERSION = '1.10';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -156,10 +156,10 @@ END_DIE
sub autoload {
my $self = shift;
my $who = $self->_caller;
- my $cwd = Cwd::cwd();
+ my $cwd = Cwd::getcwd();
my $sym = "${who}::AUTOLOAD";
$sym->{$cwd} = sub {
- my $pwd = Cwd::cwd();
+ my $pwd = Cwd::getcwd();
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
@@ -239,7 +239,7 @@ sub new {
# ignore the prefix on extension modules built from top level.
my $base_path = Cwd::abs_path($FindBin::Bin);
- unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+ unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
delete $args{prefix};
}
return $args{_self} if $args{_self};
@@ -338,7 +338,7 @@ sub find_extensions {
if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
my $content = Module::Install::_read($subpath . '.pm');
my $in_pod = 0;
- foreach ( split //, $content ) {
+ foreach ( split /\n/, $content ) {
$in_pod = 1 if /^=\w/;
$in_pod = 0 if /^=cut/;
next if ($in_pod || /^=cut/); # skip pod text
@@ -434,7 +434,7 @@ END_OLD
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
-sub _version ($) {
+sub _version {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
@@ -450,12 +450,12 @@ sub _version ($) {
return $l + 0;
}
-sub _cmp ($$) {
+sub _cmp {
_version($_[1]) <=> _version($_[2]);
}
# Cloned from Params::Util::_CLASS
-sub _CLASS ($) {
+sub _CLASS {
(
defined $_[0]
and
@@ -467,4 +467,7 @@ sub _CLASS ($) {
1;
-# Copyright 2008 - 2012 Adam Kennedy.
+
+__END__
+
+#line 485
@@ -7,7 +7,7 @@ RDF::Trine::Error - Error classes for RDF::Trine
=head1 VERSION
-This document describes RDF::Trine::Error version 1.008
+This document describes RDF::Trine::Error version 1.009
=head1 SYNOPSIS
@@ -38,7 +38,7 @@ use base qw(Error);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Exporter::CSV - Export RDF data to CSV
=head1 VERSION
-This document describes RDF::Trine::Exporter::CSV version 1.008
+This document describes RDF::Trine::Exporter::CSV version 1.009
=head1 SYNOPSIS
@@ -33,7 +33,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
=head1 METHODS
@@ -7,7 +7,7 @@ RDF::Trine::Exporter::RDFPatch - RDF-Patch Export
=head1 VERSION
-This document describes RDF::Trine::Exporter::RDFPatch version 1.008
+This document describes RDF::Trine::Exporter::RDFPatch version 1.009
=head1 SYNOPSIS
@@ -44,7 +44,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Graph - Materialized RDF Graphs for testing isomorphism
=head1 VERSION
-This document describes RDF::Trine::Graph version 1.008
+This document describes RDF::Trine::Graph version 1.009
=head1 SYNOPSIS
@@ -40,7 +40,7 @@ use Algorithm::Combinatorics qw(permutations);
our ($VERSION, $debug, $AUTOLOAD);
BEGIN {
$debug = 0;
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
use overload
@@ -7,7 +7,7 @@ RDF::Trine::Iterator::Bindings::Materialized - Materialized bindings class
=head1 VERSION
-This document describes RDF::Trine::Iterator::Bindings::Materialized version 1.008
+This document describes RDF::Trine::Iterator::Bindings::Materialized version 1.009
=head1 SYNOPSIS
@@ -51,7 +51,7 @@ use Scalar::Util qw(blessed reftype);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
=item C<< new ( \@results, \@names, %args ) >>
@@ -7,7 +7,7 @@ RDF::Trine::Iterator::Bindings - Iterator class for bindings query results
=head1 VERSION
-This document describes RDF::Trine::Iterator::Bindings version 1.008
+This document describes RDF::Trine::Iterator::Bindings version 1.009
=head1 SYNOPSIS
@@ -51,7 +51,7 @@ use Carp qw(croak);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
=item C<new ( \@results, \@names, %args )>
@@ -483,25 +483,57 @@ sub as_string {
}
}
-=item C<< as_statements ( @names ) >>
+=item C<< as_statements ( $pattern | @names ) >>
Returns a L<RDF::Trine::Iterator::Graph> with the statements of the stream.
+If C<$pattern>, an RDF::Trine::Pattern object, is given as an argument, each of
+its triples are instantiated with variable bindings from each row of the
+iterator, and returned as RDF::Trine::Statement objects from a new
+RDF::Trine::Iterator::Graph iterator.
+
+If 3 variable C<@names> are supplied, their corresponding variable bindings
+in each row of the iterator are used (in order) as the subject, predicate, and
+object of new RDF::Trine::Statement objects and returned from a new
+RDF::Trine::Iterator::Graph iterator.
+
=cut
sub as_statements {
my $self = shift;
my @names = @_;
- my $sub = sub {
- my $row = $self->next;
- return unless (defined $row);
- my @values = @{ $row }{ @names };
- my $statement = (scalar(@values) == 3 or not(defined($values[3])))
- ? RDF::Trine::Statement->new( @values[ 0 .. 2 ] )
- : RDF::Trine::Statement::Quad->new( @values );
- return $statement;
- };
- return RDF::Trine::Iterator::Graph->new( $sub )
+ if (scalar(@names) == 1 and $names[0]->can('triples')) {
+ my $pattern = shift;
+ my @triples = $pattern->triples;
+ my @queue;
+ my $sub = sub {
+ while (1) {
+ if (scalar(@queue)) {
+ return shift(@queue);
+ }
+ my $row = $self->next;
+ return unless (defined $row);
+ foreach my $t (@triples) {
+ my $st = $t->bind_variables($row);
+ if ($st->rdf_compatible) {
+ push(@queue, $st);
+ }
+ }
+ }
+ };
+ return RDF::Trine::Iterator::Graph->new( $sub );
+ } else {
+ my $sub = sub {
+ my $row = $self->next;
+ return unless (defined $row);
+ my @values = @{ $row }{ @names };
+ my $statement = (scalar(@values) == 3 or not(defined($values[3])))
+ ? RDF::Trine::Statement->new( @values[ 0 .. 2 ] )
+ : RDF::Trine::Statement::Quad->new( @values );
+ return $statement;
+ };
+ return RDF::Trine::Iterator::Graph->new( $sub );
+ }
}
=item C<< print_xml ( $fh, $max_size ) >>
@@ -7,7 +7,7 @@ RDF::Trine::Iterator::Boolean - Iterator class for boolean query results
=head1 VERSION
-This document describes RDF::Trine::Iterator::Boolean version 1.008
+This document describes RDF::Trine::Iterator::Boolean version 1.009
=head1 SYNOPSIS
@@ -38,7 +38,7 @@ use JSON 2.0;
use base qw(RDF::Trine::Iterator);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
=item C<new ( \@results, %args )>
@@ -7,7 +7,7 @@ RDF::Trine::Iterator::Graph::Materialized - Materialized graph class
=head1 VERSION
-This document describes RDF::Trine::Iterator::Graph::Materialized version 1.008
+This document describes RDF::Trine::Iterator::Graph::Materialized version 1.009
=head1 SYNOPSIS
@@ -48,7 +48,7 @@ use base qw(RDF::Trine::Iterator::Graph);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
=item C<< new ( \@results, %args ) >>
@@ -7,7 +7,7 @@ RDF::Trine::Iterator::Graph - Iterator class for graph query results
=head1 VERSION
-This document describes RDF::Trine::Iterator::Graph version 1.008
+This document describes RDF::Trine::Iterator::Graph version 1.009
=head1 SYNOPSIS
@@ -47,7 +47,7 @@ use base qw(RDF::Trine::Iterator);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Iterator::JSONHandler - JSON Handler for parsing SPARQL JSON Results
=head1 VERSION
-This document describes RDF::Trine::Iterator::JSONHandler version 1.008
+This document describes RDF::Trine::Iterator::JSONHandler version 1.009
=head1 STATUS
@@ -40,7 +40,7 @@ use RDF::Trine::VariableBindings;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
=item C<< new >>
@@ -7,7 +7,7 @@ RDF::Trine::Iterator::SAXHandler - SAX Handler for parsing SPARQL XML Results fo
=head1 VERSION
-This document describes RDF::Trine::Iterator::SAXHandler version 1.008
+This document describes RDF::Trine::Iterator::SAXHandler version 1.009
=head1 STATUS
@@ -45,7 +45,7 @@ use RDF::Trine::VariableBindings;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
my %strings;
@@ -7,7 +7,7 @@ RDF::Trine::Iterator - Iterator class for SPARQL query results
=head1 VERSION
-This document describes RDF::Trine::Iterator version 1.008.
+This document describes RDF::Trine::Iterator version 1.009.
=head1 SYNOPSIS
@@ -43,7 +43,7 @@ use RDF::Trine::Iterator::JSONHandler;
our ($VERSION, @ISA, @EXPORT_OK);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
require Exporter;
@ISA = qw(Exporter);
@@ -7,7 +7,7 @@ RDF::Trine::Model::Dataset - Model for SPARQL datasets
=head1 VERSION
-This document describes RDF::Trine::Model::Dataset version 1.008
+This document describes RDF::Trine::Model::Dataset version 1.009
=head1 STATUS
@@ -37,7 +37,7 @@ use RDF::Trine::Model;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
################################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Model::StatementFilter - Model for filtering statements based on a u
=head1 VERSION
-This document describes RDF::Trine::Model::StatementFilter version 1.008
+This document describes RDF::Trine::Model::StatementFilter version 1.009
=head1 METHODS
@@ -33,7 +33,7 @@ use RDF::Trine::Iterator qw(sgrep);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
################################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Model::Union - Union models for joining multiple stores together
=head1 VERSION
-This document describes RDF::Trine::Model::Union version 1.008
+This document describes RDF::Trine::Model::Union version 1.009
=head1 METHODS
@@ -31,7 +31,7 @@ use RDF::Trine::Store;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
################################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Model - Model class
=head1 VERSION
-This document describes RDF::Trine::Model version 1.008
+This document describes RDF::Trine::Model version 1.009
=head1 METHODS
@@ -23,7 +23,7 @@ no warnings 'redefine';
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
use Scalar::Util qw(blessed refaddr);
@@ -8,7 +8,7 @@ RDF::Trine::Namespace - Abbreviated syntax for constructing RDF node objects
=head1 VERSION
-This document describes RDF::Trine::Namespace version 1.008
+This document describes RDF::Trine::Namespace version 1.009
=head1 SYNOPSIS
@@ -44,7 +44,7 @@ use base qw(XML::Namespace);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -8,7 +8,7 @@ RDF::Trine::NamespaceMap - Collection of Namespaces
=head1 VERSION
-This document describes RDF::Trine::NamespaceMap version 1.008
+This document describes RDF::Trine::NamespaceMap version 1.009
=head1 SYNOPSIS
@@ -43,7 +43,7 @@ use Data::Dumper;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Node::Blank - RDF Node class for blank nodes
=head1 VERSION
-This document describes RDF::Trine::Node::Blank version 1.008
+This document describes RDF::Trine::Node::Blank version 1.009
=cut
@@ -26,7 +26,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Node::Literal - RDF Node class for literals
=head1 VERSION
-This document describes RDF::Trine::Node::Literal version 1.008
+This document describes RDF::Trine::Node::Literal version 1.009
=cut
@@ -27,7 +27,7 @@ use Carp qw(carp croak confess);
our ($VERSION, $USE_XMLLITERALS, $USE_FORMULAE);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
eval "use RDF::Trine::Node::Literal::XML;"; ## no critic (ProhibitStringyEval)
$USE_XMLLITERALS = (RDF::Trine::Node::Literal::XML->can('new')) ? 1 : 0;
eval "use RDF::Trine::Node::Formula;"; ## no critic (ProhibitStringyEval)
@@ -7,7 +7,7 @@ RDF::Trine::Node::Nil - RDF Node class for the nil node
=head1 VERSION
-This document describes RDF::Trine::Node::Nil version 1.008
+This document describes RDF::Trine::Node::Nil version 1.009
=cut
@@ -27,7 +27,7 @@ use Carp qw(carp croak confess);
my $NIL_NODE;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Node::Resource - RDF Node class for IRI resources
=head1 VERSION
-This document describes RDF::Trine::Node::Resource version 1.008
+This document describes RDF::Trine::Node::Resource version 1.009
=cut
@@ -29,7 +29,7 @@ use Carp qw(carp croak confess);
our ($VERSION, %sse, %ntriples);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Node::Variable - RDF Node class for variables
=head1 VERSION
-This document describes RDF::Trine::Node::Variable version 1.008
+This document describes RDF::Trine::Node::Variable version 1.009
=cut
@@ -26,7 +26,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Node - Base class for RDF Nodes
=head1 VERSION
-This document describes RDF::Trine::Node version 1.008
+This document describes RDF::Trine::Node version 1.009
=cut
@@ -19,7 +19,7 @@ no warnings 'redefine';
our ($VERSION, @ISA, @EXPORT_OK);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
require Exporter;
@ISA = qw(Exporter);
@@ -7,7 +7,7 @@ RDF::Trine::Parser::LineProtocol - RDF LineProtocol Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::LineProtocol version 1.008
+This document describes RDF::Trine::Parser::LineProtocol version 1.009
=head1 SYNOPSIS
@@ -36,7 +36,7 @@ use base qw(RDF::Trine::Parser::RDFPatch);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Parser::NQuads - N-Quads Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::NQuads version 1.008
+This document describes RDF::Trine::Parser::NQuads version 1.009
=head1 SYNOPSIS
@@ -51,7 +51,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Parser::parser_names{ 'nquads' } = __PACKAGE__;
$RDF::Trine::Parser::format_uris{ 'http://sw.deri.org/2008/07/n-quads/#n-quads' } = __PACKAGE__;
foreach my $ext (qw(nq)) {
@@ -7,7 +7,7 @@ RDF::Trine::Parser::NTriples - N-Triples Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::NTriples version 1.008
+This document describes RDF::Trine::Parser::NTriples version 1.009
=head1 SYNOPSIS
@@ -51,7 +51,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Parser::parser_names{ 'ntriples' } = __PACKAGE__;
foreach my $ext (qw(nt)) {
$RDF::Trine::Parser::file_extensions{ $ext } = __PACKAGE__;
@@ -7,7 +7,7 @@ RDF::Trine::Parser::RDFJSON - RDF/JSON RDF Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::RDFJSON version 1.008
+This document describes RDF::Trine::Parser::RDFJSON version 1.009
=head1 SYNOPSIS
@@ -51,7 +51,7 @@ use JSON;
our ($VERSION, $rdf, $xsd);
our ($r_boolean, $r_comment, $r_decimal, $r_double, $r_integer, $r_language, $r_lcharacters, $r_line, $r_nameChar_extra, $r_nameStartChar_minus_underscore, $r_scharacters, $r_ucharacters, $r_booltest, $r_nameStartChar, $r_nameChar, $r_prefixName, $r_qname, $r_resource_test, $r_nameChar_test);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Parser::parser_names{ 'rdfjson' } = __PACKAGE__;
foreach my $ext (qw(json js)) {
$RDF::Trine::Parser::file_extensions{ $ext } = __PACKAGE__;
@@ -7,7 +7,7 @@ RDF::Trine::Parser::RDFPatch - RDF-Patch Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::RDFPatch version 1.008
+This document describes RDF::Trine::Parser::RDFPatch version 1.009
=head1 SYNOPSIS
@@ -46,7 +46,7 @@ use RDF::Trine::Parser::Turtle::Constants;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Parser::RDFXML - RDF/XML Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::RDFXML version 1.008
+This document describes RDF::Trine::Parser::RDFXML version 1.009
=head1 SYNOPSIS
@@ -53,7 +53,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION, $HAS_XML_LIBXML);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Parser::parser_names{ 'rdfxml' } = __PACKAGE__;
foreach my $ext (qw(rdf xrdf rdfx)) {
$RDF::Trine::Parser::file_extensions{ $ext } = __PACKAGE__;
@@ -7,7 +7,7 @@ RDF::Trine::Parser::RDFa - RDFa Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::RDFa version 1.008
+This document describes RDF::Trine::Parser::RDFa version 1.009
=head1 SYNOPSIS
@@ -50,7 +50,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION, $HAVE_RDFA_PARSER);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
if (can_load( modules => { 'RDF::RDFa::Parser' => 0.30 })) {
$HAVE_RDFA_PARSER = 1;
$RDF::Trine::Parser::parser_names{ 'rdfa' } = __PACKAGE__;
@@ -7,7 +7,7 @@ RDF::Trine::Parser::Redland - RDF Parser using the Redland library
=head1 VERSION
-This document describes RDF::Trine::Parser::Redland version 1.008
+This document describes RDF::Trine::Parser::Redland version 1.009
=head1 SYNOPSIS
@@ -85,7 +85,7 @@ BEGIN {
],
);
- $VERSION = '1.008';
+ $VERSION = '1.009';
for my $format (keys %FORMATS) {
$RDF::Trine::Parser::parser_names{$format} = $FORMATS{$format}[0];
$RDF::Trine::Parser::format_uris{ $FORMATS{$format}[1] } = $FORMATS{$format}[0]
@@ -7,7 +7,7 @@ RDF::Trine::Parser::TriG - TriG RDF Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::TriG version 1.008
+This document describes RDF::Trine::Parser::TriG version 1.009
=head1 SYNOPSIS
@@ -41,7 +41,7 @@ use RDF::Trine qw(literal);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Parser::parser_names{ 'trig' } = __PACKAGE__;
foreach my $ext (qw(trig)) {
$RDF::Trine::Parser::file_extensions{ $ext } = __PACKAGE__;
@@ -7,7 +7,7 @@ RDF::Trine::Parser::Turtle::Constants - Constant definitions for use in parsing
=head1 VERSION
-This document describes RDF::Trine::Parser::Turtle::Constants version 1.008
+This document describes RDF::Trine::Parser::Turtle::Constants version 1.009
=head1 SYNOPSIS
@@ -28,7 +28,7 @@ use 5.010;
our $VERSION;
our @EXPORT;
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
@EXPORT = qw(
LBRACKET
RBRACKET
@@ -7,7 +7,7 @@ RDF::Trine::Parser::Turtle::Lexer - Tokenizer for parsing Turtle, TriG, and N-Tr
=head1 VERSION
-This document describes RDF::Trine::Parser::Turtle::Lexer version 1.008
+This document describes RDF::Trine::Parser::Turtle::Lexer version 1.009
=head1 SYNOPSIS
@@ -35,7 +35,7 @@ use RDF::Trine::Error;
our $VERSION;
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
my $r_nameChar_extra = qr'[-0-9\x{B7}\x{0300}-\x{036F}\x{203F}-\x{2040}]'o;
@@ -7,7 +7,7 @@ RDF::Trine::Parser::Turtle - Turtle RDF Parser
=head1 VERSION
-This document describes RDF::Trine::Parser::Turtle version 1.008
+This document describes RDF::Trine::Parser::Turtle version 1.009
=head1 SYNOPSIS
@@ -44,7 +44,7 @@ use RDF::Trine::Parser::Turtle::Token;
our $VERSION;
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
foreach my $ext (qw(ttl)) {
$RDF::Trine::Parser::file_extensions{ $ext } = __PACKAGE__;
}
@@ -7,7 +7,7 @@ RDF::Trine::Parser - RDF Parser class
=head1 VERSION
-This document describes RDF::Trine::Parser version 1.008
+This document describes RDF::Trine::Parser version 1.009
=head1 SYNOPSIS
@@ -53,7 +53,7 @@ our %format_uris;
our %encodings;
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
can_load( modules => {
'Data::UUID' => undef,
'UUID::Tiny' => undef,
@@ -7,7 +7,7 @@ RDF::Trine::Pattern - Class for basic graph patterns
=head1 VERSION
-This document describes RDF::Trine::Pattern version 1.008
+This document describes RDF::Trine::Pattern version 1.009
=cut
@@ -27,7 +27,7 @@ use RDF::Trine::Iterator qw(smap);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::NQuads - N-Quads Serializer
=head1 VERSION
-This document describes RDF::Trine::Serializer::NQuads version 1.008
+This document describes RDF::Trine::Serializer::NQuads version 1.009
=head1 SYNOPSIS
@@ -47,7 +47,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'nquads' } = __PACKAGE__;
$RDF::Trine::Serializer::format_uris{ 'http://sw.deri.org/2008/07/n-quads/#n-quads' } = __PACKAGE__;
foreach my $type (qw(text/x-nquads)) {
@@ -4,7 +4,7 @@ RDF::Trine::Serializer::NTriples::Canonical - Canonical representation of an RDF
=head1 VERSION
-This document describes RDF::Trine::Serializer::NTriples::Canonical version 1.008
+This document describes RDF::Trine::Serializer::NTriples::Canonical version 1.009
=head1 SYNOPSIS
@@ -64,7 +64,7 @@ use base qw(RDF::Trine::Serializer::NTriples);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'ntriples-canonical' } = __PACKAGE__;
# foreach my $type (qw(text/plain)) {
# $RDF::Trine::Serializer::media_types{ $type } = __PACKAGE__;
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::NTriples - N-Triples Serializer
=head1 VERSION
-This document describes RDF::Trine::Serializer::NTriples version 1.008
+This document describes RDF::Trine::Serializer::NTriples version 1.009
=head1 SYNOPSIS
@@ -47,7 +47,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'ntriples' } = __PACKAGE__;
$RDF::Trine::Serializer::format_uris{ 'http://www.w3.org/ns/formats/N-Triples' } = __PACKAGE__;
foreach my $type (qw(text/plain)) {
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::RDFJSON - RDF/JSON Serializer
=head1 VERSION
-This document describes RDF::Trine::Serializer::RDF/JSON version 1.008
+This document describes RDF::Trine::Serializer::RDF/JSON version 1.009
=head1 SYNOPSIS
@@ -48,7 +48,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'rdfjson' } = __PACKAGE__;
foreach my $type (qw(application/json application/x-rdf+json)) {
$RDF::Trine::Serializer::media_types{ $type } = __PACKAGE__;
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::RDFPatch - RDF-Patch Serializer
=head1 VERSION
-This document describes RDF::Trine::Serializer::RDFPatch version 1.008
+This document describes RDF::Trine::Serializer::RDFPatch version 1.009
=head1 SYNOPSIS
@@ -49,7 +49,7 @@ use RDF::Trine::Exporter::RDFPatch;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'rdfpatch' } = __PACKAGE__;
# $RDF::Trine::Serializer::format_uris{ 'http://www.w3.org/ns/formats/RDF-Patch' } = __PACKAGE__;
foreach my $type (qw(application/rdf-patch)) {
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::RDFXML - RDF/XML Serializer
=head1 VERSION
-This document describes RDF::Trine::Serializer::RDFXML version 1.008
+This document describes RDF::Trine::Serializer::RDFXML version 1.009
=head1 SYNOPSIS
@@ -48,7 +48,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'rdfxml' } = __PACKAGE__;
$RDF::Trine::Serializer::format_uris{ 'http://www.w3.org/ns/formats/RDF_XML' } = __PACKAGE__;
foreach my $type (qw(application/rdf+xml)) {
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::TSV - TSV Serializer
=head1 VERSION
-This document describes RDF::Trine::Store version 1.008
+This document describes RDF::Trine::Store version 1.009
=head1 SYNOPSIS
@@ -47,7 +47,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'tsv' } = __PACKAGE__;
$RDF::Trine::Serializer::format_uris{ 'http://www.w3.org/ns/formats/TSV' } = __PACKAGE__;
foreach my $type (qw(text/tsv)) {
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::TriG - TriG Serializer
=head1 VERSION
-This document describes RDF::Trine::Serializer::TriG version 1.008
+This document describes RDF::Trine::Serializer::TriG version 1.009
=head1 SYNOPSIS
@@ -48,7 +48,7 @@ use RDF::Trine::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'trig' } = __PACKAGE__;
# $RDF::Trine::Serializer::format_uris{ 'http://sw.deri.org/2008/07/n-quads/#n-quads' } = __PACKAGE__;
# foreach my $type (qw(text/x-nquads)) {
@@ -7,7 +7,7 @@ RDF::Trine::Serializer::Turtle - Turtle Serializer
=head1 VERSION
-This document describes RDF::Trine::Serializer::Turtle version 1.008
+This document describes RDF::Trine::Serializer::Turtle version 1.009
=head1 SYNOPSIS
@@ -53,7 +53,7 @@ use RDF::Trine::Namespace qw(rdf);
our ($VERSION, $debug);
BEGIN {
$debug = 0;
- $VERSION = '1.008';
+ $VERSION = '1.009';
$RDF::Trine::Serializer::serializer_names{ 'turtle' } = __PACKAGE__;
$RDF::Trine::Serializer::format_uris{ 'http://www.w3.org/ns/formats/Turtle' } = __PACKAGE__;
foreach my $type (qw(application/x-turtle application/turtle text/turtle text/rdf+n3)) {
@@ -7,7 +7,7 @@ RDF::Trine::Serializer - RDF Serializer class
=head1 VERSION
-This document describes RDF::Trine::Serializer version 1.008
+This document describes RDF::Trine::Serializer version 1.009
=head1 SYNOPSIS
@@ -34,7 +34,7 @@ our %serializer_names;
our %format_uris;
our %media_types;
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
use RDF::Trine::Serializer::NQuads;
@@ -7,7 +7,7 @@ RDF::Trine::Statement::Quad - Class for quads and quad patterns
=head1 VERSION
-This document describes RDF::Trine::Statement::Quad version 1.008
+This document describes RDF::Trine::Statement::Quad version 1.009
=cut
@@ -25,7 +25,7 @@ use Carp qw(croak);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine::Statement - Class for triples and triple patterns
=head1 VERSION
-This document describes RDF::Trine::Statement version 1.008
+This document describes RDF::Trine::Statement version 1.009
=cut
@@ -29,7 +29,7 @@ use Encode;
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -4,7 +4,7 @@ RDF::Trine::Store::DBI::Pg - PostgreSQL subclass of DBI store
=head1 VERSION
-This document describes RDF::Trine::Store::DBI::Pg version 1.008
+This document describes RDF::Trine::Store::DBI::Pg version 1.009
=head1 SYNOPSIS
@@ -25,7 +25,7 @@ use Scalar::Util qw(blessed reftype refaddr);
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
}
@@ -4,7 +4,7 @@ RDF::Trine::Store::DBI::SQLite - SQLite subclass of DBI store
=head1 VERSION
-This document describes RDF::Trine::Store::DBI::SQLite version 1.008
+This document describes RDF::Trine::Store::DBI::SQLite version 1.009
=head1 SYNOPSIS
@@ -34,7 +34,7 @@ use Scalar::Util qw(blessed reftype refaddr);
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
}
@@ -4,7 +4,7 @@ RDF::Trine::Store::DBI::mysql - Mysql subclass of DBI store
=head1 VERSION
-This document describes RDF::Trine::Store::DBI::mysql version 1.008
+This document describes RDF::Trine::Store::DBI::mysql version 1.009
=head1 SYNOPSIS
@@ -25,7 +25,7 @@ use Scalar::Util qw(blessed reftype refaddr);
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
}
@@ -4,7 +4,7 @@ RDF::Trine::Store::DBI - Persistent RDF storage based on DBI
=head1 VERSION
-This document describes RDF::Trine::Store::DBI version 1.008
+This document describes RDF::Trine::Store::DBI version 1.009
=head1 SYNOPSIS
@@ -65,7 +65,7 @@ use RDF::Trine::Store::DBI::Pg;
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
}
@@ -4,7 +4,7 @@ RDF::Trine::Store::Dydra - RDF Store proxy for a Dydra endpoint
=head1 VERSION
-This document describes RDF::Trine::Store::Dydra version 1.008
+This document describes RDF::Trine::Store::Dydra version 1.009
=head1 SYNOPSIS
@@ -38,7 +38,7 @@ use RDF::Trine::Error qw(:try);
my @pos_names;
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
@pos_names = qw(subject predicate object context);
@@ -4,7 +4,7 @@ RDF::Trine::Store::Hexastore - RDF store implemented with the hexastore index
=head1 VERSION
-This document describes RDF::Trine::Store::Hexastore version 1.008
+This document describes RDF::Trine::Store::Hexastore version 1.009
=head1 SYNOPSIS
@@ -32,6 +32,7 @@ use Scalar::Util qw(refaddr reftype blessed);
use Storable qw(nstore retrieve);
use Carp qw(croak);
use Time::HiRes qw ( time );
+use Log::Log4perl;
use constant NODES => qw(subject predicate object);
use constant NODEMAP => { subject => 0, predicate => 1, object => 2, context => 3 };
@@ -45,7 +46,7 @@ use constant OTHERNODES => {
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
}
@@ -98,25 +99,25 @@ The base URI to be used for a parsed file.
The following example initializes a Hexastore store based on a local file and a remote URL:
- my $store = RDF::Trine::Store->new_with_config(
- {storetype => 'Hexastore',
- sources => [
- {
- file => 'test-23.ttl',
- syntax => 'turtle',
- },
- {
- url => 'http://www.kjetil.kjernsmo.net/foaf',
- syntax => 'rdfxml',
- }
- ]});
+ my $store = RDF::Trine::Store->new_with_config( {
+ storetype => 'Hexastore',
+ sources => [
+ {
+ file => 'test-23.ttl',
+ syntax => 'turtle',
+ },
+ {
+ url => 'http://www.kjetil.kjernsmo.net/foaf',
+ syntax => 'rdfxml',
+ }
+ ]});
=cut
sub new {
my $class = shift;
- my $self = bless({}, $class);
+ my $self = bless({}, $class);
$self->nuke; # nuke resets the store, thus doing the same thing as init should do
return $self;
}
@@ -463,7 +464,8 @@ sub get_pattern {
}
return RDF::Trine::Iterator::Bindings->new( \@results, [ $bgp->referenced_variables ] );
} else {
-# warn 'no shared variable -- cartesian product';
+ my $l = Log::Log4perl->get_logger("rdf.trine.store.hexastore");
+ $l->info('No shared variable -- cartesian product');
# no shared variable -- cartesian product
my $i1 = $self->SUPER::_get_pattern( RDF::Trine::Pattern->new( $t1 ) );
my $i2 = $self->SUPER::_get_pattern( RDF::Trine::Pattern->new( $t2 ) );
@@ -538,14 +540,19 @@ sub add_statement {
my $self = shift;
my $st = shift;
my $added = 0;
+
+ # believe it or not, these calls add up.
+ my %stmt = map { $_ => $st->$_ } NODES;
+ my %ids = map { $_ => $self->_node2id($stmt{$_}) } NODES;
+
foreach my $first (NODES) {
- my $firstnode = $st->$first();
- my $id1 = $self->_node2id( $firstnode );
+ my $firstnode = $stmt{$first};
+ my $id1 = $ids{$first};
my @others = @{ OTHERNODES->{ $first } };
my @orders = ([@others], [reverse @others]);
foreach my $order (@orders) {
my ($second, $third) = @$order;
- my ($id2, $id3) = map { $self->_node2id( $st->$_() ) } ($second, $third);
+ my ($id2, $id3) = @ids{$second, $third};
my $list = $self->_get_terminal_list( $first => $id1, $second => $id2 );
if ($self->_add_node_to_page( $list, $id3 )) {
$added++;
@@ -569,7 +576,7 @@ sub remove_statement {
my $st = shift;
my @ids = map { $self->_node2id( $st->$_() ) } NODES;
# warn "*** removing statement @ids\n";
-
+
my $removed = 0;
foreach my $first (NODES) {
my $firstnode = $st->$first();
@@ -587,7 +594,7 @@ sub remove_statement {
# warn "\t- remaining: [" . join(', ', @$list) . "]\n";
}
}
-
+
if ($removed) {
$self->{ size }--;
$self->{etag} = time;
@@ -691,10 +698,16 @@ sub _node2id {
my $node = shift;
return unless (blessed($node));
return if ($node->isa('RDF::Trine::Node::Variable'));
- if (exists( $self->{ node2id }{ $node->as_string } )) {
- return $self->{ node2id }{ $node->as_string };
+
+ # this gets called so much it actually significantly impacts run
+ # time. call it once per invocation of _node2id instead of twice.
+ my $str = $node->as_string;
+ my $id = $self->{ node2id }{ $str };
+
+ if (defined $id) {
+ return $id;
} else {
- my $id = ($self->{ node2id }{ $node->as_string } = $self->{ next_id }++);
+ $id = ($self->{ node2id }{ $str } = $self->{ next_id }++);
$self->{ id2node }{ $id } = $node;
return $id
}
@@ -4,7 +4,7 @@ RDF::Trine::Store::Memory - Simple in-memory RDF store
=head1 VERSION
-This document describes RDF::Trine::Store::Memory version 1.008
+This document describes RDF::Trine::Store::Memory version 1.009
=head1 SYNOPSIS
@@ -39,7 +39,7 @@ use RDF::Trine::Error;
my @pos_names;
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
@pos_names = qw(subject predicate object context);
@@ -616,7 +616,7 @@ change. This token is acceptable for use as an HTTP ETag.
sub etag {
my $self = shift;
- return $self->{hash}->hexdigest;
+ return $self->{hash}->b64digest;
}
=item C<< size >>
@@ -4,7 +4,7 @@ RDF::Trine::Store::Redis - RDF Store for Redis
=head1 VERSION
-This document describes RDF::Trine::Store::Redis version 1.008
+This document describes RDF::Trine::Store::Redis version 1.009
=head1 SYNOPSIS
@@ -44,7 +44,7 @@ our $CACHING = 1;
my @pos_names;
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
@pos_names = qw(subject predicate object context);
@@ -4,7 +4,7 @@ RDF::Trine::Store::Redland - Redland-backed RDF store for RDF::Trine
=head1 VERSION
-This document describes RDF::Trine::Store::Redland version 1.008
+This document describes RDF::Trine::Store::Redland version 1.009
=head1 SYNOPSIS
@@ -37,10 +37,26 @@ use RDF::Trine::Error;
our $NIL_TAG;
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
$NIL_TAG = 'tag:gwilliams@cpan.org,2010-01-01:RT:NIL';
+
+ # XXX THE FOLLOWING IS TO KEEP DATA::DUMPER FROM CRAPPING OUT
+
+ # insert these guys until we can get a fix into redland
+ my $fk = sub { 'DUMMY' };
+ my $nk = sub { undef };
+ my $f = sub { 'REDLAND PLEASE FIX YOUR API' };
+
+ *_p_librdf_storage_s::FIRSTKEY = $fk;
+ *_p_librdf_storage_s::NEXTKEY = $nk;
+ *_p_librdf_storage_s::FETCH = $f;
+ *_p_librdf_model_s::FIRSTKEY = $fk;
+ *_p_librdf_model_s::NEXTKEY = $nk;
+ *_p_librdf_model_s::FETCH = $f;
+
+ # too bad these aren't implemented, since they could be useful
}
######################################################################
@@ -95,6 +111,7 @@ sub new {
my $model = shift;
my $self = bless({
model => $model,
+ bulk => 0,
}, $class);
return $self;
}
@@ -110,13 +127,15 @@ sub _new_with_string {
sub _new_with_config {
my $class = shift;
- my $config = shift;
- my $store = RDF::Redland::Storage->new(
- $config->{store_name},
- $config->{name},
- $config->{options}
- );
- my $model = RDF::Redland::Model->new( $store, '' );
+ my $config = shift || { store_name => 'memory' };
+
+ my $store = RDF::Redland::Storage->new
+ (@{$config}{qw(store_name name options)})
+ or throw RDF::Trine::Error::DatabaseError
+ -text => "Couldn't initialize Redland storage";
+ my $model = RDF::Redland::Model->new( $store, '' )
+ or throw RDF::Trine::Error::DatabaseError
+ -text => "Couldn't initialize Redland model";
return $class->new( $model );
}
@@ -263,7 +282,7 @@ sub add_statement {
my $self = shift;
my $st = shift;
my $context = shift;
-
+
my $nil = RDF::Trine::Node::Nil->new();
if ($st->isa( 'RDF::Trine::Statement::Quad' )) {
if (blessed($context)) {
@@ -277,12 +296,18 @@ sub add_statement {
$st = RDF::Trine::Statement::Quad->new( @nodes[0..2], $nil );
}
}
-
+
my $model = $self->_model;
my @nodes = $st->nodes;
my @rnodes = map { _cast_to_redland($_) } @nodes;
my $rst = RDF::Redland::Statement->new( @rnodes[0..2] );
- $model->add_statement( $rst, $rnodes[3] );
+ my $ret = $model->add_statement( $rst, $rnodes[3] );
+
+ # redland needs to be synced
+ $model->sync unless $self->{bulk};
+
+ # for any code that was expecting this
+ $ret;
}
=item C<< remove_statement ( $statement [, $context]) >>
@@ -312,7 +337,14 @@ sub remove_statement {
my @nodes = $st->nodes;
my @rnodes = map { _cast_to_redland($_) } @nodes;
- $self->_model->remove_statement( @rnodes );
+ my $model = $self->_model;
+ my $ret = $model->remove_statement( @rnodes );
+
+ # redland needs to be synced
+ $model->sync unless $self->{bulk};
+
+ # for any code that was expecting this
+ $ret;
}
=item C<< remove_statements ( $subject, $predicate, $object [, $context]) >>
@@ -323,14 +355,24 @@ Removes the specified C<$statement> from the underlying model.
sub remove_statements {
my $self = shift;
- my $subj = shift;
- my $pred = shift;
- my $obj = shift;
- my $context = shift;
- my $iter = $self->get_statements( $subj, $pred, $obj, $context );
+ my $iter = $self->get_statements(@_);
+
+ # temporarily store the value for bulk so we don't sync over and over
+ my $bulk = $self->{bulk};
+ $self->{bulk} = 1;
+
+ my $count = 0;
while (my $st = $iter->next) {
$self->remove_statement( $st );
+ $count++;
}
+
+ # now put it back
+ $self->{bulk} = $bulk;
+ $self->_model->sync unless $bulk;
+
+ # might as well return how many statements got deleted
+ $count;
}
=item C<< count_statements ( $subject, $predicate, $object, $context ) >>
@@ -345,9 +387,13 @@ sub count_statements {
my $self = shift;
my @nodes = @_;
if (scalar(@nodes) < 4) {
+ # if it isn't 4, then make damn sure it's 3
+ push @nodes, (undef) x (3 - @nodes);
+
# warn "restricting count_statements to triple semantics";
my @rnodes = map { _cast_to_redland($_) } @nodes[0..2];
- my $st = RDF::Redland::Statement->new( @rnodes );
+ # force a 3-element list or you'll be sorry
+ my $st = RDF::Redland::Statement->new( @rnodes[0..2] );
my $iter = $self->_model->find_statements( $st );
my $count = 0;
my %seen;
@@ -395,6 +441,16 @@ sub supports {
return;
}
+sub _begin_bulk_ops {
+ shift->{bulk} = 1;
+}
+
+sub _end_bulk_ops {
+ my $self = shift;
+ $self->{bulk} = 0;
+ $self->_model->sync;
+}
+
sub _model {
my $self = shift;
return $self->{model};
@@ -447,6 +503,7 @@ sub _cast_to_local {
}
}
+
1;
__END__
@@ -4,7 +4,7 @@ RDF::Trine::Store::SPARQL - RDF Store proxy for a SPARQL endpoint
=head1 VERSION
-This document describes RDF::Trine::Store::SPARQL version 1.008
+This document describes RDF::Trine::Store::SPARQL version 1.009
=head1 SYNOPSIS
@@ -37,7 +37,7 @@ use RDF::Trine::Error qw(:try);
my @pos_names;
our $VERSION;
BEGIN {
- $VERSION = "1.008";
+ $VERSION = "1.009";
my $class = __PACKAGE__;
$RDF::Trine::Store::STORE_CLASSES{ $class } = $VERSION;
@pos_names = qw(subject predicate object context);
@@ -7,7 +7,7 @@ RDF::Trine::Store - RDF triplestore base class
=head1 VERSION
-This document describes RDF::Trine::Store version 1.008
+This document describes RDF::Trine::Store version 1.009
=head1 DESCRIPTION
@@ -83,7 +83,7 @@ use RDF::Trine::Store::SPARQL;
our ($VERSION, $HAVE_REDLAND, %STORE_CLASSES);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
if ($RDF::Redland::VERSION) {
$HAVE_REDLAND = 1;
}
@@ -7,7 +7,7 @@ RDF::Trine::VariableBindings - Variable bindings
=head1 VERSION
-This document describes RDF::Trine::VariableBindings version 1.008
+This document describes RDF::Trine::VariableBindings version 1.009
=head1 SYNOPSIS
@@ -53,7 +53,7 @@ use Scalar::Util qw(blessed refaddr);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
######################################################################
@@ -7,7 +7,7 @@ RDF::Trine - An RDF Framework for Perl
=head1 VERSION
-This document describes RDF::Trine version 1.008
+This document describes RDF::Trine version 1.009
=head1 SYNOPSIS
@@ -89,7 +89,7 @@ use LWP::UserAgent;
our ($debug, @ISA, $VERSION, @EXPORT_OK);
BEGIN {
$debug = 0;
- $VERSION = '1.008';
+ $VERSION = '1.009';
require Exporter;
@ISA = qw(Exporter);
@@ -4,7 +4,7 @@ Test::RDF::Trine::Store - A collection of functions to test RDF::Trine::Stores
=head1 VERSION
-This document describes RDF::Trine version 1.008
+This document describes RDF::Trine version 1.009
=head1 SYNOPSIS
@@ -58,7 +58,7 @@ use RDF::Trine::Namespace qw(xsd);
our ($VERSION);
BEGIN {
- $VERSION = '1.008';
+ $VERSION = '1.009';
}
use Log::Log4perl;
@@ -1,4 +1,4 @@
-use Test::More tests => 10;
+use Test::More;
use Test::JSON;
use strict;
@@ -7,7 +7,7 @@ no warnings 'redefine';
use URI::file;
-use RDF::Trine;
+use RDF::Trine qw(statement iri literal variable);
use RDF::Trine::Node;
use_ok( 'RDF::Trine::Iterator::Bindings' );
@@ -52,3 +52,40 @@ use_ok( 'RDF::Trine::Iterator::Bindings' );
my $expect = '{"head":{"vars":["a", "b", "c"]},"results":{"bindings":[],"distinct":false,"ordered":false}}';
is_json( $iter->as_json, $expect, 'as_json empty bindings iterator with names' );
}
+
+{
+ my $t1 = statement(variable('subj'), iri('pred1'), literal('foo'));
+ my $t2 = statement(variable('subj'), iri('pred2'), variable('obj'));
+ my $pattern = RDF::Trine::Pattern->new($t1, $t2);
+ my @bindings = (
+ { 'subj' => iri('http://example.org/x1') },
+ { 'subj' => iri('http://example.org/x2'), 'obj' => literal('bar') },
+ );
+ my $iter = RDF::Trine::Iterator::Bindings->new( sub { return shift(@bindings) } );
+ my $sts = $iter->as_statements($pattern);
+ my @triples = $sts->get_all;
+ is(scalar(@triples), 3, 'expected triple count from as_statements with pattern');
+
+ ok(
+ $triples[0]->subsumes(
+ statement(iri('http://example.org/x1'), iri('pred1'), literal('foo'))
+ ),
+ 'expected triple 1/3'
+ );
+
+ ok(
+ $triples[1]->subsumes(
+ statement(iri('http://example.org/x2'), iri('pred1'), literal('foo'))
+ ),
+ 'expected triple 2/3'
+ );
+
+ ok(
+ $triples[2]->subsumes(
+ statement(iri('http://example.org/x2'), iri('pred2'), literal('bar'))
+ ),
+ 'expected triple 3/3'
+ );
+}
+
+done_testing();