This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch NLPCRAFT-206
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-206 by this push:
new 3676230 WIP.
3676230 is described below
commit 36762304fd5d71da68632ae71db2d8bff7f542cd
Author: Aaron Radzinski <[email protected]>
AuthorDate: Sat Feb 20 14:55:53 2021 -0800
WIP.
---
.../org/apache/nlpcraft/model/NCMetadata.java | 2 +-
.../model/intent/impl/ver2/NCBaseDslCompiler.scala | 25 ++++++++++++----------
.../intent/impl/ver2/NCIntentDslCompiler.scala | 2 +-
.../model/intent/dsl/NCDslCompilerSpec.scala | 7 ++++++
4 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCMetadata.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCMetadata.java
index 6b0f319..0861959 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCMetadata.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCMetadata.java
@@ -33,7 +33,7 @@ public interface NCMetadata {
* @param map Map to convert to metadata.
* @return Newly created metadata container.
*/
- static NCMetadata convert(Map<String, Object> map) {
+ static NCMetadata apply(Map<String, Object> map) {
return () -> map;
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCBaseDslCompiler.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCBaseDslCompiler.scala
index 1f6ce2f..2b67f46 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCBaseDslCompiler.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCBaseDslCompiler.scala
@@ -667,14 +667,9 @@ trait NCBaseDslCompiler {
case "rand" ⇒ doRandom()
case "square" ⇒ doSquare()
- // Collection, statistical (incl. string) functions.
+ // Collection functions.
case "list" ⇒ doList()
case "map" ⇒ doMap()
- case "avg" ⇒
- case "max" ⇒ // Works for numerics as well.
- case "min" ⇒ // Works for numerics as well.
- case "stdev" ⇒
- case "sum" ⇒
case "get" ⇒
case "index" ⇒
case "contains" ⇒
@@ -696,19 +691,27 @@ trait NCBaseDslCompiler {
case "non_empty" ⇒
case "to_string" ⇒
+ // Statistical operations.
+ case "avg" ⇒
+ case "max" ⇒ // Works for numerics as well.
+ case "min" ⇒ // Works for numerics as well.
+ case "stdev" ⇒
+ case "sum" ⇒
+
// Date-time functions.
- case "year" ⇒ doYear()
- case "month" ⇒ doMonth()
- case "day_of_month" ⇒ doDayOfMonth()
+ case "year" ⇒ doYear() // 2021.
+ case "month" ⇒ doMonth() // 1 ... 12.
+ case "day_of_month" ⇒ doDayOfMonth() // 1 ... 31.
case "day_of_week" ⇒ doDayOfWeek()
case "day_of_year" ⇒ doDayOfYear()
case "hour" ⇒
case "min" ⇒
case "sec" ⇒
- case "week" ⇒
+ case "week_of_month" ⇒
+ case "week_of_year" ⇒
case "quarter" ⇒
case "msec" ⇒
- case "now" ⇒
+ case "now" ⇒ // Epoc time.
case _ ⇒ errUnknownFun(fun)
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
index 459391b..497877e 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
@@ -138,7 +138,7 @@ object NCIntentDslCompiler extends LazyLogging {
override lazy val getToken: NCToken = tok
override lazy val getIntentMeta:
Optional[NCMetadata] =
if (termCtx.intentMeta != null)
-
Optional.of(NCMetadata.convert(termCtx.intentMeta.asJava))
+
Optional.of(NCMetadata.apply(termCtx.intentMeta.asJava))
else
Optional.empty()
}
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/dsl/NCDslCompilerSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/dsl/NCDslCompilerSpec.scala
index dba5baa..ce0b8f8 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/dsl/NCDslCompilerSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/dsl/NCDslCompilerSpec.scala
@@ -33,6 +33,13 @@ class NCDslCompilerSpec {
|intent=i1 flow="a[^0-9]b" meta={'a': true, 'b': {'arr': [1, 2,
3]}} term(t1)={2 == 2 && size(id()) != -25}
|""".stripMargin, "mdl.id"
)
+ val intent2 = NCIntentDslCompiler.compile(
+ """
+ |intent=i1 flow="a[^0-9]b" term(t1)={has(json("{'a': true, 'b':
{'arr': [1, 2, 3]}}"), map("k1", "v1", "k2", "v2"))}
+ |""".stripMargin, "mdl.id"
+ )
+
+ // val ret = intent2.terms.head.pred(_, _, _)
println(intent)
}