blob: 40ca77fdafdd23b9be53ca1ac2133735bf3f7826 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Expr (Apache Jena ARQ)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: org.apache.jena.arq, package: org.apache.jena.sparql.expr, interface: Expr">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/Expr.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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">org.apache.jena.arq</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.jena.sparql.expr</a></div>
<h1 title="Interface Expr" class="title">Interface Expr</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="E_Add.html" title="class in org.apache.jena.sparql.expr">E_Add</a></code>, <code><a href="E_AdjustToTimezone.html" title="class in org.apache.jena.sparql.expr">E_AdjustToTimezone</a></code>, <code><a href="E_Bound.html" title="class in org.apache.jena.sparql.expr">E_Bound</a></code>, <code><a href="E_Call.html" title="class in org.apache.jena.sparql.expr">E_Call</a></code>, <code><a href="E_Cast.html" title="class in org.apache.jena.sparql.expr">E_Cast</a></code>, <code><a href="E_Coalesce.html" title="class in org.apache.jena.sparql.expr">E_Coalesce</a></code>, <code><a href="E_Conditional.html" title="class in org.apache.jena.sparql.expr">E_Conditional</a></code>, <code><a href="E_Datatype.html" title="class in org.apache.jena.sparql.expr">E_Datatype</a></code>, <code><a href="E_DateTimeDay.html" title="class in org.apache.jena.sparql.expr">E_DateTimeDay</a></code>, <code><a href="E_DateTimeHours.html" title="class in org.apache.jena.sparql.expr">E_DateTimeHours</a></code>, <code><a href="E_DateTimeMinutes.html" title="class in org.apache.jena.sparql.expr">E_DateTimeMinutes</a></code>, <code><a href="E_DateTimeMonth.html" title="class in org.apache.jena.sparql.expr">E_DateTimeMonth</a></code>, <code><a href="E_DateTimeSeconds.html" title="class in org.apache.jena.sparql.expr">E_DateTimeSeconds</a></code>, <code><a href="E_DateTimeTimezone.html" title="class in org.apache.jena.sparql.expr">E_DateTimeTimezone</a></code>, <code><a href="E_DateTimeTZ.html" title="class in org.apache.jena.sparql.expr">E_DateTimeTZ</a></code>, <code><a href="E_DateTimeYear.html" title="class in org.apache.jena.sparql.expr">E_DateTimeYear</a></code>, <code><a href="E_Divide.html" title="class in org.apache.jena.sparql.expr">E_Divide</a></code>, <code><a href="E_Equals.html" title="class in org.apache.jena.sparql.expr">E_Equals</a></code>, <code><a href="E_Exists.html" title="class in org.apache.jena.sparql.expr">E_Exists</a></code>, <code><a href="E_Function.html" title="class in org.apache.jena.sparql.expr">E_Function</a></code>, <code><a href="E_FunctionDynamic.html" title="class in org.apache.jena.sparql.expr">E_FunctionDynamic</a></code>, <code><a href="E_GreaterThan.html" title="class in org.apache.jena.sparql.expr">E_GreaterThan</a></code>, <code><a href="E_GreaterThanOrEqual.html" title="class in org.apache.jena.sparql.expr">E_GreaterThanOrEqual</a></code>, <code><a href="E_IRI.html" title="class in org.apache.jena.sparql.expr">E_IRI</a></code>, <code><a href="E_IRI2.html" title="class in org.apache.jena.sparql.expr">E_IRI2</a></code>, <code><a href="E_IsBlank.html" title="class in org.apache.jena.sparql.expr">E_IsBlank</a></code>, <code><a href="E_IsIRI.html" title="class in org.apache.jena.sparql.expr">E_IsIRI</a></code>, <code><a href="E_IsLiteral.html" title="class in org.apache.jena.sparql.expr">E_IsLiteral</a></code>, <code><a href="E_IsNumeric.html" title="class in org.apache.jena.sparql.expr">E_IsNumeric</a></code>, <code><a href="E_IsTriple.html" title="class in org.apache.jena.sparql.expr">E_IsTriple</a></code>, <code><a href="E_IsURI.html" title="class in org.apache.jena.sparql.expr">E_IsURI</a></code>, <code><a href="E_Lang.html" title="class in org.apache.jena.sparql.expr">E_Lang</a></code>, <code><a href="E_LangMatches.html" title="class in org.apache.jena.sparql.expr">E_LangMatches</a></code>, <code><a href="E_LessThan.html" title="class in org.apache.jena.sparql.expr">E_LessThan</a></code>, <code><a href="E_LessThanOrEqual.html" title="class in org.apache.jena.sparql.expr">E_LessThanOrEqual</a></code>, <code><a href="E_LogicalAnd.html" title="class in org.apache.jena.sparql.expr">E_LogicalAnd</a></code>, <code><a href="E_LogicalNot.html" title="class in org.apache.jena.sparql.expr">E_LogicalNot</a></code>, <code><a href="E_LogicalOr.html" title="class in org.apache.jena.sparql.expr">E_LogicalOr</a></code>, <code><a href="E_MD5.html" title="class in org.apache.jena.sparql.expr">E_MD5</a></code>, <code><a href="E_Multiply.html" title="class in org.apache.jena.sparql.expr">E_Multiply</a></code>, <code><a href="E_NotEquals.html" title="class in org.apache.jena.sparql.expr">E_NotEquals</a></code>, <code><a href="E_NotExists.html" title="class in org.apache.jena.sparql.expr">E_NotExists</a></code>, <code><a href="E_NotOneOf.html" title="class in org.apache.jena.sparql.expr">E_NotOneOf</a></code>, <code><a href="E_Now.html" title="class in org.apache.jena.sparql.expr">E_Now</a></code>, <code><a href="E_NumAbs.html" title="class in org.apache.jena.sparql.expr">E_NumAbs</a></code>, <code><a href="E_NumCeiling.html" title="class in org.apache.jena.sparql.expr">E_NumCeiling</a></code>, <code><a href="E_NumFloor.html" title="class in org.apache.jena.sparql.expr">E_NumFloor</a></code>, <code><a href="E_NumRound.html" title="class in org.apache.jena.sparql.expr">E_NumRound</a></code>, <code><a href="E_OneOf.html" title="class in org.apache.jena.sparql.expr">E_OneOf</a></code>, <code><a href="E_OneOfBase.html" title="class in org.apache.jena.sparql.expr">E_OneOfBase</a></code>, <code><a href="E_OpNumericIntegerDivide.html" title="class in org.apache.jena.sparql.expr">E_OpNumericIntegerDivide</a></code>, <code><a href="E_OpNumericMod.html" title="class in org.apache.jena.sparql.expr">E_OpNumericMod</a></code>, <code><a href="E_Random.html" title="class in org.apache.jena.sparql.expr">E_Random</a></code>, <code><a href="E_Regex.html" title="class in org.apache.jena.sparql.expr">E_Regex</a></code>, <code><a href="E_SameTerm.html" title="class in org.apache.jena.sparql.expr">E_SameTerm</a></code>, <code><a href="E_SHA1.html" title="class in org.apache.jena.sparql.expr">E_SHA1</a></code>, <code><a href="E_SHA224.html" title="class in org.apache.jena.sparql.expr">E_SHA224</a></code>, <code><a href="E_SHA256.html" title="class in org.apache.jena.sparql.expr">E_SHA256</a></code>, <code><a href="E_SHA384.html" title="class in org.apache.jena.sparql.expr">E_SHA384</a></code>, <code><a href="E_SHA512.html" title="class in org.apache.jena.sparql.expr">E_SHA512</a></code>, <code><a href="E_Str.html" title="class in org.apache.jena.sparql.expr">E_Str</a></code>, <code><a href="E_StrAfter.html" title="class in org.apache.jena.sparql.expr">E_StrAfter</a></code>, <code><a href="E_StrBefore.html" title="class in org.apache.jena.sparql.expr">E_StrBefore</a></code>, <code><a href="E_StrConcat.html" title="class in org.apache.jena.sparql.expr">E_StrConcat</a></code>, <code><a href="E_StrContains.html" title="class in org.apache.jena.sparql.expr">E_StrContains</a></code>, <code><a href="E_StrDatatype.html" title="class in org.apache.jena.sparql.expr">E_StrDatatype</a></code>, <code><a href="E_StrEncodeForURI.html" title="class in org.apache.jena.sparql.expr">E_StrEncodeForURI</a></code>, <code><a href="E_StrEndsWith.html" title="class in org.apache.jena.sparql.expr">E_StrEndsWith</a></code>, <code><a href="E_StrLang.html" title="class in org.apache.jena.sparql.expr">E_StrLang</a></code>, <code><a href="E_StrLength.html" title="class in org.apache.jena.sparql.expr">E_StrLength</a></code>, <code><a href="E_StrLowerCase.html" title="class in org.apache.jena.sparql.expr">E_StrLowerCase</a></code>, <code><a href="E_StrReplace.html" title="class in org.apache.jena.sparql.expr">E_StrReplace</a></code>, <code><a href="E_StrStartsWith.html" title="class in org.apache.jena.sparql.expr">E_StrStartsWith</a></code>, <code><a href="E_StrSubstring.html" title="class in org.apache.jena.sparql.expr">E_StrSubstring</a></code>, <code><a href="E_StrUpperCase.html" title="class in org.apache.jena.sparql.expr">E_StrUpperCase</a></code>, <code><a href="E_StrUUID.html" title="class in org.apache.jena.sparql.expr">E_StrUUID</a></code>, <code><a href="E_Subtract.html" title="class in org.apache.jena.sparql.expr">E_Subtract</a></code>, <code><a href="E_TripleFn.html" title="class in org.apache.jena.sparql.expr">E_TripleFn</a></code>, <code><a href="E_TripleObject.html" title="class in org.apache.jena.sparql.expr">E_TripleObject</a></code>, <code><a href="E_TriplePredicate.html" title="class in org.apache.jena.sparql.expr">E_TriplePredicate</a></code>, <code><a href="E_TripleSubject.html" title="class in org.apache.jena.sparql.expr">E_TripleSubject</a></code>, <code><a href="E_UnaryMinus.html" title="class in org.apache.jena.sparql.expr">E_UnaryMinus</a></code>, <code><a href="E_UnaryPlus.html" title="class in org.apache.jena.sparql.expr">E_UnaryPlus</a></code>, <code><a href="E_URI.html" title="class in org.apache.jena.sparql.expr">E_URI</a></code>, <code><a href="E_URI2.html" title="class in org.apache.jena.sparql.expr">E_URI2</a></code>, <code><a href="E_UUID.html" title="class in org.apache.jena.sparql.expr">E_UUID</a></code>, <code><a href="E_Version.html" title="class in org.apache.jena.sparql.expr">E_Version</a></code>, <code><a href="ExprAggregator.html" title="class in org.apache.jena.sparql.expr">ExprAggregator</a></code>, <code><a href="ExprDigest.html" title="class in org.apache.jena.sparql.expr">ExprDigest</a></code>, <code><a href="ExprFunction.html" title="class in org.apache.jena.sparql.expr">ExprFunction</a></code>, <code><a href="ExprFunction0.html" title="class in org.apache.jena.sparql.expr">ExprFunction0</a></code>, <code><a href="ExprFunction1.html" title="class in org.apache.jena.sparql.expr">ExprFunction1</a></code>, <code><a href="ExprFunction2.html" title="class in org.apache.jena.sparql.expr">ExprFunction2</a></code>, <code><a href="ExprFunction3.html" title="class in org.apache.jena.sparql.expr">ExprFunction3</a></code>, <code><a href="ExprFunctionN.html" title="class in org.apache.jena.sparql.expr">ExprFunctionN</a></code>, <code><a href="ExprFunctionOp.html" title="class in org.apache.jena.sparql.expr">ExprFunctionOp</a></code>, <code><a href="ExprNode.html" title="class in org.apache.jena.sparql.expr">ExprNode</a></code>, <code><a href="ExprNone.html" title="class in org.apache.jena.sparql.expr">ExprNone</a></code>, <code><a href="ExprSystem.html" title="class in org.apache.jena.sparql.expr">ExprSystem</a></code>, <code><a href="ExprTripleTerm.html" title="class in org.apache.jena.sparql.expr">ExprTripleTerm</a></code>, <code><a href="ExprVar.html" title="class in org.apache.jena.sparql.expr">ExprVar</a></code>, <code><a href="NodeValue.html" title="class in org.apache.jena.sparql.expr">NodeValue</a></code>, <code><a href="nodevalue/NodeValueBoolean.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueBoolean</a></code>, <code><a href="nodevalue/NodeValueDateTime.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueDateTime</a></code>, <code><a href="nodevalue/NodeValueDecimal.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueDecimal</a></code>, <code><a href="nodevalue/NodeValueDouble.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueDouble</a></code>, <code><a href="nodevalue/NodeValueDuration.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueDuration</a></code>, <code><a href="nodevalue/NodeValueFloat.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueFloat</a></code>, <code><a href="nodevalue/NodeValueInteger.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueInteger</a></code>, <code><a href="nodevalue/NodeValueLang.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueLang</a></code>, <code><a href="nodevalue/NodeValueNode.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueNode</a></code>, <code><a href="nodevalue/NodeValueSortKey.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueSortKey</a></code>, <code><a href="nodevalue/NodeValueString.html" title="class in org.apache.jena.sparql.expr.nodevalue">NodeValueString</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Expr</span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#CMP_EQUAL" class="member-name-link">CMP_EQUAL</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final int</code></div>
<div class="col-second odd-row-color"><code><a href="#CMP_GREATER" class="member-name-link">CMP_GREATER</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#CMP_INDETERMINATE" class="member-name-link">CMP_INDETERMINATE</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final int</code></div>
<div class="col-second odd-row-color"><code><a href="#CMP_LESS" class="member-name-link">CMP_LESS</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#CMP_UNEQUAL" class="member-name-link">CMP_UNEQUAL</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final <a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></code></div>
<div class="col-second odd-row-color"><code><a href="#NONE" class="member-name-link">NONE</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#applyNodeTransform(org.apache.jena.sparql.graph.NodeTransform)" class="member-name-link">applyNodeTransform</a><wbr>(<a href="../graph/NodeTransform.html" title="interface in org.apache.jena.sparql.graph">NodeTransform</a>&nbsp;transform)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Rewrite, applying a node-&gt;node transformation</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../core/Var.html" title="class in org.apache.jena.sparql.core">Var</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#asVar()" class="member-name-link">asVar</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Convert to a Var variable.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#copySubstitute(org.apache.jena.sparql.engine.binding.Binding)" class="member-name-link">copySubstitute</a><wbr>(<a href="../engine/binding/Binding.html" title="interface in org.apache.jena.sparql.engine.binding">Binding</a>&nbsp;binding)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Deep copy with substitution</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#deepCopy()" class="member-name-link">deepCopy</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Deep copy</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;other)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#equals(org.apache.jena.sparql.expr.Expr,boolean)" class="member-name-link">equals</a><wbr>(<a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a>&nbsp;other,
boolean&nbsp;bySyntax)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">General equality operation - consider this to be 'protected'</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#equalsBySyntax(org.apache.jena.sparql.expr.Expr)" class="member-name-link">equalsBySyntax</a><wbr>(<a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a>&nbsp;other)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="NodeValue.html" title="class in org.apache.jena.sparql.expr">NodeValue</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#eval(org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.function.FunctionEnv)" class="member-name-link">eval</a><wbr>(<a href="../engine/binding/Binding.html" title="interface in org.apache.jena.sparql.engine.binding">Binding</a>&nbsp;binding,
<a href="../function/FunctionEnv.html" title="interface in org.apache.jena.sparql.function">FunctionEnv</a>&nbsp;env)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Evaluate this expression against the binding</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="NodeValue.html" title="class in org.apache.jena.sparql.expr">NodeValue</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getConstant()" class="member-name-link">getConstant</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">NodeValue constant (returns null if not a constant)</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ExprVar.html" title="class in org.apache.jena.sparql.expr">ExprVar</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getExprVar()" class="member-name-link">getExprVar</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Variable (or null)</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ExprFunction.html" title="class in org.apache.jena.sparql.expr">ExprFunction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getFunction()" class="member-name-link">getFunction</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the function (returns null if not a function)</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getVarName()" class="member-name-link">getVarName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Variable name (returns null if not a variable)</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../core/Var.html" title="class in org.apache.jena.sparql.core">Var</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getVarsMentioned()" class="member-name-link">getVarsMentioned</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Variables used by this expression.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hashCode()" class="member-name-link">hashCode</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block"><code>Expr</code> are used in both syntax and algebra.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isConstant()" class="member-name-link">isConstant</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Answer whether this is a constant expression - false includes "don't know"
No constant folding so "false" from an expression that evaluates to a constant</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isFunction()" class="member-name-link">isFunction</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Answer whether this is a function.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isSatisfied(org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.function.FunctionEnv)" class="member-name-link">isSatisfied</a><wbr>(<a href="../engine/binding/Binding.html" title="interface in org.apache.jena.sparql.engine.binding">Binding</a>&nbsp;binding,
<a href="../function/FunctionEnv.html" title="interface in org.apache.jena.sparql.function">FunctionEnv</a>&nbsp;execCxt)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Test whether a Constraint is satisfied, given a set of bindings
Includes error propagation and Effective Boolean Value rules.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isVariable()" class="member-name-link">isVariable</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Answer whether this is a variable.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#visit(org.apache.jena.sparql.expr.ExprVisitor)" class="member-name-link">visit</a><wbr>(<a href="ExprVisitor.html" title="interface in org.apache.jena.sparql.expr">ExprVisitor</a>&nbsp;visitor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="NONE">
<h3>NONE</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></span>&nbsp;<span class="element-name">NONE</span></div>
</section>
</li>
<li>
<section class="detail" id="CMP_GREATER">
<h3>CMP_GREATER</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">CMP_GREATER</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.jena.sparql.expr.Expr.CMP_GREATER">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="CMP_EQUAL">
<h3>CMP_EQUAL</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">CMP_EQUAL</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.jena.sparql.expr.Expr.CMP_EQUAL">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="CMP_LESS">
<h3>CMP_LESS</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">CMP_LESS</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.jena.sparql.expr.Expr.CMP_LESS">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="CMP_UNEQUAL">
<h3>CMP_UNEQUAL</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">CMP_UNEQUAL</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.jena.sparql.expr.Expr.CMP_UNEQUAL">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="CMP_INDETERMINATE">
<h3>CMP_INDETERMINATE</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">CMP_INDETERMINATE</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.jena.sparql.expr.Expr.CMP_INDETERMINATE">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="isSatisfied(org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.function.FunctionEnv)">
<h3>isSatisfied</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isSatisfied</span><wbr><span class="parameters">(<a href="../engine/binding/Binding.html" title="interface in org.apache.jena.sparql.engine.binding">Binding</a>&nbsp;binding,
<a href="../function/FunctionEnv.html" title="interface in org.apache.jena.sparql.function">FunctionEnv</a>&nbsp;execCxt)</span></div>
<div class="block">Test whether a Constraint is satisfied, given a set of bindings
Includes error propagation and Effective Boolean Value rules.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>binding</code> - The bindings</dd>
<dd><code>execCxt</code> - FunctionEnv</dd>
<dt>Returns:</dt>
<dd>true or false</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getVarsMentioned()">
<h3>getVarsMentioned</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../core/Var.html" title="class in org.apache.jena.sparql.core">Var</a>&gt;</span>&nbsp;<span class="element-name">getVarsMentioned</span>()</div>
<div class="block">Variables used by this expression.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="ExprVars.html#getVarNamesMentioned(org.apache.jena.sparql.expr.Expr)"><code>ExprVars.getVarNamesMentioned(org.apache.jena.sparql.expr.Expr)</code></a></li>
<li><a href="ExprVars.html#getNonOpVarNamesMentioned(org.apache.jena.sparql.expr.Expr)"><code>ExprVars.getNonOpVarNamesMentioned(org.apache.jena.sparql.expr.Expr)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="eval(org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.function.FunctionEnv)">
<h3>eval</h3>
<div class="member-signature"><span class="return-type"><a href="NodeValue.html" title="class in org.apache.jena.sparql.expr">NodeValue</a></span>&nbsp;<span class="element-name">eval</span><wbr><span class="parameters">(<a href="../engine/binding/Binding.html" title="interface in org.apache.jena.sparql.engine.binding">Binding</a>&nbsp;binding,
<a href="../function/FunctionEnv.html" title="interface in org.apache.jena.sparql.function">FunctionEnv</a>&nbsp;env)</span></div>
<div class="block">Evaluate this expression against the binding</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>binding</code> - </dd>
<dd><code>env</code> - </dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="copySubstitute(org.apache.jena.sparql.engine.binding.Binding)">
<h3>copySubstitute</h3>
<div class="member-signature"><span class="return-type"><a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></span>&nbsp;<span class="element-name">copySubstitute</span><wbr><span class="parameters">(<a href="../engine/binding/Binding.html" title="interface in org.apache.jena.sparql.engine.binding">Binding</a>&nbsp;binding)</span></div>
<div class="block">Deep copy with substitution</div>
</section>
</li>
<li>
<section class="detail" id="applyNodeTransform(org.apache.jena.sparql.graph.NodeTransform)">
<h3>applyNodeTransform</h3>
<div class="member-signature"><span class="return-type"><a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></span>&nbsp;<span class="element-name">applyNodeTransform</span><wbr><span class="parameters">(<a href="../graph/NodeTransform.html" title="interface in org.apache.jena.sparql.graph">NodeTransform</a>&nbsp;transform)</span></div>
<div class="block">Rewrite, applying a node-&gt;node transformation</div>
</section>
</li>
<li>
<section class="detail" id="deepCopy()">
<h3>deepCopy</h3>
<div class="member-signature"><span class="return-type"><a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a></span>&nbsp;<span class="element-name">deepCopy</span>()</div>
<div class="block">Deep copy</div>
</section>
</li>
<li>
<section class="detail" id="isVariable()">
<h3>isVariable</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isVariable</span>()</div>
<div class="block">Answer whether this is a variable.</div>
</section>
</li>
<li>
<section class="detail" id="getVarName()">
<h3>getVarName</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getVarName</span>()</div>
<div class="block">Variable name (returns null if not a variable)</div>
</section>
</li>
<li>
<section class="detail" id="getExprVar()">
<h3>getExprVar</h3>
<div class="member-signature"><span class="return-type"><a href="ExprVar.html" title="class in org.apache.jena.sparql.expr">ExprVar</a></span>&nbsp;<span class="element-name">getExprVar</span>()</div>
<div class="block">Variable (or null)</div>
</section>
</li>
<li>
<section class="detail" id="asVar()">
<h3>asVar</h3>
<div class="member-signature"><span class="return-type"><a href="../core/Var.html" title="class in org.apache.jena.sparql.core">Var</a></span>&nbsp;<span class="element-name">asVar</span>()</div>
<div class="block">Convert to a Var variable.</div>
</section>
</li>
<li>
<section class="detail" id="isConstant()">
<h3>isConstant</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isConstant</span>()</div>
<div class="block">Answer whether this is a constant expression - false includes "don't know"
No constant folding so "false" from an expression that evaluates to a constant</div>
</section>
</li>
<li>
<section class="detail" id="getConstant()">
<h3>getConstant</h3>
<div class="member-signature"><span class="return-type"><a href="NodeValue.html" title="class in org.apache.jena.sparql.expr">NodeValue</a></span>&nbsp;<span class="element-name">getConstant</span>()</div>
<div class="block">NodeValue constant (returns null if not a constant)</div>
</section>
</li>
<li>
<section class="detail" id="isFunction()">
<h3>isFunction</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isFunction</span>()</div>
<div class="block">Answer whether this is a function.</div>
</section>
</li>
<li>
<section class="detail" id="getFunction()">
<h3>getFunction</h3>
<div class="member-signature"><span class="return-type"><a href="ExprFunction.html" title="class in org.apache.jena.sparql.expr">ExprFunction</a></span>&nbsp;<span class="element-name">getFunction</span>()</div>
<div class="block">Get the function (returns null if not a function)</div>
</section>
</li>
<li>
<section class="detail" id="visit(org.apache.jena.sparql.expr.ExprVisitor)">
<h3>visit</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">visit</span><wbr><span class="parameters">(<a href="ExprVisitor.html" title="interface in org.apache.jena.sparql.expr">ExprVisitor</a>&nbsp;visitor)</span></div>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block"><code>Expr</code> are used in both syntax and algebra. There is no syntax
to algebra translation step because the parser uses operator precedence
to build the right evaluation structure directly.
<p>
The exceptions to this are the <code>NOT EXISTS</code> and
<code>EXISTS</code> expressions which involve a query pattern. As a
result there are different ways in syntax to produce the same algebra
form.
<p>
Two <code>Expr</code> are considered equal if they are equal as algebra
expressions. <code>hashCode</code> and <code>equals</code> must implement
that.
<p>
There is also <code>equalsBySyntax</code>. Because two different syntax
forms can yield the same algebra, but two different algebra forms
must be different syntax, <code>equalsBySyntax</code> implies <code>equals</code>
(by algebra).
<p>
Hence, different <code>hashCode</code> =&gt; not <code>equalsBySyntax</code>.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;other)</span></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equalsBySyntax(org.apache.jena.sparql.expr.Expr)">
<h3>equalsBySyntax</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">equalsBySyntax</span><wbr><span class="parameters">(<a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a>&nbsp;other)</span></div>
</section>
</li>
<li>
<section class="detail" id="equals(org.apache.jena.sparql.expr.Expr,boolean)">
<h3>equals</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="Expr.html" title="interface in org.apache.jena.sparql.expr">Expr</a>&nbsp;other,
boolean&nbsp;bySyntax)</span></div>
<div class="block">General equality operation - consider this to be 'protected'</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Licensed under the Apache License, Version 2.0</small></p>
</footer>
</div>
</div>
</body>
</html>