本文整理汇总了C#中ISparqlExpression类的典型用法代码示例。如果您正苦于以下问题:C# ISparqlExpression类的具体用法?C# ISparqlExpression怎么用?C# ISparqlExpression使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ISparqlExpression类属于命名空间,在下文中一共展示了ISparqlExpression类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: CartesianFunction
/// <summary>
/// Creates a new 2D Cartesian Function
/// </summary>
/// <param name="x1">Expression for X Coordinate of 1st point</param>
/// <param name="y1">Expression for Y Coordinate of 1st point</param>
/// <param name="x2">Expression for X Coordinate of 2nd point</param>
/// <param name="y2">Expression for Y Coordinate of 2nd point</param>
public CartesianFunction(ISparqlExpression x1, ISparqlExpression y1, ISparqlExpression x2, ISparqlExpression y2)
{
this._x1 = x1;
this._y1 = y1;
this._x2 = x2;
this._y2 = y2;
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:14,代码来源:CartesianFunctions.cs
示例2: LeftJoin
/// <summary>
/// Left Joins the Multiset to another Multiset
/// </summary>
/// <param name="other">Other Multiset</param>
/// <param name="expr">Expression which the Join is predicated on</param>
/// <returns>The other Multiset</returns>
public override BaseMultiset LeftJoin(BaseMultiset other, ISparqlExpression expr)
{
//If Other is Null/Empty then the Join still results in Identity
if (other is NullMultiset) return this;
if (other.IsEmpty) return this;
return other;
}
开发者ID:jbunzel,项目名称:MvcRQ_git,代码行数:13,代码来源:IdentityMultiset.cs
示例3: BaseBinaryStringFunction
/// <summary>
/// Creates a new XPath Binary String function
/// </summary>
/// <param name="stringExpr">Expression</param>
/// <param name="argExpr">Argument</param>
/// <param name="allowNullArgument">Whether the argument may be null</param>
/// <param name="argumentTypeValidator">Type validator for the argument</param>
public BaseBinaryStringFunction(ISparqlExpression stringExpr, ISparqlExpression argExpr, bool allowNullArgument, Func<Uri, bool> argumentTypeValidator)
{
this._expr = stringExpr;
this._arg = argExpr;
this._allowNullArgument = allowNullArgument;
if (this._arg == null && !this._allowNullArgument) throw new RdfParseException("Cannot create a XPath String Function which takes a String and a single argument since the expression for the argument is null");
this._argumentTypeValidator = argumentTypeValidator;
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:15,代码来源:BaseBinaryStringFunction.cs
示例4: LeviathanCartesianFunction
/// <summary>
/// Creates a new 3D Cartesian Function
/// </summary>
/// <param name="x1">Expression for X Coordinate of 1st point</param>
/// <param name="y1">Expression for Y Coordinate of 1st point</param>
/// <param name="z1">Expression for Z Coordiante of 1st point</param>
/// <param name="x2">Expression for X Coordinate of 2nd point</param>
/// <param name="y2">Expression for Y Coordinate of 2nd point</param>
/// <param name="z2">Expression for Z Coordinate of 2nd point</param>
public LeviathanCartesianFunction(ISparqlExpression x1, ISparqlExpression y1, ISparqlExpression z1, ISparqlExpression x2, ISparqlExpression y2, ISparqlExpression z2)
{
this._x1 = x1;
this._y1 = y1;
this._z1 = z1;
this._x2 = x2;
this._y2 = y2;
this._z2 = z2;
this._3d = true;
}
开发者ID:almostEric,项目名称:DotNetRDF-4.0,代码行数:19,代码来源:LeviathanCartesianFunctions.cs
示例5: Extend
/// <summary>
/// Creates a new Extend operator
/// </summary>
/// <param name="pattern">Pattern</param>
/// <param name="expr">Expression</param>
/// <param name="var">Variable to bind to</param>
public Extend(ISparqlAlgebra pattern, ISparqlExpression expr, String var)
{
this._inner = pattern;
this._expr = expr;
this._var = var;
if (this._inner.Variables.Contains(this._var))
{
throw new RdfQueryException("Cannot create an Extend() operator which extends the results of the inner algebra with a variable that is already used in the inner algebra");
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:17,代码来源:Extend.cs
示例6: Transform
/// <summary>
/// Transforms an expression into a form where primary expressions may be substituted
/// </summary>
/// <param name="expr">Expression</param>
/// <returns></returns>
public ISparqlExpression Transform(ISparqlExpression expr)
{
if (expr.Type == SparqlExpressionType.Primary)
{
return this.SubstitutePrimaryExpression(expr);
}
else
{
return expr.Transform(this);
}
}
开发者ID:jbunzel,项目名称:MvcRQ_git,代码行数:16,代码来源:IExpressionTransformer.cs
示例7: TryCreateExpression
public bool TryCreateExpression(Uri u, List<ISparqlExpression> args, Dictionary<string, ISparqlExpression> scalarArguments, out ISparqlExpression expr)
{
//TODO: Add support for FullTextMatchFunction and FullTextSearchFunction
//switch (u.ToString())
//{
//}
expr = null;
return false;
}
开发者ID:jbunzel,项目名称:MvcRQ_git,代码行数:12,代码来源:FullTextFunctionFactory.cs
示例8: MaxAggregate
/// <summary>
/// Creates a new MAX Aggregate
/// </summary>
/// <param name="distinct">Distinct Modifier</param>
/// <param name="expr">Expression</param>
public MaxAggregate(ISparqlExpression distinct, ISparqlExpression expr)
: base(expr)
{
if (distinct is DistinctModifier)
{
this._distinct = true;
}
else
{
throw new RdfQueryException("The first argument to the MaxAggregate constructor must be of type DistinctModifierExpression");
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:17,代码来源:MaxAggregate.cs
示例9: ReplaceFunction
/// <summary>
/// Creates a new SPARQL Replace function
/// </summary>
/// <param name="text">Text Expression</param>
/// <param name="find">Search Expression</param>
/// <param name="replace">Replace Expression</param>
/// <param name="options">Options Expression</param>
public ReplaceFunction(ISparqlExpression text, ISparqlExpression find, ISparqlExpression replace, ISparqlExpression options)
{
this._textExpr = text;
//Get the Pattern
if (find is ConstantTerm)
{
//If the Pattern is a Node Expression Term then it is a fixed Pattern
IValuedNode n = find.Evaluate(null, 0);
if (n.NodeType == NodeType.Literal)
{
//Try to parse as a Regular Expression
try
{
string p = n.AsString();
Regex temp = new Regex(p);
//It's a Valid Pattern
this._fixedPattern = true;
this._find = p;
}
catch
{
//No catch actions
}
}
}
this._findExpr = find;
//Get the Replace
if (replace is ConstantTerm)
{
//If the Replace is a Node Expresison Term then it is a fixed Pattern
IValuedNode n = replace.Evaluate(null, 0);
if (n.NodeType == NodeType.Literal)
{
this._replace = n.AsString();
this._fixedReplace = true;
}
}
this._replaceExpr = replace;
//Get the Options
if (options != null)
{
if (options is ConstantTerm)
{
this.ConfigureOptions(options.Evaluate(null, 0), false);
}
this._optionExpr = options;
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:59,代码来源:ReplaceFunction.cs
示例10: SecantFunction
/// <summary>
/// Creates a new Leviathan Secant Function
/// </summary>
/// <param name="expr">Expression</param>
/// <param name="inverse">Whether this should be the inverse function</param>
public SecantFunction(ISparqlExpression expr, bool inverse)
: base(expr)
{
this._inverse = inverse;
if (this._inverse)
{
this._func = _arcsecant;
}
else
{
this._func = _secant;
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:18,代码来源:SecantFunction.cs
示例11: TangentFunction
/// <summary>
/// Creates a new Leviathan Tangent Function
/// </summary>
/// <param name="expr">Expression</param>
/// <param name="inverse">Whether this should be the inverse function</param>
public TangentFunction(ISparqlExpression expr, bool inverse)
: base(expr)
{
this._inverse = inverse;
if (this._inverse)
{
this._func = Math.Atan;
}
else
{
this._func = Math.Tan;
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:18,代码来源:TangentFunction.cs
示例12: CotangentFunction
/// <summary>
/// Creates a new Leviathan Cotangent Function
/// </summary>
/// <param name="expr">Expression</param>
/// <param name="inverse">Whether this should be the inverse function</param>
public CotangentFunction(ISparqlExpression expr, bool inverse)
: base(expr)
{
this._inverse = inverse;
if (this._inverse)
{
this._func = _arccotangent;
}
else
{
this._func = _cotangent;
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:18,代码来源:CotangentFunction.cs
示例13: SineFunction
/// <summary>
/// Creates a new Leviathan Sine Function
/// </summary>
/// <param name="expr">Expression</param>
/// <param name="inverse">Whether this should be the inverse function</param>
public SineFunction(ISparqlExpression expr, bool inverse)
: base(expr)
{
this._inverse = inverse;
if (this._inverse)
{
this._func = Math.Asin;
}
else
{
this._func = Math.Sin;
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:18,代码来源:SineFunction.cs
示例14: RegexFunction
/// <summary>
/// Creates a new Regex() function expression
/// </summary>
/// <param name="text">Text to apply the Regular Expression to</param>
/// <param name="pattern">Regular Expression Pattern</param>
/// <param name="options">Regular Expression Options</param>
public RegexFunction(ISparqlExpression text, ISparqlExpression pattern, ISparqlExpression options)
{
this._textExpr = text;
this._patternExpr = pattern;
//Get the Pattern
if (pattern is ConstantTerm)
{
//If the Pattern is a Node Expression Term then it is a fixed Pattern
INode n = pattern.Evaluate(null, 0);
if (n.NodeType == NodeType.Literal)
{
//Try to parse as a Regular Expression
try
{
string p = ((ILiteralNode)n).Value;
Regex temp = new Regex(p);
//It's a Valid Pattern
this._fixedPattern = true;
//this._useInStr = p.ToCharArray().All(c => Char.IsLetterOrDigit(c) || Char.IsWhiteSpace(c));
this._pattern = p;
}
catch
{
//No catch actions
}
}
}
//Get the Options
if (options != null)
{
this._optionExpr = options;
if (options is ConstantTerm)
{
this.ConfigureOptions(options.Evaluate(null, 0), false);
this._fixedOptions = true;
if (this._fixedPattern) this._regex = new Regex(this._pattern, this._options);
}
}
else
{
if (this._fixedPattern) this._regex = new Regex(this._pattern);
}
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:52,代码来源:RegexFunction.cs
示例15: TryCreateExpression
public bool TryCreateExpression(Uri u, List<ISparqlExpression> args, Dictionary<string, ISparqlExpression> scalarArguments, out ISparqlExpression expr)
{
// If any scalar arguments are present, it can't be a BrightstarDB function
if (scalarArguments.Count > 0)
{
expr = null;
return false;
}
var func = u.ToString();
if (func.StartsWith(BrightstarFunctionsNamespace))
{
func = func.Substring(BrightstarFunctionsNamespace.Length);
ISparqlExpression brightstarFunc = null;
switch (func)
{
case BitAnd:
if (args.Count == 2)
{
brightstarFunc = new BitAndFunc(args[0], args[1]);
}
else
{
throw new RdfParseException("Incorrect number of arguments for the BrightstarDB bit_and() function.");
}
break;
case BitOr:
if (args.Count == 2)
{
brightstarFunc = new BitOrFunc(args[0], args[1]);
}
else
{
throw new RdfParseException("Incorrect number of arguments for the BrightstarDB bit_and() function.");
}
break;
}
if (brightstarFunc != null)
{
expr = brightstarFunc;
return true;
}
}
expr = null;
return false;
}
开发者ID:GTuritto,项目名称:BrightstarDB,代码行数:46,代码来源:BrightstarFunctionFactory.cs
示例16: StringJoinFunction
/// <summary>
/// Creates a new ARQ String Join function
/// </summary>
/// <param name="sepExpr">Separator Expression</param>
/// <param name="expressions">Expressions to concatentate</param>
public StringJoinFunction(ISparqlExpression sepExpr, IEnumerable<ISparqlExpression> expressions)
{
if (sepExpr is ConstantTerm)
{
IValuedNode temp = sepExpr.Evaluate(null, 0);
if (temp.NodeType == NodeType.Literal)
{
this._separator = temp.AsString();
this._fixedSeparator = true;
}
else
{
this._sep = sepExpr;
}
}
else
{
this._sep = sepExpr;
}
this._exprs.AddRange(expressions);
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:26,代码来源:StringJoinFunction.cs
示例17: AllAggregate
/// <summary>
/// Creates a new All Aggregate
/// </summary>
/// <param name="expr">Expression</param>
/// <param name="distinct">Whether a DISTINCT modifier applies</param>
public AllAggregate(ISparqlExpression expr, bool distinct)
: base(expr, distinct)
{
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:9,代码来源:AllAggregate.cs
示例18: MultiplicationExpression
/// <summary>
/// Creates a new Multiplication Expression
/// </summary>
/// <param name="leftExpr">Left Hand Expression</param>
/// <param name="rightExpr">Right Hand Expression</param>
public MultiplicationExpression(ISparqlExpression leftExpr, ISparqlExpression rightExpr)
: base(leftExpr, rightExpr)
{
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:9,代码来源:MultiplicationExpression.cs
示例19: TryCreateExpression
/// <summary>
/// Tries to create an XPath Function expression if the function Uri correseponds to a supported XPath Function
/// </summary>
/// <param name="u">Function Uri</param>
/// <param name="args">Function Arguments</param>
/// <param name="scalarArgs">Scalar Arguments</param>
/// <param name="expr">Generated Expression</param>
/// <returns>Whether an expression was successfully generated</returns>
public bool TryCreateExpression(Uri u, List<ISparqlExpression> args, Dictionary<String,ISparqlExpression> scalarArgs, out ISparqlExpression expr)
{
//If any Scalar Arguments are present then can't possibly be an XPath Function
if (scalarArgs.Count > 0)
{
expr = null;
return false;
}
String func = u.ToString();
if (func.StartsWith(XPathFunctionFactory.XPathFunctionsNamespace))
{
func = func.Substring(XPathFunctionFactory.XPathFunctionsNamespace.Length);
ISparqlExpression xpathFunc = null;
switch (func)
{
case XPathFunctionFactory.Absolute:
if (args.Count == 1)
{
xpathFunc = new XPathAbsoluteFunction(args.First());
}
else
{
throw new RdfParseException("Incorrect number of arguments for the XPath abs() function");
}
break;
case XPathFunctionFactory.AdjustDateTimeToTimezone:
throw new NotSupportedException("XPath adjust-dateTime-to-timezone() function is not supported");
case XPathFunctionFactory.Boolean:
if (args.Count == 1)
{
xpathFunc = new XPathBooleanFunction(args.First());
}
else
{
throw new RdfParseException("Incorrect number of arguments for the XPath boolean() function");
}
throw new NotSupportedException("XPath boolean() function is not supported");
case XPathFunctionFactory.Ceiling:
if (args.Count == 1)
{
xpathFunc = new XPathCeilingFunction(args.First());
}
else
{
throw new RdfParseException("Incorrect number of arguments for the XPath ceiling() function");
}
break;
case XPathFunctionFactory.Compare:
if (args.Count == 2)
{
xpathFunc = new XPathCompareFunction(args.First(), args.Last());
}
else
{
throw new RdfParseException("Incorrect number of arguments for the XPath compare() function");
}
break;
case XPathFunctionFactory.Concat:
if (args.Count == 2)
{
xpathFunc = new XPathConcatFunction(args.First(), args.Last());
}
else if (args.Count > 2)
{
xpathFunc = new XPathConcatFunction(args);
}
else
{
throw new RdfParseException("Incorrect number of arguments for the XPath concat() function");
}
break;
case XPathFunctionFactory.Contains:
if (args.Count == 2)
{
xpathFunc = new XPathContainsFunction(args.First(), args.Last());
}
else
{
throw new RdfParseException("Incorrect number of arguments for the XPath contains() function");
}
break;
case XPathFunctionFactory.DayFromDateTime:
if (args.Count == 1)
{
xpathFunc = new XPathDayFromDateTimeFunction(args.First());
}
else
{
throw new RdfParseException("Incorrect number of arguments for the XPath day-from-dateTime() function");
}
//.........这里部分代码省略.........
开发者ID:almostEric,项目名称:DotNetRDF-4.0,代码行数:101,代码来源:XPathFunctionFactory.cs
示例20: SubstringAfterFunction
/// <summary>
/// Creates a new XPath Substring After function
/// </summary>
/// <param name="stringExpr">Expression</param>
/// <param name="findExpr">Search Expression</param>
public SubstringAfterFunction(ISparqlExpression stringExpr, ISparqlExpression findExpr)
: base(stringExpr, findExpr, false, XPathFunctionFactory.AcceptStringArguments)
{
}
开发者ID:jmahmud,项目名称:RDFer,代码行数:9,代码来源:SubstringAfterFunction.cs
注:本文中的ISparqlExpression类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论