public void SparqlDateTimeEquality(String x, String y, bool equals) { IGraph g = new Graph(); INode dateTime1 = g.CreateLiteralNode(x, UriFactory.Create(XmlSpecsHelper.XmlSchemaDataTypeDateTime)); INode dateTime2 = g.CreateLiteralNode(y, UriFactory.Create(XmlSpecsHelper.XmlSchemaDataTypeDateTime)); if (equals) { Assert.IsTrue(SparqlSpecsHelper.DateTimeEquality(dateTime1, dateTime2)); Assert.IsTrue(SparqlSpecsHelper.DateTimeEquality(dateTime2, dateTime1)); Assert.IsTrue(SparqlSpecsHelper.Equality(dateTime1, dateTime2)); Assert.IsTrue(SparqlSpecsHelper.Equality(dateTime2, dateTime1)); Assert.IsFalse(SparqlSpecsHelper.Inequality(dateTime1, dateTime2)); Assert.IsFalse(SparqlSpecsHelper.Inequality(dateTime2, dateTime1)); } else { Assert.IsFalse(SparqlSpecsHelper.DateTimeEquality(dateTime1, dateTime2)); Assert.IsFalse(SparqlSpecsHelper.DateTimeEquality(dateTime2, dateTime1)); Assert.IsFalse(SparqlSpecsHelper.Equality(dateTime1, dateTime2)); Assert.IsFalse(SparqlSpecsHelper.Equality(dateTime2, dateTime1)); Assert.IsTrue(SparqlSpecsHelper.Inequality(dateTime1, dateTime2)); Assert.IsTrue(SparqlSpecsHelper.Inequality(dateTime2, dateTime1)); } }
/// <summary> /// Evaluates the expression. /// </summary> /// <param name="context">Evaluation Context.</param> /// <param name="bindingID">Binding ID.</param> /// <returns></returns> public override IValuedNode Evaluate(SparqlEvaluationContext context, int bindingID) { IValuedNode x = _leftExpr.Evaluate(context, bindingID); IValuedNode y = _rightExpr.Evaluate(context, bindingID); return(new BooleanNode(null, SparqlSpecsHelper.Inequality(x, y))); }
/// <summary> /// Computes the Effective Boolean Value of this Expression as evaluated for a given Binding /// </summary> /// <param name="context">Evaluation Context</param> /// <param name="bindingID">Binding ID</param> /// <returns></returns> public override bool EffectiveBooleanValue(SparqlEvaluationContext context, int bindingID) { INode x = this._leftExpr.Value(context, bindingID); INode y = this._rightExpr.Value(context, bindingID); return(SparqlSpecsHelper.Inequality(x, y)); }