Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'rdf-query-2.908'

  • Loading branch information...
commit 43275bbbec545ab591c9ed2051925b33b8949a16 2 parents bccece4 + 174689d
@kasei authored
Showing with 1,383 additions and 285 deletions.
  1. +51 −0 RDF-Query/Changes.ttl
  2. +97 −90 RDF-Query/MANIFEST
  3. +4 −0 RDF-Query/MANIFEST.SKIP
  4. +1 −1  RDF-Query/Makefile.PL
  5. +46 −0 RDF-Query/README
  6. +54 −0 RDF-Query/README.html
  7. +2 −2 RDF-Query/lib/RDF/Query.pm
  8. +4 −2 RDF-Query/lib/RDF/Query/Algebra.pm
  9. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Aggregate.pm
  10. +2 −2 RDF-Query/lib/RDF/Query/Algebra/BasicGraphPattern.pm
  11. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Clear.pm
  12. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Construct.pm
  13. +181 −0 RDF-Query/lib/RDF/Query/Algebra/Copy.pm
  14. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Create.pm
  15. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Distinct.pm
  16. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Extend.pm
  17. +7 −3 RDF-Query/lib/RDF/Query/Algebra/Filter.pm
  18. +2 −2 RDF-Query/lib/RDF/Query/Algebra/GroupGraphPattern.pm
  19. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Limit.pm
  20. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Load.pm
  21. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Minus.pm
  22. +181 −0 RDF-Query/lib/RDF/Query/Algebra/Move.pm
  23. +2 −2 RDF-Query/lib/RDF/Query/Algebra/NamedGraph.pm
  24. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Offset.pm
  25. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Optional.pm
  26. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Path.pm
  27. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Project.pm
  28. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Quad.pm
  29. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Sequence.pm
  30. +17 −7 RDF-Query/lib/RDF/Query/Algebra/Service.pm
  31. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Sort.pm
  32. +2 −2 RDF-Query/lib/RDF/Query/Algebra/SubSelect.pm
  33. +2 −2 RDF-Query/lib/RDF/Query/Algebra/TimeGraph.pm
  34. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Triple.pm
  35. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Union.pm
  36. +2 −2 RDF-Query/lib/RDF/Query/Algebra/Update.pm
  37. +2 −2 RDF-Query/lib/RDF/Query/BGPOptimizer.pm
  38. +2 −2 RDF-Query/lib/RDF/Query/Compiler/SQL.pm
  39. +2 −2 RDF-Query/lib/RDF/Query/Error.pm
  40. +2 −2 RDF-Query/lib/RDF/Query/ExecutionContext.pm
  41. +2 −2 RDF-Query/lib/RDF/Query/Expression.pm
  42. +2 −2 RDF-Query/lib/RDF/Query/Expression/Alias.pm
  43. +2 −2 RDF-Query/lib/RDF/Query/Expression/Binary.pm
  44. +2 −2 RDF-Query/lib/RDF/Query/Expression/Function.pm
  45. +2 −2 RDF-Query/lib/RDF/Query/Expression/Nary.pm
  46. +2 −2 RDF-Query/lib/RDF/Query/Expression/Unary.pm
  47. +2 −2 RDF-Query/lib/RDF/Query/Federate.pm
  48. +2 −2 RDF-Query/lib/RDF/Query/Federate/Plan.pm
  49. +2 −2 RDF-Query/lib/RDF/Query/Functions.pm
  50. +2 −2 RDF-Query/lib/RDF/Query/Functions/Geo.pm
  51. +2 −2 RDF-Query/lib/RDF/Query/Functions/Jena.pm
  52. +2 −2 RDF-Query/lib/RDF/Query/Functions/Kasei.pm
  53. +4 −4 RDF-Query/lib/RDF/Query/Functions/SPARQL.pm
  54. +2 −2 RDF-Query/lib/RDF/Query/Functions/Xpath.pm
  55. +2 −2 RDF-Query/lib/RDF/Query/Node.pm
  56. +2 −2 RDF-Query/lib/RDF/Query/Node/Blank.pm
  57. +2 −2 RDF-Query/lib/RDF/Query/Node/Literal.pm
  58. +2 −2 RDF-Query/lib/RDF/Query/Node/Resource.pm
  59. +2 −2 RDF-Query/lib/RDF/Query/Node/Variable.pm
  60. +2 −2 RDF-Query/lib/RDF/Query/Parser.pm
  61. +2 −2 RDF-Query/lib/RDF/Query/Parser/RDQL.pm
  62. +2 −2 RDF-Query/lib/RDF/Query/Parser/SPARQL.pm
  63. +36 −5 RDF-Query/lib/RDF/Query/Parser/SPARQL11.pm
  64. +11 −2 RDF-Query/lib/RDF/Query/Plan.pm
  65. +2 −2 RDF-Query/lib/RDF/Query/Plan/Aggregate.pm
  66. +2 −2 RDF-Query/lib/RDF/Query/Plan/BasicGraphPattern.pm
  67. +2 −2 RDF-Query/lib/RDF/Query/Plan/Clear.pm
  68. +2 −2 RDF-Query/lib/RDF/Query/Plan/ComputedStatement.pm
  69. +2 −2 RDF-Query/lib/RDF/Query/Plan/Constant.pm
  70. +2 −2 RDF-Query/lib/RDF/Query/Plan/Construct.pm
  71. +254 −0 RDF-Query/lib/RDF/Query/Plan/Copy.pm
  72. +2 −2 RDF-Query/lib/RDF/Query/Plan/Distinct.pm
  73. +2 −2 RDF-Query/lib/RDF/Query/Plan/Extend.pm
  74. +2 −2 RDF-Query/lib/RDF/Query/Plan/Filter.pm
  75. +2 −2 RDF-Query/lib/RDF/Query/Plan/Iterator.pm
  76. +2 −2 RDF-Query/lib/RDF/Query/Plan/Join.pm
  77. +2 −2 RDF-Query/lib/RDF/Query/Plan/Join/NestedLoop.pm
  78. +2 −2 RDF-Query/lib/RDF/Query/Plan/Join/PushDownNestedLoop.pm
  79. +2 −2 RDF-Query/lib/RDF/Query/Plan/Limit.pm
  80. +2 −2 RDF-Query/lib/RDF/Query/Plan/Load.pm
  81. +2 −2 RDF-Query/lib/RDF/Query/Plan/Minus.pm
  82. +255 −0 RDF-Query/lib/RDF/Query/Plan/Move.pm
  83. +2 −2 RDF-Query/lib/RDF/Query/Plan/NamedGraph.pm
  84. +2 −2 RDF-Query/lib/RDF/Query/Plan/Offset.pm
  85. +2 −2 RDF-Query/lib/RDF/Query/Plan/Path.pm
  86. +2 −2 RDF-Query/lib/RDF/Query/Plan/Project.pm
  87. +2 −2 RDF-Query/lib/RDF/Query/Plan/Quad.pm
  88. +2 −2 RDF-Query/lib/RDF/Query/Plan/Sequence.pm
  89. +2 −2 RDF-Query/lib/RDF/Query/Plan/Service.pm
  90. +2 −2 RDF-Query/lib/RDF/Query/Plan/Sort.pm
  91. +2 −2 RDF-Query/lib/RDF/Query/Plan/SubSelect.pm
  92. +2 −2 RDF-Query/lib/RDF/Query/Plan/ThresholdUnion.pm
  93. +2 −2 RDF-Query/lib/RDF/Query/Plan/Triple.pm
  94. +2 −2 RDF-Query/lib/RDF/Query/Plan/Union.pm
  95. +2 −2 RDF-Query/lib/RDF/Query/Plan/Update.pm
  96. +2 −2 RDF-Query/lib/RDF/Query/ServiceDescription.pm
  97. +2 −2 RDF-Query/lib/RDF/Query/Temporal.pm
  98. +2 −2 RDF-Query/lib/RDF/Query/Util.pm
  99. +2 −2 RDF-Query/lib/RDF/Query/VariableBindings.pm
  100. +3 −3 RDF-Query/t/dataset-from-file.t
  101. +1 −1  RDF-Query/xt/dawg-eval10.t
  102. +10 −1 RDF-Query/xt/dawg-eval11.t
View
51 RDF-Query/Changes.ttl
@@ -9,6 +9,57 @@
dc:description "Changes for RDF::Query" ;
dcterms:references <http://kasei.us/code/rdf-query/#project> .
+<http://kasei.us/code/files/RDF-Query-2.908.tar.gz>
+ dcterms:isVersionOf <http://kasei.us/code/rdf-query/#project> ;
+ dcterms:replaces <http://kasei.us/code/files/RDF-Query-2.907.tar.gz> ;
+
+ doap:Version [
+ doap:revision "2.908" ;
+ doap:created "2012-01-31" ;
+ ];
+ asc:changes [
+ asc:addition "Added support for Service as a binary op (allowing variable-endpoint SERVICE blocks)." ;
+ asc:addition "Added implementations for functions STRBEFORE, STRAFTER, and REPLACE." ;
+ asc:addition "Added RDF::Query->prepare_with_named_graphs method." ;
+ asc:addition "Added support for COPY and MOVE operations." ;
+ asc:addition "Allow percent encoding and backslash escaping in prefix names." ;
+ asc:update "Fixed SPARQL serialization of expressions using && and ||." ;
+ asc:update "Fixed SPARQL 1.1 parser to support "GRAPH<iri>" without whitespace." ;
+ asc:update "Fixed bug resulting in false positive error when projecting expressions with aggregates." ;
+ asc:update "Fixed aggregate evaluation to result in unbound variables on error (instead of dropping the result)." ;
+ asc:update "Fixed numeric divide operation to return xsd:decimal when operands are xsd:integers." ;
+ asc:update "Fixed RDF::Query::Expression::Binary->evaluate to properly throw on div-by-zero." ;
+ asc:update "Fixed RDF::Query::Expression::Function->evaluate to propogate type errors in IF()." ;
+ asc:update "Fixed bin/rqsh to handle queries that use BASE." ;
+ asc:update "Fixed bug in RDF::Query::Plan::Join::PushDownNestedLoop that produced invalid results when the RHS was a subselect." ;
+ asc:update "Fixed RDF::Query::Algebra::Filter->as_sparql to handle variation of serialization of the child pattern." ;
+ asc:update "Fixed bug in SPARQL 1.1 parser that mistakenly introduced aggregate operations in non-aggregate queries." ;
+ asc:update "Fixed RDF::Query::Expression::Binary to canonicalize numeric literal results." ;
+ asc:update "Added syntax support for SILENT form of LOAD." ;
+ asc:update "Added support for SILENT and variable endpoint handling for SERVICE patterns." ;
+ asc:update "Added syntax support for optional GRAPH keyword on SPARQL 1.1 update shortcuts." ;
+ asc:update "Updated RDF::Query::Plan::Extend to copy variable bindings instead of using the existing reference." ;
+ asc:update "Added RDF::Query::Plan::Extend->explain." ;
+ asc:update "Changed explain() syntax of plan quads." ;
+ asc:update "Updated plan classes to optionally register intermediate results with a execution delegate object." ;
+ asc:update "Made RDF::Query::Plan::Construct uniq the returned triples." ;
+ asc:update "Added custom RDF::Query::Plan::Construct->explain method." ;
+ asc:update "Normalize language tags used in SPARQL query syntax to lowercase." ;
+ asc:update "Modularize RDF::Query::Plan::Service to allow mock testing." ;
+ asc:update "Added exception handling in RDF::Query->set_error." ;
+ asc:update "Added subplans_of_type method to Plan classes." ;
+ asc:update "Fixed use of '__DEFAULT__' sentinel value in RDF::Query::Plan, RDF::Query::Plan::Service, RDF::Query::Node::Resource->as_sparql, and RDF::Query->as_sparql." ;
+ asc:update "Force the planner to avoid using a bind-join when the RHS contains a Service subplan (to avoid a DOS attack on the remote endpoint)." ;
+ asc:update "Updated DATATYPE() to return rdf:langString on language-tagged literals (per RDF 1.1 change)." ;
+ asc:update "Fixed sse serialization in RDF::Query::Algebra::Service to handle binary op (variable endpoint) form." ;
+ asc:update "Croak rather than die in some places, confess and use logdie in one place" ;
+ asc:update "Allow aggregates in ORDER BY clause." ;
+ asc:update "Added examples/query_url.pl." ;
+ asc:update "Added RDF::Trine::Error::UnimplementedError exception class." ;
+ asc:update "Updated required version of RDF::Trine to 0.138." ;
+ ] .
+
+
<http://kasei.us/code/files/RDF-Query-2.907.tar.gz>
dcterms:isVersionOf <http://kasei.us/code/rdf-query/#project> ;
dcterms:replaces <http://kasei.us/code/files/RDF-Query-2.906.tar.gz> ;
View
187 RDF-Query/MANIFEST
@@ -46,6 +46,7 @@ examples/queries/sparql-bgp-people.rq
examples/queries/sparql-ggp-person-opt-knows.rq
examples/queries/sparqlp-service-people-names.rq
examples/query.pl
+examples/query_url.pl
examples/service_descriptions/dbpedia_org.ttl
examples/service_descriptions/kasei_us.ttl
inc/Module/Install.pm
@@ -58,95 +59,99 @@ inc/Module/Install/Metadata.pm
inc/Module/Install/Scripts.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm
-lib/RDF/Query/VariableBindings.pm
-lib/RDF/Query/Util.pm
-lib/RDF/Query/Temporal.pm
-lib/RDF/Query/ServiceDescription.pm
-lib/RDF/Query/Plan/Update.pm
-lib/RDF/Query/Plan/Union.pm
-lib/RDF/Query/Plan/Triple.pm
-lib/RDF/Query/Plan/ThresholdUnion.pm
-lib/RDF/Query/Plan/SubSelect.pm
-lib/RDF/Query/Plan/Sort.pm
-lib/RDF/Query/Plan/Service.pm
-lib/RDF/Query/Plan/Sequence.pm
-lib/RDF/Query/Plan/Quad.pm
-lib/RDF/Query/Plan/Project.pm
-lib/RDF/Query/Plan/Path.pm
-lib/RDF/Query/Plan/Offset.pm
-lib/RDF/Query/Plan/NamedGraph.pm
-lib/RDF/Query/Plan/Minus.pm
-lib/RDF/Query/Plan/Load.pm
-lib/RDF/Query/Plan/Limit.pm
-lib/RDF/Query/Plan/Join/PushDownNestedLoop.pm
-lib/RDF/Query/Plan/Join/NestedLoop.pm
-lib/RDF/Query/Plan/Join.pm
-lib/RDF/Query/Plan/Iterator.pm
-lib/RDF/Query/Plan/Filter.pm
-lib/RDF/Query/Plan/Extend.pm
-lib/RDF/Query/Plan/Distinct.pm
-lib/RDF/Query/Plan/Construct.pm
-lib/RDF/Query/Plan/Constant.pm
-lib/RDF/Query/Plan/ComputedStatement.pm
-lib/RDF/Query/Plan/Clear.pm
-lib/RDF/Query/Plan/BasicGraphPattern.pm
-lib/RDF/Query/Plan/Aggregate.pm
-lib/RDF/Query/Plan.pm
-lib/RDF/Query/Parser/SPARQL11.pm
-lib/RDF/Query/Parser/SPARQL.pm
-lib/RDF/Query/Parser/RDQL.pm
-lib/RDF/Query/Parser.pm
-lib/RDF/Query/Node/Variable.pm
-lib/RDF/Query/Node/Resource.pm
-lib/RDF/Query/Node/Literal.pm
-lib/RDF/Query/Node/Blank.pm
-lib/RDF/Query/Node.pm
-lib/RDF/Query/Functions/Xpath.pm
-lib/RDF/Query/Functions/SPARQL.pm
-lib/RDF/Query/Functions/Kasei.pm
-lib/RDF/Query/Functions/Jena.pm
-lib/RDF/Query/Functions/Geo.pm
-lib/RDF/Query/Functions.pm
-lib/RDF/Query/Federate/Plan.pm
-lib/RDF/Query/Federate.pm
-lib/RDF/Query/Expression/Unary.pm
-lib/RDF/Query/Expression/Nary.pm
-lib/RDF/Query/Expression/Function.pm
-lib/RDF/Query/Expression/Binary.pm
-lib/RDF/Query/Expression/Alias.pm
-lib/RDF/Query/Expression.pm
-lib/RDF/Query/ExecutionContext.pm
-lib/RDF/Query/Error.pm
-lib/RDF/Query/Compiler/SQL.pm
-lib/RDF/Query/BGPOptimizer.pm
-lib/RDF/Query/Algebra/Update.pm
-lib/RDF/Query/Algebra/Union.pm
-lib/RDF/Query/Algebra/Triple.pm
-lib/RDF/Query/Algebra/TimeGraph.pm
-lib/RDF/Query/Algebra/SubSelect.pm
-lib/RDF/Query/Algebra/Sort.pm
-lib/RDF/Query/Algebra/Service.pm
-lib/RDF/Query/Algebra/Sequence.pm
-lib/RDF/Query/Algebra/Quad.pm
-lib/RDF/Query/Algebra/Project.pm
-lib/RDF/Query/Algebra/Path.pm
-lib/RDF/Query/Algebra/Optional.pm
-lib/RDF/Query/Algebra/Offset.pm
-lib/RDF/Query/Algebra/NamedGraph.pm
-lib/RDF/Query/Algebra/Minus.pm
-lib/RDF/Query/Algebra/Load.pm
-lib/RDF/Query/Algebra/Limit.pm
-lib/RDF/Query/Algebra/GroupGraphPattern.pm
-lib/RDF/Query/Algebra/Filter.pm
-lib/RDF/Query/Algebra/Extend.pm
-lib/RDF/Query/Algebra/Distinct.pm
-lib/RDF/Query/Algebra/Create.pm
-lib/RDF/Query/Algebra/Construct.pm
-lib/RDF/Query/Algebra/Clear.pm
-lib/RDF/Query/Algebra/BasicGraphPattern.pm
-lib/RDF/Query/Algebra/Aggregate.pm
-lib/RDF/Query/Algebra.pm
lib/RDF/Query.pm
+lib/RDF/Query/Algebra.pm
+lib/RDF/Query/Algebra/Aggregate.pm
+lib/RDF/Query/Algebra/BasicGraphPattern.pm
+lib/RDF/Query/Algebra/Clear.pm
+lib/RDF/Query/Algebra/Construct.pm
+lib/RDF/Query/Algebra/Copy.pm
+lib/RDF/Query/Algebra/Create.pm
+lib/RDF/Query/Algebra/Distinct.pm
+lib/RDF/Query/Algebra/Extend.pm
+lib/RDF/Query/Algebra/Filter.pm
+lib/RDF/Query/Algebra/GroupGraphPattern.pm
+lib/RDF/Query/Algebra/Limit.pm
+lib/RDF/Query/Algebra/Load.pm
+lib/RDF/Query/Algebra/Minus.pm
+lib/RDF/Query/Algebra/Move.pm
+lib/RDF/Query/Algebra/NamedGraph.pm
+lib/RDF/Query/Algebra/Offset.pm
+lib/RDF/Query/Algebra/Optional.pm
+lib/RDF/Query/Algebra/Path.pm
+lib/RDF/Query/Algebra/Project.pm
+lib/RDF/Query/Algebra/Quad.pm
+lib/RDF/Query/Algebra/Sequence.pm
+lib/RDF/Query/Algebra/Service.pm
+lib/RDF/Query/Algebra/Sort.pm
+lib/RDF/Query/Algebra/SubSelect.pm
+lib/RDF/Query/Algebra/TimeGraph.pm
+lib/RDF/Query/Algebra/Triple.pm
+lib/RDF/Query/Algebra/Union.pm
+lib/RDF/Query/Algebra/Update.pm
+lib/RDF/Query/BGPOptimizer.pm
+lib/RDF/Query/Compiler/SQL.pm
+lib/RDF/Query/Error.pm
+lib/RDF/Query/ExecutionContext.pm
+lib/RDF/Query/Expression.pm
+lib/RDF/Query/Expression/Alias.pm
+lib/RDF/Query/Expression/Binary.pm
+lib/RDF/Query/Expression/Function.pm
+lib/RDF/Query/Expression/Nary.pm
+lib/RDF/Query/Expression/Unary.pm
+lib/RDF/Query/Federate.pm
+lib/RDF/Query/Federate/Plan.pm
+lib/RDF/Query/Functions.pm
+lib/RDF/Query/Functions/Geo.pm
+lib/RDF/Query/Functions/Jena.pm
+lib/RDF/Query/Functions/Kasei.pm
+lib/RDF/Query/Functions/SPARQL.pm
+lib/RDF/Query/Functions/Xpath.pm
+lib/RDF/Query/Node.pm
+lib/RDF/Query/Node/Blank.pm
+lib/RDF/Query/Node/Literal.pm
+lib/RDF/Query/Node/Resource.pm
+lib/RDF/Query/Node/Variable.pm
+lib/RDF/Query/Parser.pm
+lib/RDF/Query/Parser/RDQL.pm
+lib/RDF/Query/Parser/SPARQL.pm
+lib/RDF/Query/Parser/SPARQL11.pm
+lib/RDF/Query/Plan.pm
+lib/RDF/Query/Plan/Aggregate.pm
+lib/RDF/Query/Plan/BasicGraphPattern.pm
+lib/RDF/Query/Plan/Clear.pm
+lib/RDF/Query/Plan/ComputedStatement.pm
+lib/RDF/Query/Plan/Constant.pm
+lib/RDF/Query/Plan/Construct.pm
+lib/RDF/Query/Plan/Copy.pm
+lib/RDF/Query/Plan/Distinct.pm
+lib/RDF/Query/Plan/Extend.pm
+lib/RDF/Query/Plan/Filter.pm
+lib/RDF/Query/Plan/Iterator.pm
+lib/RDF/Query/Plan/Join.pm
+lib/RDF/Query/Plan/Join/NestedLoop.pm
+lib/RDF/Query/Plan/Join/PushDownNestedLoop.pm
+lib/RDF/Query/Plan/Limit.pm
+lib/RDF/Query/Plan/Load.pm
+lib/RDF/Query/Plan/Minus.pm
+lib/RDF/Query/Plan/Move.pm
+lib/RDF/Query/Plan/NamedGraph.pm
+lib/RDF/Query/Plan/Offset.pm
+lib/RDF/Query/Plan/Path.pm
+lib/RDF/Query/Plan/Project.pm
+lib/RDF/Query/Plan/Quad.pm
+lib/RDF/Query/Plan/Sequence.pm
+lib/RDF/Query/Plan/Service.pm
+lib/RDF/Query/Plan/Sort.pm
+lib/RDF/Query/Plan/SubSelect.pm
+lib/RDF/Query/Plan/ThresholdUnion.pm
+lib/RDF/Query/Plan/Triple.pm
+lib/RDF/Query/Plan/Union.pm
+lib/RDF/Query/Plan/Update.pm
+lib/RDF/Query/ServiceDescription.pm
+lib/RDF/Query/Temporal.pm
+lib/RDF/Query/Util.pm
+lib/RDF/Query/VariableBindings.pm
Makefile.PL
MANIFEST This list of files
META.yml
@@ -176,8 +181,6 @@ t/models.pl
t/named-graphs.t
t/optional.t
t/plan.t
-t/pod_coverage.t
-t/pod.t
t/protocol-serialization.t
t/queryform-ask.t
t/queryform-construct.t
@@ -196,6 +199,7 @@ t/sparql11-update.t
t/streams.t.deprecated
t/syntactic_forms.t
t/union.t
+xt/dawg-eval10.t
xt/dawg-eval11.t
xt/dawg-syntax11.t
xt/dev-service-description.t
@@ -207,3 +211,6 @@ xt/federate.t
xt/parser-rdql.t
xt/parser-sparql.t
xt/parser-sparql11.t
+xt/pod.t
+xt/pod_coverage.t
+xt/sparql11-federation.t
View
4 RDF-Query/MANIFEST.SKIP
@@ -18,3 +18,7 @@ lib/RDF/Query/Model/SQL/Statement.pm
t/24-optimizer-multiget.t.disabled
t/disabled/
inc/Module/Install/AuthorTests.pm
+earl-eval-11.ttl
+earl-eval.ttl
+earl-syntax-11.ttl
+earl-syntax.ttl
View
2  RDF-Query/Makefile.PL
@@ -30,7 +30,7 @@ requires 'File::Spec' => 0;
requires 'File::Temp' => 0;
requires 'JSON' => 2;
requires 'Parse::RecDescent' => 0;
-requires 'RDF::Trine' => 0.135;
+requires 'RDF::Trine' => 0.138;
requires 'Scalar::Util' => 0;
requires 'Set::Scalar' => 0;
requires 'URI' => 1.52;
View
46 RDF-Query/README
@@ -36,6 +36,52 @@ INSTALLATION
VERSION HISTORY
+ Version 2.908 (2012-01-31)
+
+ * BUG FIXES
+ Fixed SPARQL serialization of expressions using && and ||.
+ Fixed SPARQL 1.1 parser to support "GRAPH<iri>" without whitespace.
+ Fixed bug resulting in false positive error when projecting expressions with aggregates.
+ Fixed aggregate evaluation to result in unbound variables on error (instead of dropping the result).
+ Fixed numeric divide operation to return xsd:decimal when operands are xsd:integers.
+ Fixed RDF::Query::Expression::Binary->evaluate to properly throw on div-by-zero.
+ Fixed RDF::Query::Expression::Function->evaluate to propogate type errors in IF().
+ Fixed bin/rqsh to handle queries that use BASE.
+ Fixed bug in RDF::Query::Plan::Join::PushDownNestedLoop that produced invalid results when the RHS was a subselect.
+ Fixed RDF::Query::Algebra::Filter->as_sparql to handle variation of serialization of the child pattern.
+ Fixed bug in SPARQL 1.1 parser that mistakenly introduced aggregate operations in non-aggregate queries.
+ * NEW FEATURES
+ Added support for Service as a binary op (allowing variable-endpoint SERVICE blocks).
+ Added implementations for functions STRBEFORE, STRAFTER, and REPLACE.
+ Added RDF::Query->prepare_with_named_graphs method.
+ Added support for COPY and MOVE operations.
+ Allow percent encoding and backslash escaping in prefix names.
+ * ENHANCEMENTS
+ Fixed RDF::Query::Expression::Binary to canonicalize numeric literal results.
+ Added syntax support for SILENT form of LOAD.
+ Added support for SILENT and variable endpoint handling for SERVICE patterns.
+ Added syntax support for optional GRAPH keyword on SPARQL 1.1 update shortcuts.
+ Updated RDF::Query::Plan::Extend to copy variable bindings instead of using the existing reference.
+ Added RDF::Query::Plan::Extend->explain.
+ Changed explain() syntax of plan quads.
+ Updated plan classes to optionally register intermediate results with a execution delegate object.
+ Made RDF::Query::Plan::Construct uniq the returned triples.
+ Added custom RDF::Query::Plan::Construct->explain method.
+ Normalize language tags used in SPARQL query syntax to lowercase.
+ Modularize RDF::Query::Plan::Service to allow mock testing.
+ Added exception handling in RDF::Query->set_error.
+ Added subplans_of_type method to Plan classes.
+ Fixed use of '__DEFAULT__' sentinel value in RDF::Query::Plan, RDF::Query::Plan::Service, RDF::Query::Node::Resource->as_sparql, and RDF::Query->as_sparql.
+ Force the planner to avoid using a bind-join when the RHS contains a Service subplan (to avoid a DOS attack on the remote endpoint).
+ Updated DATATYPE() to return rdf:langString on language-tagged literals (per RDF 1.1 change).
+ Fixed sse serialization in RDF::Query::Algebra::Service to handle binary op (variable endpoint) form.
+ Croak rather than die in some places, confess and use logdie in one place
+ Allow aggregates in ORDER BY clause.
+ * OTHER
+ Added examples/query_url.pl.
+ Added RDF::Trine::Error::UnimplementedError exception class.
+ Updated required version of RDF::Trine to 0.138.
+
Version 2.907 (2011-06-04)
* BUG FIXES
View
54 RDF-Query/README.html
@@ -50,6 +50,60 @@ <h2 id="installing">Installing RDF::Query</h2>
make install<br />
</div>
<h2 id="changelog">Version History</h2>
+ <h3 id="v2_908">Version 2.908 (2012-01-31)</h3>
+ <ul>
+ <li>Bug Fixes
+ <ul>
+ <li>Fixed SPARQL serialization of expressions using &amp;&amp; and ||.</li>
+ <li>Fixed SPARQL 1.1 parser to support "GRAPH<iri>" without whitespace.</li>
+ <li>Fixed bug resulting in false positive error when projecting expressions with aggregates.</li>
+ <li>Fixed aggregate evaluation to result in unbound variables on error (instead of dropping the result).</li>
+ <li>Fixed numeric divide operation to return xsd:decimal when operands are xsd:integers.</li>
+ <li>Fixed RDF::Query::Expression::Binary->evaluate to properly throw on div-by-zero.</li>
+ <li>Fixed RDF::Query::Expression::Function->evaluate to propogate type errors in IF().</li>
+ <li>Fixed bin/rqsh to handle queries that use BASE.</li>
+ <li>Fixed bug in RDF::Query::Plan::Join::PushDownNestedLoop that produced invalid results when the RHS was a subselect.</li>
+ <li>Fixed RDF::Query::Algebra::Filter->as_sparql to handle variation of serialization of the child pattern.</li>
+ <li>Fixed bug in SPARQL 1.1 parser that mistakenly introduced aggregate operations in non-aggregate queries.</li>
+ </ul></li>
+ <li>New Features
+ <ul>
+ <li>Added support for Service as a binary op (allowing variable-endpoint SERVICE blocks).</li>
+ <li>Added implementations for functions STRBEFORE, STRAFTER, and REPLACE.</li>
+ <li>Added RDF::Query->prepare_with_named_graphs method.</li>
+ <li>Added support for COPY and MOVE operations.</li>
+ <li>Allow percent encoding and backslash escaping in prefix names.</li>
+ </ul></li>
+ <li>Enhancements
+ <ul>
+ <li>Fixed RDF::Query::Expression::Binary to canonicalize numeric literal results.</li>
+ <li>Added syntax support for SILENT form of LOAD.</li>
+ <li>Added support for SILENT and variable endpoint handling for SERVICE patterns.</li>
+ <li>Added syntax support for optional GRAPH keyword on SPARQL 1.1 update shortcuts.</li>
+ <li>Updated RDF::Query::Plan::Extend to copy variable bindings instead of using the existing reference.</li>
+ <li>Added RDF::Query::Plan::Extend->explain.</li>
+ <li>Changed explain() syntax of plan quads.</li>
+ <li>Updated plan classes to optionally register intermediate results with a execution delegate object.</li>
+ <li>Made RDF::Query::Plan::Construct uniq the returned triples.</li>
+ <li>Added custom RDF::Query::Plan::Construct->explain method.</li>
+ <li>Normalize language tags used in SPARQL query syntax to lowercase.</li>
+ <li>Modularize RDF::Query::Plan::Service to allow mock testing.</li>
+ <li>Added exception handling in RDF::Query->set_error.</li>
+ <li>Added subplans_of_type method to Plan classes.</li>
+ <li>Fixed use of '__DEFAULT__' sentinel value in RDF::Query::Plan, RDF::Query::Plan::Service, RDF::Query::Node::Resource->as_sparql, and RDF::Query->as_sparql.</li>
+ <li>Force the planner to avoid using a bind-join when the RHS contains a Service subplan (to avoid a DOS attack on the remote endpoint).</li>
+ <li>Updated DATATYPE() to return rdf:langString on language-tagged literals (per RDF 1.1 change).</li>
+ <li>Fixed sse serialization in RDF::Query::Algebra::Service to handle binary op (variable endpoint) form.</li>
+ <li>Croak rather than die in some places, confess and use logdie in one place</li>
+ <li>Allow aggregates in ORDER BY clause.</li>
+ </ul></li>
+ <li>Other
+ <ul>
+ <li>Added examples/query_url.pl.</li>
+ <li>Added RDF::Trine::Error::UnimplementedError exception class.</li>
+ <li>Updated required version of RDF::Trine to 0.138.</li>
+ </ul></li>
+ </ul>
<h3 id="v2_907">Version 2.907 (2011-06-04)</h3>
<ul>
<li>Bug Fixes
View
4 RDF-Query/lib/RDF/Query.pm
@@ -7,7 +7,7 @@ RDF::Query - A SPARQL 1.1 Query implementation for use with RDF::Trine.
=head1 VERSION
-This document describes RDF::Query version 2.907.
+This document describes RDF::Query version 2.908.
=head1 SYNOPSIS
@@ -156,7 +156,7 @@ use RDF::Query::Plan;
our ($VERSION, $DEFAULT_PARSER);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
$DEFAULT_PARSER = 'sparql11';
}
View
6 RDF-Query/lib/RDF/Query/Algebra.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra - Base class for Algebra expressions
=head1 VERSION
-This document describes RDF::Query::Algebra version 2.907.
+This document describes RDF::Query::Algebra version 2.908.
=head1 METHODS
@@ -19,7 +19,7 @@ package RDF::Query::Algebra;
our (@ISA, @EXPORT_OK);
BEGIN {
- our $VERSION = '2.907';
+ our $VERSION = '2.908';
require Exporter;
@ISA = qw(Exporter);
@@ -67,6 +67,8 @@ use RDF::Query::Algebra::Update;
use RDF::Query::Algebra::Minus;
use RDF::Query::Algebra::Sequence;
use RDF::Query::Algebra::Create;
+use RDF::Query::Algebra::Copy;
+use RDF::Query::Algebra::Move;
use constant SSE_TAGS => {
'BGP' => 'RDF::Query::Algebra::BasicGraphPattern',
View
4 RDF-Query/lib/RDF/Query/Algebra/Aggregate.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Aggregate - Algebra class for aggregate patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Aggregate version 2.907.
+This document describes RDF::Query::Algebra::Aggregate version 2.908.
=cut
@@ -27,7 +27,7 @@ use RDF::Trine::Iterator qw(smap);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/BasicGraphPattern.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::BasicGraphPattern - Algebra class for BasicGraphPattern pat
=head1 VERSION
-This document describes RDF::Query::Algebra::BasicGraphPattern version 2.907.
+This document describes RDF::Query::Algebra::BasicGraphPattern version 2.908.
=cut
@@ -30,7 +30,7 @@ use RDF::Trine::Iterator qw(smap swatch);
our ($VERSION);
my %AS_SPARQL;
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Clear.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Clear - Algebra class for CLEAR operations
=head1 VERSION
-This document describes RDF::Query::Algebra::Clear version 2.907.
+This document describes RDF::Query::Algebra::Clear version 2.908.
=cut
@@ -32,7 +32,7 @@ our ($VERSION);
my %TRIPLE_LABELS;
my @node_methods = qw(subject predicate object);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Construct.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Construct - Algebra class for construct query results
=head1 VERSION
-This document describes RDF::Query::Algebra::Construct version 2.907.
+This document describes RDF::Query::Algebra::Construct version 2.908.
=cut
@@ -28,7 +28,7 @@ use RDF::Trine::Iterator qw(sgrep);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
181 RDF-Query/lib/RDF/Query/Algebra/Copy.pm
@@ -0,0 +1,181 @@
+# RDF::Query::Algebra::Copy
+# -----------------------------------------------------------------------------
+
+=head1 NAME
+
+RDF::Query::Algebra::Copy - Algebra class for COPY operations
+
+=head1 VERSION
+
+This document describes RDF::Query::Algebra::Copy version 2.908.
+
+=cut
+
+package RDF::Query::Algebra::Copy;
+
+use strict;
+use warnings;
+no warnings 'redefine';
+use base qw(RDF::Query::Algebra);
+
+use Data::Dumper;
+use Log::Log4perl;
+use Scalar::Util qw(refaddr);
+use Carp qw(carp croak confess);
+use Scalar::Util qw(blessed reftype refaddr);
+use Time::HiRes qw(gettimeofday tv_interval);
+use RDF::Trine::Iterator qw(smap sgrep swatch);
+
+######################################################################
+
+our ($VERSION);
+my %TRIPLE_LABELS;
+my @node_methods = qw(subject predicate object);
+BEGIN {
+ $VERSION = '2.908';
+}
+
+######################################################################
+
+=head1 METHODS
+
+Beyond the methods documented below, this class inherits methods from the
+L<RDF::Query::Algebra> class.
+
+=over 4
+
+=cut
+
+=item C<new ( $from, $to, $silent )>
+
+Returns a new COPY structure.
+
+=cut
+
+sub new {
+ my $class = shift;
+ my $from = shift;
+ my $to = shift;
+ my $silent = shift || 0;
+ return bless([$from, $to, $silent], $class);
+}
+
+=item C<< construct_args >>
+
+Returns a list of arguments that, passed to this class' constructor,
+will produce a clone of this algebra pattern.
+
+=cut
+
+sub construct_args {
+ my $self = shift;
+ return ($self->from, $self->to, $self->silent);
+}
+
+=item C<< as_sparql >>
+
+Returns the SPARQL string for this algebra expression.
+
+=cut
+
+sub as_sparql {
+ my $self = shift;
+ my $context = shift;
+ my $indent = shift;
+
+ my $from = $self->from;
+ my $to = $self->to;
+ for ($from, $to) {
+ if ($_->isa('RDF::Trine::Node::Nil')) {
+ $_ = 'DEFAULT';
+ } else {
+ $_ = '<' . $_->uri_value . '>';
+ }
+ }
+
+ my $string = sprintf( "COPY %s%s TO %s", ($self->silent ? 'SILENT ' : ''), $from, $to );
+ return $string;
+}
+
+=item C<< sse >>
+
+Returns the SSE string for this algebra expression.
+
+=cut
+
+sub sse {
+ my $self = shift;
+ my $context = shift;
+ my $indent = shift;
+
+ my $from = $self->from;
+ my $to = $self->to;
+ for ($from, $to) {
+ if ($_->isa('RDF::Trine::Node::Nil')) {
+ $_ = 'DEFAULT';
+ } else {
+ $_ = '<' . $_->uri_value . '>';
+ }
+ }
+ my $string = sprintf( "(copy%s %s %s)", ($self->silent ? '-silent' : ''), $from, $to );
+ return $string;
+}
+
+=item C<< referenced_blanks >>
+
+Returns a list of the blank node names used in this algebra expression.
+
+=cut
+
+sub referenced_blanks {
+ my $self = shift;
+ return;
+}
+
+=item C<< referenced_variables >>
+
+=cut
+
+sub referenced_variables {
+ my $self = shift;
+ return;
+}
+
+=item C<< from >>
+
+=cut
+
+sub from {
+ my $self = shift;
+ return $self->[0];
+}
+
+=item C<< to >>
+
+=cut
+
+sub to {
+ my $self = shift;
+ return $self->[1];
+}
+
+=item C<< silent >>
+
+=cut
+
+sub silent {
+ my $self = shift;
+ return $self->[2];
+}
+
+1;
+
+__END__
+
+=back
+
+=head1 AUTHOR
+
+ Gregory Todd Williams <gwilliams@cpan.org>
+
+=cut
View
4 RDF-Query/lib/RDF/Query/Algebra/Create.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Create - Algebra class for CREATE GRAPH operations
=head1 VERSION
-This document describes RDF::Query::Algebra::Create version 2.907.
+This document describes RDF::Query::Algebra::Create version 2.908.
=cut
@@ -32,7 +32,7 @@ our ($VERSION);
my %TRIPLE_LABELS;
my @node_methods = qw(subject predicate object);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Distinct.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Distinct - Algebra class for distinct query results
=head1 VERSION
-This document describes RDF::Query::Algebra::Distinct version 2.907.
+This document describes RDF::Query::Algebra::Distinct version 2.908.
=cut
@@ -28,7 +28,7 @@ use RDF::Trine::Iterator qw(sgrep);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Extend.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Extend - Algebra class for extending the variable projectio
=head1 VERSION
-This document describes RDF::Query::Algebra::Extend version 2.907.
+This document describes RDF::Query::Algebra::Extend version 2.908.
=cut
@@ -28,7 +28,7 @@ use RDF::Trine::Iterator qw(sgrep);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
10 RDF-Query/lib/RDF/Query/Algebra/Filter.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Filter - Algebra class for Filter expressions
=head1 VERSION
-This document describes RDF::Query::Algebra::Filter version 2.907.
+This document describes RDF::Query::Algebra::Filter version 2.908.
=cut
@@ -29,7 +29,7 @@ use RDF::Trine::Iterator qw(sgrep smap swatch);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
@@ -145,7 +145,11 @@ sub as_sparql {
my $expr = $self->expr;
my $filter_sparql = $expr->as_sparql( $context, $indent );
my $pattern_sparql = $self->pattern->as_sparql( $context, $indent );
- $pattern_sparql =~ s#}\s*$#${indent}\tFILTER( ${filter_sparql} ) .\n${indent}}#;
+ if ($pattern_sparql =~ m#}\s*$#) {
+ $pattern_sparql =~ s#}\s*$#${indent}\tFILTER( ${filter_sparql} ) .\n${indent}}#;
+ } else {
+ $pattern_sparql = "${pattern_sparql}\n${indent}FILTER( ${filter_sparql} )";
+ }
return $pattern_sparql;
}
View
4 RDF-Query/lib/RDF/Query/Algebra/GroupGraphPattern.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::GroupGraphPattern - Algebra class for GroupGraphPattern pat
=head1 VERSION
-This document describes RDF::Query::Algebra::GroupGraphPattern version 2.907.
+This document describes RDF::Query::Algebra::GroupGraphPattern version 2.908.
=cut
@@ -32,7 +32,7 @@ use RDF::Trine::Iterator qw(sgrep smap swatch);
our ($VERSION, $debug);
BEGIN {
$debug = 0;
- $VERSION = '2.907';
+ $VERSION = '2.908';
our %SERVICE_BLOOM_IGNORE = ('http://dbpedia.org/sparql' => 1); # by default, assume dbpedia doesn't implement k:bloom().
}
View
4 RDF-Query/lib/RDF/Query/Algebra/Limit.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Limit - Algebra class for limiting query results
=head1 VERSION
-This document describes RDF::Query::Algebra::Limit version 2.907.
+This document describes RDF::Query::Algebra::Limit version 2.908.
=cut
@@ -28,7 +28,7 @@ use RDF::Trine::Iterator qw(sgrep);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Load.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Load - Algebra class for LOAD operations
=head1 VERSION
-This document describes RDF::Query::Algebra::Load version 2.907.
+This document describes RDF::Query::Algebra::Load version 2.908.
=cut
@@ -32,7 +32,7 @@ our ($VERSION);
my %TRIPLE_LABELS;
my @node_methods = qw(subject predicate object);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Minus.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Minus - Algebra class for Minus patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Minus version 2.907.
+This document describes RDF::Query::Algebra::Minus version 2.908.
=cut
@@ -26,7 +26,7 @@ use RDF::Trine::Iterator qw(smap sgrep swatch);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
181 RDF-Query/lib/RDF/Query/Algebra/Move.pm
@@ -0,0 +1,181 @@
+# RDF::Query::Algebra::Move
+# -----------------------------------------------------------------------------
+
+=head1 NAME
+
+RDF::Query::Algebra::Move - Algebra class for MOVE operations
+
+=head1 VERSION
+
+This document describes RDF::Query::Algebra::Move version 2.908.
+
+=cut
+
+package RDF::Query::Algebra::Move;
+
+use strict;
+use warnings;
+no warnings 'redefine';
+use base qw(RDF::Query::Algebra);
+
+use Data::Dumper;
+use Log::Log4perl;
+use Scalar::Util qw(refaddr);
+use Carp qw(carp croak confess);
+use Scalar::Util qw(blessed reftype refaddr);
+use Time::HiRes qw(gettimeofday tv_interval);
+use RDF::Trine::Iterator qw(smap sgrep swatch);
+
+######################################################################
+
+our ($VERSION);
+my %TRIPLE_LABELS;
+my @node_methods = qw(subject predicate object);
+BEGIN {
+ $VERSION = '2.908';
+}
+
+######################################################################
+
+=head1 METHODS
+
+Beyond the methods documented below, this class inherits methods from the
+L<RDF::Query::Algebra> class.
+
+=over 4
+
+=cut
+
+=item C<new ( $from, $to, $silent )>
+
+Returns a new MOVE structure.
+
+=cut
+
+sub new {
+ my $class = shift;
+ my $from = shift;
+ my $to = shift;
+ my $silent = shift || 0;
+ return bless([$from, $to, $silent], $class);
+}
+
+=item C<< construct_args >>
+
+Returns a list of arguments that, passed to this class' constructor,
+will produce a clone of this algebra pattern.
+
+=cut
+
+sub construct_args {
+ my $self = shift;
+ return ($self->from, $self->to, $self->silent);
+}
+
+=item C<< as_sparql >>
+
+Returns the SPARQL string for this algebra expression.
+
+=cut
+
+sub as_sparql {
+ my $self = shift;
+ my $context = shift;
+ my $indent = shift;
+
+ my $from = $self->from;
+ my $to = $self->to;
+ for ($from, $to) {
+ if ($_->isa('RDF::Trine::Node::Nil')) {
+ $_ = 'DEFAULT';
+ } else {
+ $_ = '<' . $_->uri_value . '>';
+ }
+ }
+
+ my $string = sprintf( "MOVE %s%s TO %s", ($self->silent ? 'SILENT ' : ''), $from, $to );
+ return $string;
+}
+
+=item C<< sse >>
+
+Returns the SSE string for this algebra expression.
+
+=cut
+
+sub sse {
+ my $self = shift;
+ my $context = shift;
+ my $indent = shift;
+
+ my $from = $self->from;
+ my $to = $self->to;
+ for ($from, $to) {
+ if ($_->isa('RDF::Trine::Node::Nil')) {
+ $_ = 'DEFAULT';
+ } else {
+ $_ = '<' . $_->uri_value . '>';
+ }
+ }
+ my $string = sprintf( "(move%s %s %s)", ($self->silent ? '-silent' : ''), $from, $to );
+ return $string;
+}
+
+=item C<< referenced_blanks >>
+
+Returns a list of the blank node names used in this algebra expression.
+
+=cut
+
+sub referenced_blanks {
+ my $self = shift;
+ return;
+}
+
+=item C<< referenced_variables >>
+
+=cut
+
+sub referenced_variables {
+ my $self = shift;
+ return;
+}
+
+=item C<< from >>
+
+=cut
+
+sub from {
+ my $self = shift;
+ return $self->[0];
+}
+
+=item C<< to >>
+
+=cut
+
+sub to {
+ my $self = shift;
+ return $self->[1];
+}
+
+=item C<< silent >>
+
+=cut
+
+sub silent {
+ my $self = shift;
+ return $self->[2];
+}
+
+1;
+
+__END__
+
+=back
+
+=head1 AUTHOR
+
+ Gregory Todd Williams <gwilliams@cpan.org>
+
+=cut
View
4 RDF-Query/lib/RDF/Query/Algebra/NamedGraph.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::NamedGraph - Algebra class for NamedGraph patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::NamedGraph version 2.907.
+This document describes RDF::Query::Algebra::NamedGraph version 2.908.
=cut
@@ -29,7 +29,7 @@ use RDF::Trine::Iterator qw(sgrep smap swatch);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Offset.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Offset - Algebra class for offseting query results
=head1 VERSION
-This document describes RDF::Query::Algebra::Offset version 2.907.
+This document describes RDF::Query::Algebra::Offset version 2.908.
=cut
@@ -28,7 +28,7 @@ use RDF::Trine::Iterator qw(sgrep);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Optional.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Optional - Algebra class for Optional patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Optional version 2.907.
+This document describes RDF::Query::Algebra::Optional version 2.908.
=cut
@@ -26,7 +26,7 @@ use RDF::Trine::Iterator qw(smap sgrep swatch);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Path.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Path - Algebra class for path patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Path version 2.907.
+This document describes RDF::Query::Algebra::Path version 2.908.
=cut
@@ -27,7 +27,7 @@ use Carp qw(carp croak confess);
our ($VERSION, $debug, $lang, $languri);
BEGIN {
$debug = 0;
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Project.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Project - Algebra class for projection
=head1 VERSION
-This document describes RDF::Query::Algebra::Project version 2.907.
+This document describes RDF::Query::Algebra::Project version 2.908.
=cut
@@ -28,7 +28,7 @@ use RDF::Trine::Iterator qw(sgrep);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Quad.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Quad - Algebra class for Quad patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Quad version 2.907.
+This document describes RDF::Query::Algebra::Quad version 2.908.
=cut
@@ -28,7 +28,7 @@ use RDF::Trine::Iterator qw(smap sgrep swatch);
my %QUAD_LABELS;
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Sequence.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Sequence - Algebra class for a sequence of algebra operatio
=head1 VERSION
-This document describes RDF::Query::Algebra::Sequence version 2.907.
+This document describes RDF::Query::Algebra::Sequence version 2.908.
=cut
@@ -30,7 +30,7 @@ use RDF::Trine::Iterator qw(smap swatch);
our ($VERSION);
my %AS_SPARQL;
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
24 RDF-Query/lib/RDF/Query/Algebra/Service.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Service - Algebra class for SERVICE (federation) patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Service version 2.907.
+This document describes RDF::Query::Algebra::Service version 2.908.
=cut
@@ -32,7 +32,7 @@ use RDF::Trine::Iterator qw(sgrep smap swatch);
our ($VERSION, $BLOOM_FILTER_ERROR_RATE);
BEGIN {
$BLOOM_FILTER_ERROR_RATE = 0.1;
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
@@ -169,11 +169,20 @@ sub sse {
my $prefix = shift || '';
my $indent = $context->{indent};
- return sprintf(
- "(service\n${prefix}${indent}%s\n${prefix}${indent}%s)",
- $self->endpoint->sse( $context, "${prefix}${indent}" ),
- $self->pattern->sse( $context, "${prefix}${indent}" )
- );
+ if (my $ggp = $self->lhs) {
+ return sprintf(
+ "(service\n${prefix}${indent}%s\n${prefix}${indent}%s\n${prefix}${indent}%s)",
+ $self->lhs->sse( $context, "${prefix}${indent}" ),
+ $self->endpoint->sse( $context, "${prefix}${indent}" ),
+ $self->pattern->sse( $context, "${prefix}${indent}" )
+ );
+ } else {
+ return sprintf(
+ "(service\n${prefix}${indent}%s\n${prefix}${indent}%s)",
+ $self->endpoint->sse( $context, "${prefix}${indent}" ),
+ $self->pattern->sse( $context, "${prefix}${indent}" )
+ );
+ }
}
=item C<< as_sparql >>
@@ -188,6 +197,7 @@ sub as_sparql {
my $indent = shift;
my $op = ($self->silent) ? 'SERVICE SILENT' : 'SERVICE';
if (my $ggp = $self->lhs) {
+ local($context->{skip_filter}) = 0;
my $string = sprintf(
"%s\n${indent}%s %s %s",
$ggp->as_sparql( $context, $indent ),
View
4 RDF-Query/lib/RDF/Query/Algebra/Sort.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Sort - Algebra class for sorting
=head1 VERSION
-This document describes RDF::Query::Algebra::Sort version 2.907.
+This document describes RDF::Query::Algebra::Sort version 2.908.
=cut
@@ -29,7 +29,7 @@ use Time::HiRes qw(gettimeofday tv_interval);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/SubSelect.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::SubSelect - Algebra class for Subselects
=head1 VERSION
-This document describes RDF::Query::Algebra::SubSelect version 2.907.
+This document describes RDF::Query::Algebra::SubSelect version 2.908.
=cut
@@ -32,7 +32,7 @@ use RDF::Trine::Iterator qw(sgrep smap swatch);
our ($VERSION, $BLOOM_FILTER_ERROR_RATE);
BEGIN {
$BLOOM_FILTER_ERROR_RATE = 0.1;
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/TimeGraph.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::TimeGraph - Algebra class for temporal patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::TimeGraph version 2.907.
+This document describes RDF::Query::Algebra::TimeGraph version 2.908.
=cut
@@ -25,7 +25,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Triple.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Triple - Algebra class for Triple patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Triple version 2.907.
+This document describes RDF::Query::Algebra::Triple version 2.908.
=cut
@@ -32,7 +32,7 @@ our ($VERSION);
my %TRIPLE_LABELS;
my @node_methods = qw(subject predicate object);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Union.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Union - Algebra class for Union patterns
=head1 VERSION
-This document describes RDF::Query::Algebra::Union version 2.907.
+This document describes RDF::Query::Algebra::Union version 2.908.
=cut
@@ -28,7 +28,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Algebra/Update.pm
@@ -7,7 +7,7 @@ RDF::Query::Algebra::Update - Algebra class for UPDATE operations
=head1 VERSION
-This document describes RDF::Query::Algebra::Update version 2.907.
+This document describes RDF::Query::Algebra::Update version 2.908.
=cut
@@ -32,7 +32,7 @@ our ($VERSION);
my %TRIPLE_LABELS;
my @node_methods = qw(subject predicate object);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/BGPOptimizer.pm
@@ -7,7 +7,7 @@ RDF::Query::BGPOptimizer - Optimizer for ordering the joins of triple patterns i
=head1 VERSION
-This document describes RDF::Query::BGPOptimizer version 2.907.
+This document describes RDF::Query::BGPOptimizer version 2.908.
=head1 METHODS
@@ -28,7 +28,7 @@ use RDF::Query::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Compiler/SQL.pm
@@ -7,7 +7,7 @@ RDF::Query::Compiler::SQL - Compile a SPARQL query directly to SQL.
=head1 VERSION
-This document describes RDF::Query::Compiler::SQL version 2.907.
+This document describes RDF::Query::Compiler::SQL version 2.908.
=cut
@@ -35,7 +35,7 @@ use RDF::Query::Error qw(:try);
my (@NODE_TYPE_TABLES, %NODE_TYPE_TABLES);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
@NODE_TYPE_TABLES = (
['Resources', 'ljr', 'URI'],
['Literals', 'ljl', qw(Value Language Datatype)],
View
4 RDF-Query/lib/RDF/Query/Error.pm
@@ -7,7 +7,7 @@ RDF::Query::Error - Error classes for RDF::Query.
=head1 VERSION
-This document describes RDF::Query::Error version 2.907.
+This document describes RDF::Query::Error version 2.908.
=head1 SYNOPSIS
@@ -37,7 +37,7 @@ use base qw(Error);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/ExecutionContext.pm
@@ -7,7 +7,7 @@ RDF::Query::ExecutionContext - Query execution context
=head1 VERSION
-This document describes RDF::Query::ExecutionContext version 2.907.
+This document describes RDF::Query::ExecutionContext version 2.908.
=head1 METHODS
@@ -24,7 +24,7 @@ use warnings;
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Expression.pm
@@ -7,7 +7,7 @@ RDF::Query::Expression - Class for Expr expressions
=head1 VERSION
-This document describes RDF::Query::Expression version 2.907.
+This document describes RDF::Query::Expression version 2.908.
=cut
@@ -26,7 +26,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Expression/Alias.pm
@@ -7,7 +7,7 @@ RDF::Query::Expression::Alias - Class for aliasing expressions with variable nam
=head1 VERSION
-This document describes RDF::Query::Expression::Alias version 2.907.
+This document describes RDF::Query::Expression::Alias version 2.908.
=cut
@@ -26,7 +26,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Expression/Binary.pm
@@ -7,7 +7,7 @@ RDF::Query::Expression::Binary - Algebra class for binary expressions
=head1 VERSION
-This document describes RDF::Query::Expression::Binary version 2.907.
+This document describes RDF::Query::Expression::Binary version 2.908.
=cut
@@ -27,7 +27,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Expression/Function.pm
@@ -7,7 +7,7 @@ RDF::Query::Expression::Function - Class for Function expressions
=head1 VERSION
-This document describes RDF::Query::Expression::Function version 2.907.
+This document describes RDF::Query::Expression::Function version 2.908.
=cut
@@ -27,7 +27,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Expression/Nary.pm
@@ -7,7 +7,7 @@ RDF::Query::Expression::Nary - Class for n-ary expressions
=head1 VERSION
-This document describes RDF::Query::Expression::Nary version 2.907.
+This document describes RDF::Query::Expression::Nary version 2.908.
=cut
@@ -26,7 +26,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Expression/Unary.pm
@@ -7,7 +7,7 @@ RDF::Query::Expression::Unary - Class for unary expressions
=head1 VERSION
-This document describes RDF::Query::Expression::Unary version 2.907.
+This document describes RDF::Query::Expression::Unary version 2.908.
=cut
@@ -26,7 +26,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Federate.pm
@@ -7,7 +7,7 @@ RDF::Query::Federate - A subclass of RDF::Query for efficient federated query ex
=head1 VERSION
-This document describes RDF::Query::Federate version 2.907.
+This document describes RDF::Query::Federate version 2.908.
=head1 SYNOPSIS
@@ -42,7 +42,7 @@ use RDF::Trine::Iterator qw(sgrep smap swatch);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
View
4 RDF-Query/lib/RDF/Query/Federate/Plan.pm
@@ -7,7 +7,7 @@ RDF::Query::Federate::Plan - Executable query plan nodes.
=head1 VERSION
-This document describes RDF::Query::Federate::Plan version 2.907.
+This document describes RDF::Query::Federate::Plan version 2.908.
=head1 METHODS
@@ -31,7 +31,7 @@ use RDF::Query::Error qw(:try);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Functions.pm
@@ -7,7 +7,7 @@ RDF::Query::Functions - Standard Extension Functions
=head1 VERSION
-This document describes RDF::Query::Functions version 2.907.
+This document describes RDF::Query::Functions version 2.908.
=head1 DESCRIPTION
@@ -45,7 +45,7 @@ use Module::Pluggable
our ($VERSION, $l);
BEGIN {
$l = Log::Log4perl->get_logger("rdf.query.functions");
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Functions/Geo.pm
@@ -4,7 +4,7 @@ RDF::Query::Functions::Geo - Geographic extension functions
=head1 VERSION
-This document describes RDF::Query::Functions::Geo version 2.907.
+This document describes RDF::Query::Functions::Geo version 2.908.
=head1 DESCRIPTION
@@ -27,7 +27,7 @@ use Log::Log4perl;
our ($VERSION, $l);
BEGIN {
$l = Log::Log4perl->get_logger("rdf.query.functions.geo");
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
our $GEO_DISTANCE_LOADED;
View
4 RDF-Query/lib/RDF/Query/Functions/Jena.pm
@@ -4,7 +4,7 @@ RDF::Query::Functions::Jena - Jena/ARQ work-alike functions
=head1 VERSION
-This document describes RDF::Query::Functions::Jena version 2.907.
+This document describes RDF::Query::Functions::Jena version 2.908.
=head1 DESCRIPTION
@@ -32,7 +32,7 @@ use Log::Log4perl;
our ($VERSION, $l);
BEGIN {
$l = Log::Log4perl->get_logger("rdf.query.functions.jena");
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
use Digest::SHA qw(sha1_hex);
View
4 RDF-Query/lib/RDF/Query/Functions/Kasei.pm
@@ -4,7 +4,7 @@ RDF::Query::Functions::Kasei - RDF-Query-specific functions
=head1 VERSION
-This document describes RDF::Query::Functions::Kasei version 2.907.
+This document describes RDF::Query::Functions::Kasei version 2.908.
=head1 DESCRIPTION
@@ -30,7 +30,7 @@ use Log::Log4perl;
our ($VERSION, $l);
BEGIN {
$l = Log::Log4perl->get_logger("rdf.query.functions.kasei");
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
use Data::Dumper;
View
8 RDF-Query/lib/RDF/Query/Functions/SPARQL.pm
@@ -4,7 +4,7 @@ RDF::Query::Functions::SPARQL - SPARQL built-in functions
=head1 VERSION
-This document describes RDF::Query::Functions::SPARQL version 2.907.
+This document describes RDF::Query::Functions::SPARQL version 2.908.
=head1 DESCRIPTION
@@ -98,7 +98,7 @@ use Log::Log4perl;
our ($VERSION, $l);
BEGIN {
$l = Log::Log4perl->get_logger("rdf.query.functions.sparql");
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
use POSIX;
@@ -110,7 +110,7 @@ use I18N::LangTags;
use List::Util qw(sum);
use Scalar::Util qw(blessed reftype refaddr looks_like_number);
use DateTime::Format::W3CDTF;
-use RDF::Trine::Namespace qw(xsd);
+use RDF::Trine::Namespace qw(rdf xsd);
use Digest::MD5 qw(md5_hex);
use Digest::SHA qw(sha1_hex sha224_hex sha256_hex sha384_hex sha512_hex);
@@ -777,7 +777,7 @@ sub install {
}
if ($node->is_literal) {
if ($node->has_language) {
- throw RDF::Query::Error::TypeError ( -text => "cannot call datatype() on a language-tagged literal" );
+ return $rdf->langString;
} elsif ($node->has_datatype) {
my $type = $node->literal_datatype;
$l->debug("datatype => $type");
View
4 RDF-Query/lib/RDF/Query/Functions/Xpath.pm
@@ -4,7 +4,7 @@ RDF::Query::Functions::Xpath - XPath functions
=head1 VERSION
-This document describes RDF::Query::Functions::Xpath version 2.907.
+This document describes RDF::Query::Functions::Xpath version 2.908.
=head1 DESCRIPTION
@@ -76,7 +76,7 @@ use RDF::Trine::Namespace qw(xsd);
our ($VERSION, $l);
BEGIN {
$l = Log::Log4perl->get_logger("rdf.query.functions.xpath");
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
use Scalar::Util qw(blessed reftype refaddr looks_like_number);
View
4 RDF-Query/lib/RDF/Query/Node.pm
@@ -7,7 +7,7 @@ RDF::Query::Node - Base class for RDF Nodes
=head1 VERSION
-This document describes RDF::Query::Node version 2.907.
+This document describes RDF::Query::Node version 2.908.
=head1 METHODS
@@ -29,7 +29,7 @@ use RDF::Query::Node::Variable;
our ($VERSION, @ISA, @EXPORT_OK);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
require Exporter;
@ISA = qw(Exporter);
View
4 RDF-Query/lib/RDF/Query/Node/Blank.pm
@@ -7,7 +7,7 @@ RDF::Query::Node::Blank - RDF Node class for blank nodes
=head1 VERSION
-This document describes RDF::Query::Node::Blank version 2.907.
+This document describes RDF::Query::Node::Blank version 2.908.
=head1 METHODS
@@ -33,7 +33,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Node/Literal.pm
@@ -7,7 +7,7 @@ RDF::Query::Node::Literal - RDF Node class for literals
=head1 VERSION
-This document describes RDF::Query::Node::Literal version 2.907.
+This document describes RDF::Query::Node::Literal version 2.908.
=cut
@@ -30,7 +30,7 @@ use Carp qw(carp croak confess);
our ($VERSION, $LAZY_COMPARISONS);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Node/Resource.pm
@@ -7,7 +7,7 @@ RDF::Query::Node::Resource - RDF Node class for resources
=head1 VERSION
-This document describes RDF::Query::Node::Resource version 2.907.
+This document describes RDF::Query::Node::Resource version 2.908.
=cut
@@ -28,7 +28,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Node/Variable.pm
@@ -7,7 +7,7 @@ RDF::Query::Node::Variable - RDF Node class for variables
=head1 VERSION
-This document describes RDF::Query::Node::Variable version 2.907.
+This document describes RDF::Query::Node::Variable version 2.908.
=cut
@@ -26,7 +26,7 @@ use Carp qw(carp croak confess);
our ($VERSION);
BEGIN {
- $VERSION = '2.907';
+ $VERSION = '2.908';
}
######################################################################
View
4 RDF-Query/lib/RDF/Query/Parser.pm
@@ -7,7 +7,7 @@ RDF::Query::Parser - Parser base class
=head1 VERSION
-This document describes RDF::Query::Parser version 2.907.
+This document describes RDF::Query::Parser version 2.908.
=cut
@@ -32,7 +32,7 @@ use Carp qw(carp croak confess);