From: <tr...@do...> - 2014-05-20 07:18:33
|
<p>A new comment has been added to the following issue.</p> <table border="0"> <tr> <td width="90px" valign="top"><b>Title:</b></td> <td>SparqlQueryParser produces invalid FILTER(NOT EXISTS ..) expression from valid input.</td> </tr> <tr> <td><b>Project:</b></td> <td>Core Library (dotNetRDF.dll)</td> </tr> <tr> <td><b>Created By:</b></td> <td>Rob Vesse</td> </tr> <tr> <td><b>Date:</b></td> <td>2014-05-20 08:17 AM</td> </tr> <tr> <td><b>Comment:</b></td> </tr> <tr> <td colspan="2"><p> You just have to keep going a few more productions:</p> <table style="border-style: solid; border-color: rgb(170, 170, 170); border-spacing: 0px; border-collapse: collapse; color: rgb(0, 0, 0); font-family: sans-serif; font-size: medium;"> <tbody style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"> <tr style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); border-top-style: solid; border-top-width: 1px;" valign="baseline"> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">[115] </code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a id="rNumericExpression" name="rNumericExpression" style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">NumericExpression</a></code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> ::= </td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a href="http://www.w3.org/TR/sparql11-query/#rAdditiveExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">AdditiveExpression</a></code></td> </tr> <tr style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); border-top-style: solid; border-top-width: 1px;" valign="baseline"> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">[116] </code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a id="rAdditiveExpression" name="rAdditiveExpression" style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">AdditiveExpression</a></code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> ::= </td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a href="http://www.w3.org/TR/sparql11-query/#rMultiplicativeExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">MultiplicativeExpression</a> ( <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'+'</span> <a href="http://www.w3.org/TR/sparql11-query/#rMultiplicativeExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">MultiplicativeExpression</a> | <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'-'</span> <a href="http://www.w3.org/TR/sparql11-query/#rMultiplicativeExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">MultiplicativeExpression</a> | ( <a href="http://www.w3.org/TR/sparql11-query/#rNumericLiteralPositive" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">NumericLiteralPositive</a> | <a href="http://www.w3.org/TR/sparql11-query/#rNumericLiteralNegative" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">NumericLiteralNegative</a> ) ( ( <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'*'</span> <a href="http://www.w3.org/TR/sparql11-query/#rUnaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">UnaryExpression</a> ) | ( <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'/'</span><a href="http://www.w3.org/TR/sparql11-query/#rUnaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">UnaryExpression</a> ) )* )*</code></td> </tr> <tr style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); border-top-style: solid; border-top-width: 1px;" valign="baseline"> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">[117] </code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a id="rMultiplicativeExpression" name="rMultiplicativeExpression" style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">MultiplicativeExpression</a></code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> ::= </td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a href="http://www.w3.org/TR/sparql11-query/#rUnaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">UnaryExpression</a> ( <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'*'</span> <a href="http://www.w3.org/TR/sparql11-query/#rUnaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">UnaryExpression</a> | <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'/'</span> <a href="http://www.w3.org/TR/sparql11-query/#rUnaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">UnaryExpression</a> )*</code></td> </tr> <tr style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); border-top-style: solid; border-top-width: 1px;" valign="baseline"> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">[118] </code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a id="rUnaryExpression" name="rUnaryExpression" style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">UnaryExpression</a></code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> ::= </td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"> <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'!'</span> <a href="http://www.w3.org/TR/sparql11-query/#rPrimaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">PrimaryExpression</a> <br style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);" /> | <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'+'</span> <a href="http://www.w3.org/TR/sparql11-query/#rPrimaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">PrimaryExpression</a> <br style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);" /> | <span class="token" style="color: rgb(63, 63, 95); border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">'-'</span> <a href="http://www.w3.org/TR/sparql11-query/#rPrimaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">PrimaryExpression</a> <br style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);" /> | <a href="http://www.w3.org/TR/sparql11-query/#rPrimaryExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">PrimaryExpression</a></code></td> </tr> <tr style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); border-top-style: solid; border-top-width: 1px;" valign="baseline"> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">[119] </code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a id="rPrimaryExpression" name="rPrimaryExpression" style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);">PrimaryExpression</a></code></td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> ::= </td> <td style="border-style: solid; border-right-width: 0px; border-left-width: 0px; border-color: rgb(170, 170, 170); padding: 3px; font-size: 14px;"> <code style="border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170);"><a href="http://www.w3.org/TR/sparql11-query/#rBrackettedExpression" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">BrackettedExpression</a> | <a href="http://www.w3.org/TR/sparql11-query/#rBuiltInCall" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">BuiltInCall</a> | <a href="http://www.w3.org/TR/sparql11-query/#ririOrFunction" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">iriOrFunction</a> | <a href="http://www.w3.org/TR/sparql11-query/#rRDFLiteral" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">RDFLiteral</a> | <a href="http://www.w3.org/TR/sparql11-query/#rNumericLiteral" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">NumericLiteral</a> | <a href="http://www.w3.org/TR/sparql11-query/#rBooleanLiteral" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">BooleanLiteral</a> | <a href="http://www.w3.org/TR/sparql11-query/#rVar" style="color: rgb(102, 0, 153); background-color: transparent; border-left-width: 0px; border-right-width: 0px; border-color: rgb(170, 170, 170); background-position: initial initial; background-repeat: initial initial;">Var</a></code></td> </tr> </tbody> </table> <p> A RelationalExpression contains a NumericExpression which eventually boils down to a PrimaryExpression which can be a BuiltInCall</p></td> </tr> </table> <p> More information on this issue can be found at <a href="http://www.dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=413" target="_blank">http://www.dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=413</a></p> <p style="text-align:center;font-size:8pt;padding:5px;"> If you no longer wish to receive notifications, please visit <a href="http://www.dotnetrdf.org/tracker/Account/UserProfile.aspx" target="_blank">your profile</a> and change your notifications options. </p> |