From 8da5c68f8ee98a2b17141a6cb30d2398bd5cda71 Mon Sep 17 00:00:00 2001 From: Jacopo Scazzosi Date: Thu, 23 Jan 2020 19:16:17 +0100 Subject: [PATCH] first, early draft --- index.html | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/index.html b/index.html index 77af449..9d6f13e 100644 --- a/index.html +++ b/index.html @@ -192,6 +192,64 @@

Source interface

+
+

Range interface

+
+      interface Range {
+        attribute gt? Term;
+        attribute gte? Term;
+        attribute lt? Term;
+        attribute lte? Term;
+      };
+      
+

+ A Range is an object that defines a gamut of values by declaring the + gamut's own inclusive or exclusive boundaries. +

+
+ +
+

RangeSource interface

+
+      [Constructor,
+       Constructor(ConstructorOptions options)]
+      interface RangeSource {
+        Stream<Quad> match(
+          optional Term|Range[]|Range? subject,
+          optional Term|Range[]|Range? predicate,
+          optional Term|Range[]|Range? object,
+          optional Term|Range[]|Range? graph
+        );
+        Boolean test(Term term, Range range);
+      };
+      
+

+ A RangeSource is a {{Source}} with added support for range-based + matching of quad Term(s). +

+

+ match() Returns a stream that processes all quads matching + the pattern, the latter defined using a mix of Term(s) and {{Range}}(s). + test() Returns `true` when the provided Term falls within + the specified {{Range}}. +

+

+ When matching using {{Range}} object, instances may elect to + test whether a given Term falls within a specified {{Range}} based on + the logical values of the Term and the {{Range}} boundaries as opposed + to their literal values. A numerical Term, such as a literal Term + having the `xsd:integer` datatype, might be tested against similarly + defined {{Range}} boundaries based on their position on the spectrum of + real numbers rather than based on the lexicographical ordering of their + literal forms. Instances may allows this behaviour to be + enabled/disabled via an appropriate option passed to their constructors. +

+

+ The presence of the `test()` method may be used to evaluate + whether a {{Source}} instance is also a {{RangeSource}}. +

+
+

Sink interface