Пример #1
0
        /// <summary>
        /// Creates a new Property Function pattern
        /// </summary>
        /// <param name="origPatterns">Original Triple Patterns</param>
        /// <param name="lhsArgs">Subject Arguments</param>
        /// <param name="rhsArgs">Object Arguments</param>
        /// <param name="propertyFunction">Property Function</param>
        public PropertyFunctionPattern(IEnumerable <ITriplePattern> origPatterns, IEnumerable <PatternItem> lhsArgs, IEnumerable <PatternItem> rhsArgs, ISparqlPropertyFunction propertyFunction)
        {
            this._patterns = origPatterns.ToList();
            this._lhsArgs  = lhsArgs.ToList();
            this._rhsArgs  = rhsArgs.ToList();
            this._function = propertyFunction;

            foreach (PatternItem item in lhsArgs.Concat(rhsArgs))
            {
                if (item.VariableName != null && !this._vars.Contains(item.VariableName))
                {
                    this._vars.Add(item.VariableName);
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Creates a new Property function algebra.
 /// </summary>
 /// <param name="algebra">Inner algebra.</param>
 /// <param name="function">Property Function.</param>
 public PropertyFunction(ISparqlAlgebra algebra, ISparqlPropertyFunction function)
 {
     _function = function;
     _algebra  = algebra;
 }
Пример #3
0
 /// <summary>
 /// Creates a new Property Function pattern
 /// </summary>
 /// <param name="info">Function information</param>
 /// <param name="propertyFunction">Property Function</param>
 public PropertyFunctionPattern(PropertyFunctionInfo info, ISparqlPropertyFunction propertyFunction)
     : this(info.Patterns.OfType <ITriplePattern>(), info.SubjectArgs, info.ObjectArgs, propertyFunction)
 {
 }