sparql 3.1.6 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +31 -22
- data/VERSION +1 -1
- data/bin/sparql +14 -4
- data/lib/sparql/algebra/aggregate.rb +1 -1
- data/lib/sparql/algebra/evaluatable.rb +4 -4
- data/lib/sparql/algebra/expression.rb +28 -3
- data/lib/sparql/algebra/extensions.rb +109 -45
- data/lib/sparql/algebra/operator/abs.rb +23 -3
- data/lib/sparql/algebra/operator/add.rb +21 -2
- data/lib/sparql/algebra/operator/alt.rb +26 -2
- data/lib/sparql/algebra/operator/and.rb +25 -3
- data/lib/sparql/algebra/operator/asc.rb +20 -1
- data/lib/sparql/algebra/operator/ask.rb +17 -1
- data/lib/sparql/algebra/operator/avg.rb +20 -2
- data/lib/sparql/algebra/operator/base.rb +18 -1
- data/lib/sparql/algebra/operator/bgp.rb +13 -1
- data/lib/sparql/algebra/operator/bnode.rb +34 -11
- data/lib/sparql/algebra/operator/bound.rb +22 -1
- data/lib/sparql/algebra/operator/ceil.rb +26 -3
- data/lib/sparql/algebra/operator/clear.rb +26 -2
- data/lib/sparql/algebra/operator/coalesce.rb +33 -11
- data/lib/sparql/algebra/operator/compare.rb +48 -40
- data/lib/sparql/algebra/operator/concat.rb +26 -2
- data/lib/sparql/algebra/operator/construct.rb +29 -6
- data/lib/sparql/algebra/operator/contains.rb +25 -3
- data/lib/sparql/algebra/operator/copy.rb +19 -2
- data/lib/sparql/algebra/operator/count.rb +53 -7
- data/lib/sparql/algebra/operator/create.rb +20 -2
- data/lib/sparql/algebra/operator/dataset.rb +27 -2
- data/lib/sparql/algebra/operator/datatype.rb +26 -7
- data/lib/sparql/algebra/operator/day.rb +24 -6
- data/lib/sparql/algebra/operator/delete.rb +29 -2
- data/lib/sparql/algebra/operator/delete_data.rb +23 -2
- data/lib/sparql/algebra/operator/delete_where.rb +24 -2
- data/lib/sparql/algebra/operator/desc.rb +20 -1
- data/lib/sparql/algebra/operator/describe.rb +27 -4
- data/lib/sparql/algebra/operator/distinct.rb +20 -3
- data/lib/sparql/algebra/operator/divide.rb +27 -3
- data/lib/sparql/algebra/operator/drop.rb +27 -3
- data/lib/sparql/algebra/operator/encode_for_uri.rb +23 -3
- data/lib/sparql/algebra/operator/equal.rb +13 -3
- data/lib/sparql/algebra/operator/exists.rb +28 -4
- data/lib/sparql/algebra/operator/exprlist.rb +15 -2
- data/lib/sparql/algebra/operator/extend.rb +64 -6
- data/lib/sparql/algebra/operator/filter.rb +27 -5
- data/lib/sparql/algebra/operator/floor.rb +26 -3
- data/lib/sparql/algebra/operator/function_call.rb +64 -0
- data/lib/sparql/algebra/operator/graph.rb +69 -6
- data/lib/sparql/algebra/operator/greater_than.rb +14 -4
- data/lib/sparql/algebra/operator/greater_than_or_equal.rb +14 -4
- data/lib/sparql/algebra/operator/group.rb +105 -8
- data/lib/sparql/algebra/operator/group_concat.rb +44 -8
- data/lib/sparql/algebra/operator/hours.rb +24 -6
- data/lib/sparql/algebra/operator/if.rb +20 -3
- data/lib/sparql/algebra/operator/in.rb +18 -1
- data/lib/sparql/algebra/operator/insert.rb +24 -2
- data/lib/sparql/algebra/operator/insert_data.rb +23 -2
- data/lib/sparql/algebra/operator/iri.rb +22 -5
- data/lib/sparql/algebra/operator/is_blank.rb +21 -4
- data/lib/sparql/algebra/operator/is_iri.rb +21 -4
- data/lib/sparql/algebra/operator/is_literal.rb +21 -4
- data/lib/sparql/algebra/operator/is_numeric.rb +23 -6
- data/lib/sparql/algebra/operator/is_triple.rb +33 -1
- data/lib/sparql/algebra/operator/join.rb +56 -1
- data/lib/sparql/algebra/operator/lang.rb +26 -1
- data/lib/sparql/algebra/operator/lang_matches.rb +23 -2
- data/lib/sparql/algebra/operator/lcase.rb +23 -3
- data/lib/sparql/algebra/operator/left_join.rb +42 -1
- data/lib/sparql/algebra/operator/less_than.rb +14 -4
- data/lib/sparql/algebra/operator/less_than_or_equal.rb +14 -4
- data/lib/sparql/algebra/operator/load.rb +25 -2
- data/lib/sparql/algebra/operator/max.rb +20 -2
- data/lib/sparql/algebra/operator/md5.rb +23 -6
- data/lib/sparql/algebra/operator/min.rb +22 -4
- data/lib/sparql/algebra/operator/minus.rb +65 -7
- data/lib/sparql/algebra/operator/minutes.rb +24 -6
- data/lib/sparql/algebra/operator/modify.rb +41 -5
- data/lib/sparql/algebra/operator/month.rb +24 -6
- data/lib/sparql/algebra/operator/move.rb +20 -2
- data/lib/sparql/algebra/operator/multiply.rb +27 -4
- data/lib/sparql/algebra/operator/negate.rb +24 -4
- data/lib/sparql/algebra/operator/not.rb +25 -4
- data/lib/sparql/algebra/operator/not_equal.rb +16 -1
- data/lib/sparql/algebra/operator/notexists.rb +30 -6
- data/lib/sparql/algebra/operator/notin.rb +20 -3
- data/lib/sparql/algebra/operator/notoneof.rb +21 -2
- data/lib/sparql/algebra/operator/now.rb +25 -6
- data/lib/sparql/algebra/operator/object.rb +33 -1
- data/lib/sparql/algebra/operator/or.rb +26 -3
- data/lib/sparql/algebra/operator/order.rb +71 -2
- data/lib/sparql/algebra/operator/path.rb +29 -2
- data/lib/sparql/algebra/operator/path_opt.rb +21 -2
- data/lib/sparql/algebra/operator/path_plus.rb +21 -2
- data/lib/sparql/algebra/operator/path_star.rb +20 -2
- data/lib/sparql/algebra/operator/plus.rb +43 -4
- data/lib/sparql/algebra/operator/predicate.rb +33 -1
- data/lib/sparql/algebra/operator/prefix.rb +24 -3
- data/lib/sparql/algebra/operator/project.rb +69 -5
- data/lib/sparql/algebra/operator/rand.rb +31 -3
- data/lib/sparql/algebra/operator/reduced.rb +20 -3
- data/lib/sparql/algebra/operator/regex.rb +27 -19
- data/lib/sparql/algebra/operator/replace.rb +27 -7
- data/lib/sparql/algebra/operator/reverse.rb +31 -2
- data/lib/sparql/algebra/operator/round.rb +26 -3
- data/lib/sparql/algebra/operator/same_term.rb +25 -7
- data/lib/sparql/algebra/operator/sample.rb +33 -9
- data/lib/sparql/algebra/operator/seconds.rb +24 -6
- data/lib/sparql/algebra/operator/seq.rb +20 -2
- data/lib/sparql/algebra/operator/sequence.rb +4 -11
- data/lib/sparql/algebra/operator/sha1.rb +19 -2
- data/lib/sparql/algebra/operator/sha256.rb +19 -2
- data/lib/sparql/algebra/operator/sha384.rb +19 -2
- data/lib/sparql/algebra/operator/sha512.rb +19 -2
- data/lib/sparql/algebra/operator/slice.rb +27 -5
- data/lib/sparql/algebra/operator/str.rb +22 -2
- data/lib/sparql/algebra/operator/strafter.rb +26 -3
- data/lib/sparql/algebra/operator/strbefore.rb +26 -3
- data/lib/sparql/algebra/operator/strdt.rb +23 -2
- data/lib/sparql/algebra/operator/strends.rb +26 -4
- data/lib/sparql/algebra/operator/strlang.rb +25 -7
- data/lib/sparql/algebra/operator/strlen.rb +24 -3
- data/lib/sparql/algebra/operator/strstarts.rb +26 -3
- data/lib/sparql/algebra/operator/struuid.rb +30 -10
- data/lib/sparql/algebra/operator/subject.rb +33 -1
- data/lib/sparql/algebra/operator/substr.rb +24 -3
- data/lib/sparql/algebra/operator/subtract.rb +29 -3
- data/lib/sparql/algebra/operator/sum.rb +25 -7
- data/lib/sparql/algebra/operator/table.rb +76 -4
- data/lib/sparql/algebra/operator/timezone.rb +24 -6
- data/lib/sparql/algebra/operator/tz.rb +23 -6
- data/lib/sparql/algebra/operator/ucase.rb +24 -3
- data/lib/sparql/algebra/operator/union.rb +29 -6
- data/lib/sparql/algebra/operator/update.rb +46 -4
- data/lib/sparql/algebra/operator/using.rb +49 -2
- data/lib/sparql/algebra/operator/uuid.rb +28 -9
- data/lib/sparql/algebra/operator/with.rb +38 -4
- data/lib/sparql/algebra/operator/year.rb +24 -6
- data/lib/sparql/algebra/operator.rb +135 -14
- data/lib/sparql/algebra/sxp_extensions.rb +3 -3
- data/lib/sparql/algebra.rb +20 -3
- data/lib/sparql/grammar/meta.rb +1103 -907
- data/lib/sparql/grammar/parser11.rb +63 -56
- metadata +43 -29
- data/lib/sparql/algebra/operator/triple.rb +0 -27
@@ -197,7 +197,7 @@ module SPARQL::Grammar
|
|
197
197
|
# [2] Query ::= Prologue
|
198
198
|
# ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery )
|
199
199
|
production(:Query) do |input, data, callback|
|
200
|
-
query = data[:query].first
|
200
|
+
query = data[:query].first if data[:query]
|
201
201
|
|
202
202
|
# Add prefix
|
203
203
|
if data[:PrefixDecl]
|
@@ -754,7 +754,7 @@ module SPARQL::Grammar
|
|
754
754
|
end
|
755
755
|
end
|
756
756
|
|
757
|
-
# [65] DataBlockValue ::=
|
757
|
+
# [65] DataBlockValue ::= QuotedTriple | iri | RDFLiteral | NumericLiteral | BooleanLiteral | 'UNDEF'
|
758
758
|
production(:DataBlockValue) do |input, data, callback|
|
759
759
|
add_prod_datum :DataBlockValue, data.values.first
|
760
760
|
end
|
@@ -806,7 +806,7 @@ module SPARQL::Grammar
|
|
806
806
|
|
807
807
|
# [70] FunctionCall ::= iri ArgList
|
808
808
|
production(:FunctionCall) do |input, data, callback|
|
809
|
-
add_prod_data(:Function,
|
809
|
+
add_prod_data(:Function, SPARQL::Algebra::Operator::FunctionCall.new(data[:iri], *data[:ArgList]))
|
810
810
|
end
|
811
811
|
|
812
812
|
# [71] ArgList ::= NIL
|
@@ -833,7 +833,7 @@ module SPARQL::Grammar
|
|
833
833
|
add_prod_datum(:ConstructTemplate, data[:ConstructTemplate])
|
834
834
|
end
|
835
835
|
|
836
|
-
# [75] TriplesSameSubject ::=
|
836
|
+
# [75] TriplesSameSubject ::= VarOrTermOrQuotedTP PropertyListNotEmpty
|
837
837
|
# | TriplesNode PropertyList
|
838
838
|
production(:TriplesSameSubject) do |input, data, callback|
|
839
839
|
add_prod_datum(:pattern, data[:pattern])
|
@@ -842,8 +842,8 @@ module SPARQL::Grammar
|
|
842
842
|
# [77] PropertyListNotEmpty ::= Verb ObjectList
|
843
843
|
# ( ';' ( Verb ObjectList )? )*
|
844
844
|
start_production(:PropertyListNotEmpty) do |input, data, callback|
|
845
|
-
subject = input[:
|
846
|
-
error(nil, "Expected
|
845
|
+
subject = input[:VarOrTermOrQuotedTP] || input[:TriplesNode] || input[:GraphNode]
|
846
|
+
error(nil, "Expected VarOrTermOrQuotedTP or TriplesNode or GraphNode", production: :PropertyListNotEmpty) if validate? && !subject
|
847
847
|
data[:Subject] = subject
|
848
848
|
end
|
849
849
|
production(:PropertyListNotEmpty) do |input, data, callback|
|
@@ -899,7 +899,7 @@ module SPARQL::Grammar
|
|
899
899
|
add_prod_datum(:pattern, data[:pattern])
|
900
900
|
end
|
901
901
|
|
902
|
-
# [81] TriplesSameSubjectPath ::=
|
902
|
+
# [81] TriplesSameSubjectPath ::= VarOrTermOrQuotedTP PropertyListPathNotEmpty | TriplesNode PropertyListPath
|
903
903
|
production(:TriplesSameSubjectPath) do |input, data, callback|
|
904
904
|
add_prod_datum(:pattern, data[:pattern])
|
905
905
|
add_prod_datum(:path, data[:path])
|
@@ -907,8 +907,8 @@ module SPARQL::Grammar
|
|
907
907
|
|
908
908
|
# [83] PropertyListPathNotEmpty ::= ( VerbPath | VerbSimple ) ObjectList ( ';' ( ( VerbPath | VerbSimple ) ObjectList )? )*
|
909
909
|
start_production(:PropertyListPathNotEmpty) do |input, data, callback|
|
910
|
-
subject = input[:
|
911
|
-
error(nil, "Expected
|
910
|
+
subject = input[:VarOrTermOrQuotedTP] || input[:TriplesNode] || input[:GraphNode]
|
911
|
+
error(nil, "Expected VarOrTermOrQuotedTP, got nothing", production: :PropertyListPathNotEmpty) if validate? && !subject
|
912
912
|
data[:Subject] = subject
|
913
913
|
end
|
914
914
|
production(:PropertyListPathNotEmpty) do |input, data, callback|
|
@@ -954,7 +954,7 @@ module SPARQL::Grammar
|
|
954
954
|
data[:Verb] = Array(input[:Verb]).first
|
955
955
|
end
|
956
956
|
production(:ObjectPath) do |input, data, callback|
|
957
|
-
object = data[:
|
957
|
+
object = data[:VarOrTermOrQuotedTP] || data[:TriplesNode] || data[:GraphNode]
|
958
958
|
if object
|
959
959
|
if prod_data[:Verb]
|
960
960
|
if data[:pattern] && data[:path]
|
@@ -1116,24 +1116,24 @@ module SPARQL::Grammar
|
|
1116
1116
|
add_prod_datum(:path, data[:path])
|
1117
1117
|
end
|
1118
1118
|
|
1119
|
-
# [104] GraphNode ::=
|
1119
|
+
# [104] GraphNode ::= VarOrTermOrQuotedTP | TriplesNode
|
1120
1120
|
production(:GraphNode) do |input, data, callback|
|
1121
|
-
term = data[:
|
1121
|
+
term = data[:VarOrTermOrQuotedTP] || data[:TriplesNode]
|
1122
1122
|
add_prod_datum(:pattern, data[:pattern])
|
1123
1123
|
add_prod_datum(:GraphNode, term)
|
1124
1124
|
end
|
1125
1125
|
|
1126
|
-
# [105] GraphNodePath ::=
|
1126
|
+
# [105] GraphNodePath ::= VarOrTermOrQuotedTP | TriplesNodePath
|
1127
1127
|
production(:GraphNodePath) do |input, data, callback|
|
1128
|
-
term = data[:
|
1128
|
+
term = data[:VarOrTermOrQuotedTP] || data[:TriplesNode]
|
1129
1129
|
add_prod_datum(:pattern, data[:pattern])
|
1130
1130
|
add_prod_datum(:path, data[:path])
|
1131
1131
|
add_prod_datum(:GraphNode, term)
|
1132
1132
|
end
|
1133
1133
|
|
1134
|
-
# [106s]
|
1135
|
-
production(:
|
1136
|
-
data.values.each {|v| add_prod_datum(:
|
1134
|
+
# [106s] VarOrTermOrQuotedTP ::= Var | GraphTerm | EmbTP
|
1135
|
+
production(:VarOrTermOrQuotedTP) do |input, data, callback|
|
1136
|
+
data.values.each {|v| add_prod_datum(:VarOrTermOrQuotedTP, v)}
|
1137
1137
|
end
|
1138
1138
|
|
1139
1139
|
# [107] VarOrIri ::= Var | iri
|
@@ -1151,22 +1151,6 @@ module SPARQL::Grammar
|
|
1151
1151
|
data[:NIL])
|
1152
1152
|
end
|
1153
1153
|
|
1154
|
-
# [174] EmbTP ::= '<<' EmbSubjectOrObject Verb EmbSubjectOrObject '>>'
|
1155
|
-
production(:EmbTP) do |input, data, callback|
|
1156
|
-
subject, object = data[:EmbSubjectOrObject]
|
1157
|
-
predicate = data[:Verb]
|
1158
|
-
add_pattern(:EmbTP,
|
1159
|
-
subject: subject,
|
1160
|
-
predicate: predicate,
|
1161
|
-
object: object)
|
1162
|
-
end
|
1163
|
-
|
1164
|
-
# [175] EmbSubjectOrObject ::= Var | BlankNode | iri | RDFLiteral
|
1165
|
-
# | NumericLiteral | BooleanLiteral | EmbTP
|
1166
|
-
production(:EmbSubjectOrObject) do |input, data, callback|
|
1167
|
-
data.values.each {|v| add_prod_datum(:EmbSubjectOrObject, v)}
|
1168
|
-
end
|
1169
|
-
|
1170
1154
|
# [110] Expression ::= ConditionalOrExpression
|
1171
1155
|
production(:Expression) do |input, data, callback|
|
1172
1156
|
add_prod_datum(:Expression, data[:Expression])
|
@@ -1306,7 +1290,7 @@ module SPARQL::Grammar
|
|
1306
1290
|
# | iriOrFunction | RDFLiteral
|
1307
1291
|
# | NumericLiteral | BooleanLiteral
|
1308
1292
|
# | Var
|
1309
|
-
# |
|
1293
|
+
# | ExprQuotedTP
|
1310
1294
|
production(:PrimaryExpression) do |input, data, callback|
|
1311
1295
|
if data[:Expression]
|
1312
1296
|
add_prod_datum(:Expression, data[:Expression])
|
@@ -1453,7 +1437,7 @@ module SPARQL::Grammar
|
|
1453
1437
|
production(:iriOrFunction) do |input, data, callback|
|
1454
1438
|
if data.has_key?(:ArgList)
|
1455
1439
|
# Function is (func arg1 arg2 ...)
|
1456
|
-
add_prod_data(:Function,
|
1440
|
+
add_prod_data(:Function, SPARQL::Algebra::Operator::FunctionCall.new(data[:iri], *data[:ArgList]))
|
1457
1441
|
else
|
1458
1442
|
input[:iri] = data[:iri]
|
1459
1443
|
end
|
@@ -1492,15 +1476,38 @@ module SPARQL::Grammar
|
|
1492
1476
|
add_prod_datum(:UnaryExpression, data[:UnaryExpression])
|
1493
1477
|
end
|
1494
1478
|
|
1495
|
-
# [
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1479
|
+
# [174] QuotedTP ::= '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>'
|
1480
|
+
production(:QuotedTP) do |input, data, callback|
|
1481
|
+
subject, object = data[:qtSubjectOrObject]
|
1482
|
+
predicate = data[:Verb]
|
1483
|
+
add_pattern(:QuotedTP,
|
1484
|
+
subject: subject,
|
1485
|
+
predicate: predicate,
|
1486
|
+
object: object)
|
1487
|
+
end
|
1502
1488
|
|
1503
|
-
# [
|
1489
|
+
# [175] QuotedTriple ::= '<<' DataValueTerm (iri | 'a') DataValueTerm '>>'
|
1490
|
+
production(:QuotedTriple) do |input, data, callback|
|
1491
|
+
subject, object = data[:DataValueTerm]
|
1492
|
+
predicate = data[:iri]
|
1493
|
+
add_pattern(:QuotedTriple,
|
1494
|
+
subject: subject,
|
1495
|
+
predicate: predicate,
|
1496
|
+
object: object)
|
1497
|
+
end
|
1498
|
+
|
1499
|
+
# [176] qtSubjectOrObject ::= Var | BlankNode | iri | RDFLiteral
|
1500
|
+
# | NumericLiteral | BooleanLiteral | QuotedTP
|
1501
|
+
production(:qtSubjectOrObject) do |input, data, callback|
|
1502
|
+
data.values.each {|v| add_prod_datum(:qtSubjectOrObject, v)}
|
1503
|
+
end
|
1504
|
+
|
1505
|
+
# [177] DataValueTerm ::= iri | RDFLiteral | NumericLiteral | BooleanLiteral | QuotedTriple
|
1506
|
+
production(:DataValueTerm) do |input, data, callback|
|
1507
|
+
add_prod_datum :DataValueTerm, data.values.first
|
1508
|
+
end
|
1509
|
+
|
1510
|
+
# [180] AnnotationPatternPath ::= '{|' PropertyListPathNotEmpty '|}'
|
1504
1511
|
start_production(:AnnotationPatternPath) do |input, data, callback|
|
1505
1512
|
data[:TriplesNode] = input[:TriplesNode]
|
1506
1513
|
end
|
@@ -1514,21 +1521,21 @@ module SPARQL::Grammar
|
|
1514
1521
|
end
|
1515
1522
|
end
|
1516
1523
|
|
1517
|
-
# [
|
1518
|
-
production(:
|
1519
|
-
subject, object = data[:
|
1520
|
-
predicate = data[:
|
1521
|
-
add_pattern(:
|
1524
|
+
# [181] ExprQuotedTP ::= '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>'
|
1525
|
+
production(:ExprQuotedTP) do |input, data, callback|
|
1526
|
+
subject, object = data[:ExprVarOrTerm]
|
1527
|
+
predicate = data[:Verb]
|
1528
|
+
add_pattern(:ExprQuotedTP,
|
1522
1529
|
subject: subject,
|
1523
1530
|
predicate: predicate,
|
1524
1531
|
object: object)
|
1525
1532
|
end
|
1526
1533
|
|
1527
|
-
# [
|
1528
|
-
production(:
|
1529
|
-
add_prod_datum
|
1534
|
+
# [182] ExprVarOrTerm ::= iri | RDFLiteral | NumericLiteral | BooleanLiteral | Var | ExprQuotedTP
|
1535
|
+
production(:ExprVarOrTerm) do |input, data, callback|
|
1536
|
+
data.values.each {|v| add_prod_datum(:ExprVarOrTerm, v)}
|
1530
1537
|
end
|
1531
|
-
|
1538
|
+
|
1532
1539
|
##
|
1533
1540
|
# Initializes a new parser instance.
|
1534
1541
|
#
|
@@ -1805,8 +1812,8 @@ module SPARQL::Grammar
|
|
1805
1812
|
value = RDF::URI(value)
|
1806
1813
|
if base_uri && value.relative?
|
1807
1814
|
u = base_uri.join(value)
|
1808
|
-
u.lexical = "<#{value}>" unless resolve_iris?
|
1809
|
-
u
|
1815
|
+
#u.lexical = "<#{value}>" unless resolve_iris?
|
1816
|
+
#u
|
1810
1817
|
else
|
1811
1818
|
value
|
1812
1819
|
end
|
@@ -1818,8 +1825,8 @@ module SPARQL::Grammar
|
|
1818
1825
|
debug {"ns(#{prefix.inspect}): base: '#{base}', suffix: '#{suffix}'"}
|
1819
1826
|
iri = iri(base + suffix.to_s)
|
1820
1827
|
# Cause URI to be serialized as a lexical
|
1821
|
-
iri.lexical = "#{prefix}:#{suffix}" unless resolve_iris?
|
1822
|
-
iri
|
1828
|
+
#iri.lexical = "#{prefix}:#{suffix}" unless resolve_iris?
|
1829
|
+
#iri
|
1823
1830
|
end
|
1824
1831
|
|
1825
1832
|
# Create a literal
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sparql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1
|
4
|
+
version: 3.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Kellogg
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-01-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -17,48 +17,48 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '3.
|
20
|
+
version: '3.2'
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 3.
|
23
|
+
version: 3.2.3
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - "~>"
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: '3.
|
30
|
+
version: '3.2'
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
33
|
+
version: 3.2.3
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rdf-aggregate-repo
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '3.
|
40
|
+
version: '3.2'
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
47
|
+
version: '3.2'
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: ebnf
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '2.
|
54
|
+
version: '2.2'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '2.
|
61
|
+
version: '2.2'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: builder
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,81 +74,95 @@ dependencies:
|
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '3.2'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
77
|
+
name: logger
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
82
|
+
version: '1.4'
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '1.
|
89
|
+
version: '1.4'
|
90
90
|
- !ruby/object:Gem::Dependency
|
91
|
-
name:
|
91
|
+
name: sxp
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '1.2'
|
97
97
|
- - ">="
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version:
|
99
|
+
version: 1.2.1
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
102
|
version_requirements: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
104
|
- - "~>"
|
105
105
|
- !ruby/object:Gem::Version
|
106
|
-
version: '
|
106
|
+
version: '1.2'
|
107
107
|
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
109
|
+
version: 1.2.1
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: sparql-client
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '3.2'
|
117
|
+
type: :runtime
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '3.2'
|
110
124
|
- !ruby/object:Gem::Dependency
|
111
125
|
name: rdf-xsd
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|
113
127
|
requirements:
|
114
128
|
- - "~>"
|
115
129
|
- !ruby/object:Gem::Version
|
116
|
-
version: '3.
|
130
|
+
version: '3.2'
|
117
131
|
type: :runtime
|
118
132
|
prerelease: false
|
119
133
|
version_requirements: !ruby/object:Gem::Requirement
|
120
134
|
requirements:
|
121
135
|
- - "~>"
|
122
136
|
- !ruby/object:Gem::Version
|
123
|
-
version: '3.
|
137
|
+
version: '3.2'
|
124
138
|
- !ruby/object:Gem::Dependency
|
125
139
|
name: sinatra
|
126
140
|
requirement: !ruby/object:Gem::Requirement
|
127
141
|
requirements:
|
128
142
|
- - "~>"
|
129
143
|
- !ruby/object:Gem::Version
|
130
|
-
version: '2.
|
144
|
+
version: '2.1'
|
131
145
|
type: :development
|
132
146
|
prerelease: false
|
133
147
|
version_requirements: !ruby/object:Gem::Requirement
|
134
148
|
requirements:
|
135
149
|
- - "~>"
|
136
150
|
- !ruby/object:Gem::Version
|
137
|
-
version: '2.
|
151
|
+
version: '2.1'
|
138
152
|
- !ruby/object:Gem::Dependency
|
139
153
|
name: rack
|
140
154
|
requirement: !ruby/object:Gem::Requirement
|
141
155
|
requirements:
|
142
156
|
- - "~>"
|
143
157
|
- !ruby/object:Gem::Version
|
144
|
-
version: '2.
|
158
|
+
version: '2.2'
|
145
159
|
type: :development
|
146
160
|
prerelease: false
|
147
161
|
version_requirements: !ruby/object:Gem::Requirement
|
148
162
|
requirements:
|
149
163
|
- - "~>"
|
150
164
|
- !ruby/object:Gem::Version
|
151
|
-
version: '2.
|
165
|
+
version: '2.2'
|
152
166
|
- !ruby/object:Gem::Dependency
|
153
167
|
name: rack-test
|
154
168
|
requirement: !ruby/object:Gem::Requirement
|
@@ -169,14 +183,14 @@ dependencies:
|
|
169
183
|
requirements:
|
170
184
|
- - "~>"
|
171
185
|
- !ruby/object:Gem::Version
|
172
|
-
version: '3.
|
186
|
+
version: '3.2'
|
173
187
|
type: :development
|
174
188
|
prerelease: false
|
175
189
|
version_requirements: !ruby/object:Gem::Requirement
|
176
190
|
requirements:
|
177
191
|
- - "~>"
|
178
192
|
- !ruby/object:Gem::Version
|
179
|
-
version: '3.
|
193
|
+
version: '3.2'
|
180
194
|
- !ruby/object:Gem::Dependency
|
181
195
|
name: linkeddata
|
182
196
|
requirement: !ruby/object:Gem::Requirement
|
@@ -297,6 +311,7 @@ files:
|
|
297
311
|
- lib/sparql/algebra/operator/extend.rb
|
298
312
|
- lib/sparql/algebra/operator/filter.rb
|
299
313
|
- lib/sparql/algebra/operator/floor.rb
|
314
|
+
- lib/sparql/algebra/operator/function_call.rb
|
300
315
|
- lib/sparql/algebra/operator/graph.rb
|
301
316
|
- lib/sparql/algebra/operator/greater_than.rb
|
302
317
|
- lib/sparql/algebra/operator/greater_than_or_equal.rb
|
@@ -379,7 +394,6 @@ files:
|
|
379
394
|
- lib/sparql/algebra/operator/sum.rb
|
380
395
|
- lib/sparql/algebra/operator/table.rb
|
381
396
|
- lib/sparql/algebra/operator/timezone.rb
|
382
|
-
- lib/sparql/algebra/operator/triple.rb
|
383
397
|
- lib/sparql/algebra/operator/tz.rb
|
384
398
|
- lib/sparql/algebra/operator/ucase.rb
|
385
399
|
- lib/sparql/algebra/operator/union.rb
|
@@ -411,14 +425,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
411
425
|
requirements:
|
412
426
|
- - ">="
|
413
427
|
- !ruby/object:Gem::Version
|
414
|
-
version: '2.
|
428
|
+
version: '2.6'
|
415
429
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
416
430
|
requirements:
|
417
431
|
- - ">="
|
418
432
|
- !ruby/object:Gem::Version
|
419
433
|
version: '0'
|
420
434
|
requirements: []
|
421
|
-
rubygems_version: 3.
|
435
|
+
rubygems_version: 3.3.3
|
422
436
|
signing_key:
|
423
437
|
specification_version: 4
|
424
438
|
summary: SPARQL Query and Update library for Ruby.
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module SPARQL; module Algebra
|
2
|
-
class Operator
|
3
|
-
##
|
4
|
-
# The SPARQL `triple` operator.
|
5
|
-
#
|
6
|
-
# If the 3-tuple (term1, term2, term3) is an RDF-star triple, the function returns this triple. If the 3-tuple is not an RDF-star triple, then the function raises an error.
|
7
|
-
#
|
8
|
-
# @see https://w3c.github.io/rdf-star/rdf-star-cg-spec.html#triple
|
9
|
-
class Triple < Operator::Ternary
|
10
|
-
include Evaluatable
|
11
|
-
|
12
|
-
NAME = :triple
|
13
|
-
|
14
|
-
##
|
15
|
-
# @param [RDF::Term] subject
|
16
|
-
# @param [RDF::Term] predicate
|
17
|
-
# @param [RDF::Term] object
|
18
|
-
# @return [RDF::URI]
|
19
|
-
# @raise [TypeError] if the operand is not a simple literal
|
20
|
-
def apply(subject, predicate, object)
|
21
|
-
triple = RDF::Statement(subject, predicate, object)
|
22
|
-
raise TypeError, "valid components, but got #{triple.inspect}" unless triple.valid?
|
23
|
-
triple
|
24
|
-
end
|
25
|
-
end # Triple
|
26
|
-
end # Operator
|
27
|
-
end; end # SPARQL::Algebra
|