Esempio n. 1
0
 /// <summary>
 /// Processes a Zero Length Path
 /// </summary>
 /// <param name="path">Path</param>
 /// <param name="context">SPARQL Evaluation Context</param>
 /// <returns></returns>
 public virtual BaseMultiset ProcessZeroLengthPath(ZeroLengthPath path, SparqlEvaluationContext context)
 {
     if (context == null)
     {
         context = this.GetContext();
     }
     return(path.Evaluate(context));
 }
Esempio n. 2
0
        /// <summary>
        /// Converts a Path into its Algebra Form
        /// </summary>
        /// <param name="context">Path Transformation Context</param>
        /// <returns></returns>
        public override ISparqlAlgebra ToAlgebra(PathTransformContext context)
        {
            PathTransformContext lhsContext = new PathTransformContext(context);
            PathTransformContext rhsContext = new PathTransformContext(context);
            ISparqlAlgebra       lhs        = new ZeroLengthPath(lhsContext.Subject, lhsContext.Object, this._path);
            ISparqlAlgebra       rhs        = this._path.ToAlgebra(rhsContext);

            return(new Distinct(new Union(lhs, rhs)));
        }
Esempio n. 3
0
 /// <summary>
 /// Processes a Zero Length Path.
 /// </summary>
 /// <param name="path">Path.</param>
 /// <param name="context">SPARQL Evaluation Context.</param>
 /// <returns></returns>
 public override BaseMultiset ProcessZeroLengthPath(ZeroLengthPath path, SparqlEvaluationContext context)
 {
     return(ExplainAndEvaluate <ZeroLengthPath>(path, context, base.ProcessZeroLengthPath));
 }