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)
     }

Reply via email to