Class BaseMultiset
Abstract Base Class for representing Multisets.
Inherited Members
Namespace: VDS.RDF.Query.Algebra
Assembly: dotNetRdf.dll
Syntax
public abstract class BaseMultiset
Constructors
| Edit this page View SourceBaseMultiset(bool)
Create a new multiset.
Declaration
public BaseMultiset(bool usePLinqEvaluation = true)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | usePLinqEvaluation | If true, then LINQ parallel operators will be used when evaluating set operations using this multiset. |
Fields
| Edit this page View Source_orderedIDs
List of IDs that is used to return the Sets in order if the Multiset has been sorted.
Declaration
protected List<int> _orderedIDs
Field Value
| Type | Description |
|---|---|
| List<int> |
Properties
| Edit this page View SourceCount
Gets the Count of Sets in the Multiset.
Declaration
public virtual int Count { get; }
Property Value
| Type | Description |
|---|---|
| int |
IsEmpty
Returns whether the Multiset is Empty.
Declaration
public abstract bool IsEmpty { get; }
Property Value
| Type | Description |
|---|---|
| bool |
this[int]
Retrieves the Set with the given ID.
Declaration
public abstract ISet this[int id] { get; }
Parameters
| Type | Name | Description |
|---|---|---|
| int | id | ID. |
Property Value
| Type | Description |
|---|---|
| ISet |
SetIDs
Gets the IDs of Sets in the Multiset.
Declaration
public abstract IEnumerable<int> SetIDs { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<int> |
Sets
Gets the Sets in the Multiset.
Declaration
public abstract IEnumerable<ISet> Sets { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<ISet> |
UsePLinqEvaluation
Get whether this multiset will use LINQ parallel operators for evaluating set operations.
Declaration
public bool UsePLinqEvaluation { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Variables
Gets the Variables in the Multiset.
Declaration
public abstract IEnumerable<string> Variables { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<string> |
VirtualCount
The number of results that would be returned without any limit clause to a query or -1 if not supported. Defaults to the same value as the Count member.
Declaration
public int VirtualCount { get; }
Property Value
| Type | Description |
|---|---|
| int |
Methods
| Edit this page View SourceAdd(ISet)
Adds a Set to the Multiset.
Declaration
public abstract void Add(ISet s)
Parameters
| Type | Name | Description |
|---|---|---|
| ISet | s | Set to add. |
AddVariable(string)
Adds a Variable to the Multiset.
Declaration
public abstract void AddVariable(string variable)
Parameters
| Type | Name | Description |
|---|---|---|
| string | variable | Variable. |
ContainsValue(string, INode)
Determines whether the Multiset contains the given Value for the given Variable.
Declaration
public abstract bool ContainsValue(string var, INode n)
Parameters
| Type | Name | Description |
|---|---|---|
| string | var | Variable. |
| INode | n | Value. |
Returns
| Type | Description |
|---|---|
| bool |
ContainsVariable(string)
Determines whether the Multiset contains the given Variable.
Declaration
public abstract bool ContainsVariable(string var)
Parameters
| Type | Name | Description |
|---|---|---|
| string | var | Variable. |
Returns
| Type | Description |
|---|---|
| bool |
ContainsVariables(IEnumerable<string>)
Determines whether the Multiset contains all of the given variables.
Declaration
public abstract bool ContainsVariables(IEnumerable<string> vars)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<string> | vars | Variables. |
Returns
| Type | Description |
|---|---|
| bool | True if all of the variables in |
ExistsJoin(BaseMultiset, bool)
Does an Exists Join of this Multiset to another Multiset where the Join is predicated on the existence/non-existence of a joinable solution on the RHS.
Declaration
public virtual BaseMultiset ExistsJoin(BaseMultiset other, bool mustExist)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | Other Multiset. |
| bool | mustExist | Whether a solution must exist in the Other Multiset for the join to be made. |
Returns
| Type | Description |
|---|---|
| BaseMultiset |
IsDisjointWith(BaseMultiset)
Determines whether the Multiset is disjoint with the given Multiset.
Declaration
public abstract bool IsDisjointWith(BaseMultiset other)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | Multiset. |
Returns
| Type | Description |
|---|---|
| bool |
Join(BaseMultiset)
Joins this Multiset to another Multiset.
Declaration
public virtual BaseMultiset Join(BaseMultiset other)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | Other Multiset. |
Returns
| Type | Description |
|---|---|
| BaseMultiset |
LeftJoin(BaseMultiset, ISparqlExpression, SparqlEvaluationContext, ISparqlExpressionProcessor<IValuedNode, SparqlEvaluationContext, int>)
Does a Left Join of this Multiset to another Multiset where the Join is predicated on the given Expression.
Declaration
public virtual BaseMultiset LeftJoin(BaseMultiset other, ISparqlExpression expr, SparqlEvaluationContext baseContext, ISparqlExpressionProcessor<IValuedNode, SparqlEvaluationContext, int> expressionProcessor)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | Other Multiset. |
| ISparqlExpression | expr | Expression. |
| SparqlEvaluationContext | baseContext | The base evaluation context providing access to the query evaluation options to use when evaluating the join. |
| ISparqlExpressionProcessor<IValuedNode, SparqlEvaluationContext, int> | expressionProcessor | The processor to use to evaluate |
Returns
| Type | Description |
|---|---|
| BaseMultiset |
Merge(BaseMultiset)
Does a merge of this multiset and another multiset, avoiding adding duplicate sets to this multiset.
Declaration
public virtual BaseMultiset Merge(BaseMultiset other)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | The multiset to be merged into this multiset. |
Returns
| Type | Description |
|---|---|
| BaseMultiset | This multiset. |
Remarks
The merge operation adds only sets from other that do not exist in this multiset.
MinusJoin(BaseMultiset)
Does a Minus Join of this Multiset to another Multiset where any joinable results are subtracted from this Multiset to give the resulting Multiset.
Declaration
public virtual BaseMultiset MinusJoin(BaseMultiset other)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | Other Multiset. |
Returns
| Type | Description |
|---|---|
| BaseMultiset |
Product(BaseMultiset)
Does a Product of this Multiset and another Multiset.
Declaration
public virtual BaseMultiset Product(BaseMultiset other)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | Other Multiset. |
Returns
| Type | Description |
|---|---|
| BaseMultiset |
Remove(int)
Removes a Set (by ID) from the Multiset.
Declaration
public abstract void Remove(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| int | id | ID. |
SetVariableOrder(IEnumerable<string>)
Sets the variable ordering for the multiset.
Declaration
public abstract void SetVariableOrder(IEnumerable<string> variables)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<string> | variables | Variable Ordering. |
Sort(IComparer<ISet>)
Sorts a Set based on the given Comparer.
Declaration
public virtual void Sort(IComparer<ISet> comparer)
Parameters
| Type | Name | Description |
|---|---|---|
| IComparer<ISet> | comparer | Comparer on Sets. |
ToString()
Gets the string representation of the multiset (intended for debugging only).
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string |
Overrides
| Edit this page View SourceTrim()
Trims the Multiset of Temporary Variables.
Declaration
public virtual void Trim()
Trim(string)
Trims the Multiset by removing all Values for the given Variable.
Declaration
public virtual void Trim(string variable)
Parameters
| Type | Name | Description |
|---|---|---|
| string | variable | Variable. |
Union(BaseMultiset)
Does a Union of this Multiset and another Multiset.
Declaration
public virtual BaseMultiset Union(BaseMultiset other)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseMultiset | other | Other Multiset. |
Returns
| Type | Description |
|---|---|
| BaseMultiset |