blob: 7ddf331dc2fc7bdc126f1a4883c762d2fa234f13 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_161) on Thu Apr 30 21:50:54 PDT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NCElement (Apache NLPCraft 0.5.0)</title>
<meta name="date" content="2020-04-30">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="NCElement (Apache NLPCraft 0.5.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":18,"i1":18,"i2":6,"i3":18,"i4":18,"i5":18,"i6":18,"i7":18,"i8":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <script src="../../../../resources/sh/scripts/XRegExp.js" type="text/javascript"></script> <script src="../../../../resources/sh/scripts/shCore.js" type="text/javascript"></script> <script src="../../../../resources/sh/scripts/shAutoloader.js" type="text/javascript"></script> <link href="../../../../resources/sh/styles/shCoreNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="../../../../resources/sh/styles/shThemeNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"> <script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NCElement.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Apache NLPCraft <span style="font-size: 80%">0.5.0</span></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/nlpcraft/model/NCIntent.html" title="annotation in org.apache.nlpcraft.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/nlpcraft/model/NCElement.html" target="_top">Frames</a></li>
<li><a href="NCElement.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.nlpcraft.model</div>
<h2 title="Interface NCElement" class="title">Interface NCElement</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">NCElement</span>
extends <a href="../../../../org/apache/nlpcraft/model/NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">Data model element.
<p>
Data model element defines an semantic entity that will be detected in the user input. A model element
typically is one or more individual words that have a consistent semantic meaning and typically denote
a real-world object, such as persons, locations, number, date and time, organizations, products, etc.
Such object can be abstract or have a physical existence.
<p>
Read full documentation in <a target=_ href="https://nlpcraft.apache.org/data-model.html">Data Model</a> section and review
<a target=_ href="https://github.com/apache/incubator-nlpcraft/tree/master/src/main/scala/org/apache/nlpcraft/examples/">examples</a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCCustomParser.html" title="interface in org.apache.nlpcraft.model"><code>NCCustomParser</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getDescription--">getDescription</a></span>()</code>
<div class="block">Gets optional element description.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getGroups--">getGroups</a></span>()</code>
<div class="block">Gets the list of groups this elements belongs to.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getId--">getId</a></span>()</code>
<div class="block">Gets unique ID of this element.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getMetadata--">getMetadata</a></span>()</code>
<div class="block">Gets optional user-defined element's metadata.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getParentId--">getParentId</a></span>()</code>
<div class="block">Gets optional ID of the immediate parent element.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getSynonyms--">getSynonyms</a></span>()</code>
<div class="block">Gets the list of synonyms by which this semantic element will be recognized by.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default <a href="../../../../org/apache/nlpcraft/model/NCValueLoader.html" title="interface in org.apache.nlpcraft.model">NCValueLoader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getValueLoader--">getValueLoader</a></span>()</code>
<div class="block">Gets optional dynamic value loader.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCValue.html" title="interface in org.apache.nlpcraft.model">NCValue</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#getValues--">getValues</a></span>()</code>
<div class="block">Gets optional map of <a href="../../../../org/apache/nlpcraft/model/NCValue.html" title="interface in org.apache.nlpcraft.model"><code>values</code></a> for this element.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCElement.html#isMemberOf-java.lang.String-">isMemberOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;grp)</code>
<div class="block">Shortcut method to test if this element is a member of given group.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.nlpcraft.model.NCMetadata">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.nlpcraft.model.<a href="../../../../org/apache/nlpcraft/model/NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a></h3>
<code><a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#meta-java.lang.String-">meta</a>, <a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#meta-java.lang.String-T-">meta</a>, <a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#metaOpt-java.lang.String-">metaOpt</a>, <a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#metax-java.lang.String-">metax</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
<div class="block">Gets unique ID of this element.
<p>
This unique ID should be human readable for simpler debugging and testing of the model.
Although element ID could be any arbitrary string it is highly recommended to have
element ID as a lower case string starting with some model prefix, followed by colon and
then the element's name. For example, some built-in NLPCraft IDs are: <code>nlpcraft:date</code>,
<code>nlpcraft:city</code>.
<p>
Few important notes:
<ul>
<li>Element IDs starting with <code>nlpcraft:</code> are reserved for built-in NLPCraft IDs.</li>
<li>
Element ID is an implicit synonym for that element.
Thus element ID can be used in the user input directly to clearly
disambiguate the element in the input sentence instead of relying on synonyms or other
ways of detection.
</li>
</ul>
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>id</code> property:
<pre class="brush: js, highlight: [3]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
]
}
]
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Unique ID of this element.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCToken.html#getId--"><code>NCToken.getId()</code></a></dd>
</dl>
</li>
</ul>
<a name="getGroups--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroups</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getGroups()</pre>
<div class="block">Gets the list of groups this elements belongs to.
<p>
Model element can belong to one or more groups. By default the element belongs to a single group whose group
ID is equal to its <a href="../../../../org/apache/nlpcraft/model/NCElement.html#getId--"><code>ID</code></a>. The proper grouping of the model elements is required for operation
of Short-Term-Memory (STM) in <a href="../../../../org/apache/nlpcraft/model/NCConversation.html" title="interface in org.apache.nlpcraft.model"><code>conversation</code></a> (if and when conversation
is used). Specifically, a token (i.e. found model element) that is part of the group set will override
other tokens from the same set or a its superset. In other words, tokens with a smaller group set
(more specific token) will override the tokens from a larger group set (more generic tokens).
<p>
Note that built-in tokens (including from 3rd party token providers) belong to a single group whose group
ID is equal to their IDs.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>groups</code> property:
<pre class="brush: js, highlight: [5]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"groups": ["group1", "group2"]
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
]
}
]
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of groups this element belongs to. By default - the model element belongs to one group
with ID equal to the element <a href="../../../../org/apache/nlpcraft/model/NCElement.html#getId--"><code>ID</code></a>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCConversation.html" title="interface in org.apache.nlpcraft.model"><code>NCConversation</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCElement.html#getId--"><code>getId()</code></a></dd>
</dl>
</li>
</ul>
<a name="isMemberOf-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMemberOf</h4>
<pre>default&nbsp;boolean&nbsp;isMemberOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;grp)</pre>
<div class="block">Shortcut method to test if this element is a member of given group. It is equivalent to:
<pre class="brush: java">
return getGroups().contains(grp);
</pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>grp</code> - Token group to test.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if this element belongs to the given group, <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a name="getMetadata--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetadata</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;getMetadata()</pre>
<div class="block">Gets optional user-defined element's metadata. When a <a href="../../../../org/apache/nlpcraft/model/NCToken.html" title="interface in org.apache.nlpcraft.model"><code>token</code></a> for this element
is detected in the input this metadata is merged into <a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#getMetadata--"><code>NCMetadata.getMetadata()</code></a> method returned metadata.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>description</code> property:
<pre class="brush: js, highlight: [8,9,10,11,12]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
],
"metadata": {
"str": "val1",
"num": 100,
"bool": false
}
}
]
</pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#getMetadata--">getMetadata</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/nlpcraft/model/NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Element's metadata or <code>null</code> if none provided. Default implementation return <code>null</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#meta-java.lang.String-"><code>NCMetadata.meta(String)</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#metaOpt-java.lang.String-"><code>NCMetadata.metaOpt(String)</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCMetadata.html#meta-java.lang.String-T-"><code>NCMetadata.meta(String, Object)</code></a></dd>
</dl>
</li>
</ul>
<a name="getDescription--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescription</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDescription()</pre>
<div class="block">Gets optional element description.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>description</code> property:
<pre class="brush: js, highlight: [4]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
]
}
]
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Optional element description. Default implementation returns <code>null</code>.</dd>
</dl>
</li>
</ul>
<a name="getValues--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValues</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCValue.html" title="interface in org.apache.nlpcraft.model">NCValue</a>&gt;&nbsp;getValues()</pre>
<div class="block">Gets optional map of <a href="../../../../org/apache/nlpcraft/model/NCValue.html" title="interface in org.apache.nlpcraft.model"><code>values</code></a> for this element.
<p>
Each element can generally be recognized either by one of its synonyms or values. Elements and their values
are analogous to types and instances of that type in programming languages. Each value
has a name and optional set of its own synonyms by which that value, and ultimately its element, can be
recognized by. Note that value name itself acts as an implicit synonym even when no additional synonyms added
for that value.
<p>
Consider this example. A model element <code>x:car</code> can have:
<ul>
<li>
Set of general synonyms:
<code>{transportation|transport|*} {vehicle|car|sedan|auto|automobile|suv|crossover|coupe|truck}</code>
</li>
<li>Set of values:
<ul>
<li><code>mercedes</code> with synonyms <code>(mercedes, mercedes-benz, mb, benz)</code></li>
<li><code>bmw</code> with synonyms <code>(bmw, bimmer)</code></li>
<li><code>chevrolet</code> with synonyms <code>(chevy, chevrolet)</code></li>
</ul>
</li>
</ul>
With that setup <code>x:car</code> element will be recognized by any of the following input sub-string:
<ul>
<li><code>transport car</code></li>
<li><code>benz</code></li>
<li><code>automobile</code></li>
<li><code>transport vehicle</code></li>
<li><code>sedan</code></li>
<li><code>chevy</code></li>
<li><code>bimmer</code></li>
<li><code>x:car</code></li>
</ul>
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>values</code> property:
<pre class="brush: js, highlight: [8,9,10,11,12,13]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
],
"values": [
{
"name": "name1",
"synonyms": ["syn1", "syn2"]
}
]
}
]
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of value's name and its synonyms or <code>null</code> if not defined.</dd>
</dl>
</li>
</ul>
<a name="getParentId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentId</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getParentId()</pre>
<div class="block">Gets optional ID of the immediate parent element. Parent ID allows model elements to form into hierarchy.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>parentId</code> property:
<pre class="brush: js, highlight: [5]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"parentId": "parent",
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
]
}
]
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Optional parent element ID, or <code>null</code> if not specified. Default implementation returns
<code>null</code>.</dd>
</dl>
</li>
</ul>
<a name="getSynonyms--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSynonyms</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getSynonyms()</pre>
<div class="block">Gets the list of synonyms by which this semantic element will be recognized by. Read more about
many different forms of synonyms in <a target=_ href="https://nlpcraft.apache.org/data-model.html">Data Model</a> section
and review <a target=_ href="https://github.com/apache/incubator-nlpcraft/tree/master/src/main/scala/org/apache/nlpcraft/examples/">examples</a>.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>synonyms</code> property:
<pre class="brush: js, highlight: [5,6,7]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
]
}
]
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of synonyms for this element. List is generally optional since element's ID acts
as an implicit synonym. Default implementation returns an empty list.</dd>
</dl>
</li>
</ul>
<a name="getValueLoader--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getValueLoader</h4>
<pre>default&nbsp;<a href="../../../../org/apache/nlpcraft/model/NCValueLoader.html" title="interface in org.apache.nlpcraft.model">NCValueLoader</a>&nbsp;getValueLoader()</pre>
<div class="block">Gets optional dynamic value loader. This loader will be used additionally to any
values defined in <a href="../../../../org/apache/nlpcraft/model/NCElement.html#getValues--"><code>getValues()</code></a> method. Default implementation returns <code>null</code>.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>valueLoader</code> property with value
of a fully qualified class name implementing <a href="../../../../org/apache/nlpcraft/model/NCValueLoader.html" title="interface in org.apache.nlpcraft.model"><code>NCValueLoader</code></a> interface. Note that
only one instance of the value loader will be created per model and given class name:
<pre class="brush: js, highlight: [14]">
"elements": [
{
"id": "phone:act",
"description": "Phone action.",
"synonyms": [
"{give|*} {call|phone|ring|dial|dial up|ping|contact}"
],
"values": [
{
"name": "name1",
"synonyms": ["syn1", "syn2"]
}
],
"valueLoader": "my.package.ValueLoader"
}
]
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Optional instance of dynamic value loader.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NCElement.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><span style="vertical-align: super">Apache NLPCraft <span style="font-size: 80%">0.5.0</span></span> <a style="vertical-align: super; margin-right: 10px" href="https://github.com/apache/incubator-nlpcraft" target="github"><i class="fa fa-github github-logo"></i></a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/tree/master/src/main/scala/org/apache/nlpcraft/examples" data-icon="octicon-eye" aria-label="NLPCraft Examples">Examples</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft" data-icon="octicon-star" aria-label="Star on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/fork" data-icon="octicon-repo-forked" aria-label="Fork on GitHub">Fork</a> <script type="text/javascript"> SyntaxHighlighter.defaults["auto-links"] = false; SyntaxHighlighter.defaults["tab-size"] = 2; SyntaxHighlighter.autoloader( 'java ../../../../resources/sh/scripts/shBrushJava.js', 'js jscript javascript ../../../../resources/sh/scripts/shBrushJScript.js', 'text plain ../../../../resources/sh/scripts/shBrushPlain.js', 'py python ../../../../resources/sh/scripts/shBrushPython.js', 'ruby rails ror rb ../../../../resources/sh/scripts/shBrushRuby.js', 'scala ../../../../resources/sh/scripts/shBrushScala.js', 'sql ../../../../resources/sh/scripts/shBrushSql.js', 'xml xhtml xslt html ../../../../resources/sh/scripts/shBrushXml.js' ); SyntaxHighlighter.all(); </script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/nlpcraft/model/NCIntent.html" title="annotation in org.apache.nlpcraft.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/nlpcraft/model/NCElement.html" target="_top">Frames</a></li>
<li><a href="NCElement.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><center> <br/> <span style="font-size: larger">Copyright &#169; 2020 Apache Software Foundation</span> <br/> <br/> <img src="https://www.apache.org/img/ASF20thAnniversary.jpg" height="64px"> </center></small></p>
</body>
</html>