Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
UnionPattern.cs
1using System.Collections.Generic;
2using System.Threading.Tasks;
4
6{
11 {
18 : base(Left, Right)
19 {
20 }
21
30 public override async Task<IEnumerable<Possibility>> Search(ISemanticCube Cube, Variables Variables,
31 IEnumerable<Possibility> ExistingMatches, SparqlQuery Query)
32 {
33 IEnumerable<Possibility> Matches1 = await this.Left.Search(Cube, Variables, ExistingMatches, Query);
34 IEnumerable<Possibility> Matches2 = await this.Right.Search(Cube, Variables, ExistingMatches, Query);
35
36 if (Matches1 is null)
37 return Matches2;
38 else if (Matches2 is null)
39 return Matches1;
40
41 if (!(Matches1 is LinkedList<Possibility> Result))
42 {
43 Result = new LinkedList<Possibility>();
44
45 foreach (Possibility P in Matches1)
46 Result.AddLast(P);
47 }
48
49 foreach (Possibility P in Matches2)
50 Result.AddLast(P);
51
52 return Result;
53 }
54 }
55}
UnionPattern(ISparqlPattern Left, ISparqlPattern Right)
Union of two patterns.
Definition: UnionPattern.cs:17
override async Task< IEnumerable< Possibility > > Search(ISemanticCube Cube, Variables Variables, IEnumerable< Possibility > ExistingMatches, SparqlQuery Query)
Searches for the pattern on information in a semantic cube.
Definition: UnionPattern.cs:30
Represents a possible solution during SPARQL evaluation.
Definition: Possibility.cs:13
Collection of variables.
Definition: Variables.cs:25
Interface for semantic cubes.
Task< IEnumerable< Possibility > > Search(ISemanticCube Cube, Variables Variables, IEnumerable< Possibility > ExistingMatches, SparqlQuery Query)
Searches for the pattern on information in a semantic cube.