Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
NeuroFeatureTokenizer.cs
1using System;
2using System.Threading.Tasks;
8
10{
15 {
16 private string definition = string.Empty;
17
22 {
23 }
24
30 public Grade Supports(Type Type)
31 {
32 if (Type == typeof(Token))
33 return Grade.Ok;
34 else
35 return Grade.NotAtAll;
36 }
37
43 public async Task Tokenize(object Value, TokenizationProcess Process)
44 {
45 if (Value is Token Token)
46 await Tokenize(Token, Process);
47 }
48
54 public static async Task Tokenize(Token Token, TokenizationProcess Process)
55 {
56 if (!(Token is null))
57 {
59 Process.DocumentIndexOffset++;
61 Process.DocumentIndexOffset++;
62
63 if (!string.IsNullOrEmpty(Token.Description))
64 {
66 string Text = await Doc.GeneratePlainText();
67
68 StringTokenizer.Tokenize(Text, Process);
69 }
70 }
71 }
72
77 public Task Prepare(string Definition)
78 {
79 this.definition = Definition;
80 return Task.CompletedTask;
81 }
82
88 public Task<object> Evaluate(object Instance)
89 {
90 if (Instance is Token Token)
91 {
92 switch (this.definition)
93 {
94 case "FriendlyName": return Task.FromResult<object>(Token.FriendlyName);
95 case "Category": return Task.FromResult<object>(Token.Category);
96 }
97 }
98 else if (Instance is GenericObject Obj)
99 {
100 if (Obj.TryGetFieldValue(this.definition, out object Obj2))
101 return Task.FromResult(Obj2);
102 }
103
104 return Task.FromResult<object>(null);
105 }
106 }
107}
Contains a markdown document. This markdown document class supports original markdown,...
async Task< string > GeneratePlainText()
Generates Plain Text from the markdown text.
static Task< MarkdownDocument > CreateAsync(string MarkdownText, params Type[] TransparentExceptionTypes)
Contains a markdown document. This markdown document class supports original markdown,...
Task Tokenize(object Value, TokenizationProcess Process)
Tokenizes an object.
Contains information about a tokenization process.
uint DocumentIndexOffset
Document Index Offset. Used to identify sequences of tokens in a document.
Generic object. Contains a sequence of properties.
string Category
A category for the token.
Definition: Token.cs:521
string FriendlyName
A friendly name for the token.
Definition: Token.cs:512
string Description
Description Markdown for the token.
Definition: Token.cs:531
Tokenizes (for full-text-search) a Neuro-Feature token.
async Task Tokenize(object Value, TokenizationProcess Process)
Tokenizes an object.
static async Task Tokenize(Token Token, TokenizationProcess Process)
Tokenizes a Neuro-Feature token.
Grade Supports(Type Type)
How well the tokenizer can tokenize objects of type Type .
Task< object > Evaluate(object Instance)
Evaluates the property evaluator, on an object instance.
NeuroFeatureTokenizer()
Tokenizes (for full-text-search) a Neuro-Feature token.
Task Prepare(string Definition)
Prepares the evaluator with its definition.
Interface for full-text-search tokenizers
Definition: ITokenizer.cs:12
Grade
Grade enumeration
Definition: Grade.cs:7