Graph-Based Search Algorithm Consultation
- or -
Post a project like this4910
£300(approx. $376)
- Posted:
- Proposals: 3
- Remote
- #46021
- Awarded
Description
Experience Level: Expert
It is generic textual search engine.
It is an OODB (you can think of classes as tables and objects as records).
Please refer to the attached ER model diagram for spec.
Search queries will be fed into the target algorithm as graphs.
Graphs can consist of (please refer to the attached example):
nodes, edges and logical operators (AND, OR and NOT).
Each graph node can hold 5 optional values:
content, semantics, depth, order and logicalRange.
Solid edges between nodes can specify:
1: one node is context to the other node (depending on edge direction);
2: simple regular-expression relations between content values;
3: simple mathematical relations between numerical values.
Logical operators logically connect edges together.
AND and OR can be either inclusive or exclusive.
Distances can be optionally specified between connected edges.
Distance measurement unit can be also specified (listed in Semantics).
Distances are specified by dashed edges.
Notes:
1: nodes represent either Occurrence or IndexedOccurrence objects;
2: solid edges represent Proximity objects;
3: Proximities (logicalRange and order) are relative to Occurrence context;
4: contexts can only be Occurrence objects (not IndexedOccurrence);
5: IndexedOccurrence objects hold textual contents hence cannot be contexts;
6: textual contents are indexed by Content objects;
7: multiple contexts can be nested for a single textual content;
8: textual contents can have multiple interpretations
9: each interpretation give a different set of nested contexts;
10: Semantics values are predefined as enumerations and can be extended;
11: Semantics values describe the meaning of Occurrence objects
12: Semantics values are multi-line Strings (line per interpretation);
13: Semantics values are similar to DNA (line values are separated by \";\");
14: Documents hold the full textual content accessed by physicalRange.
Given:
1: the complex nature of query graphs (especially with edges);
2: I will do parallel native OODB queries on Proximity objects;
3: I will do merging based on specified criteria in the query graph;
4: matches can be ordered differently based on specified fields;
How can I achieve this in an efficient and consistent fashion ?
Where would you start and how would you go about the graph edges ?
I do not need code. I want viable ideas only.
It is an OODB (you can think of classes as tables and objects as records).
Please refer to the attached ER model diagram for spec.
Search queries will be fed into the target algorithm as graphs.
Graphs can consist of (please refer to the attached example):
nodes, edges and logical operators (AND, OR and NOT).
Each graph node can hold 5 optional values:
content, semantics, depth, order and logicalRange.
Solid edges between nodes can specify:
1: one node is context to the other node (depending on edge direction);
2: simple regular-expression relations between content values;
3: simple mathematical relations between numerical values.
Logical operators logically connect edges together.
AND and OR can be either inclusive or exclusive.
Distances can be optionally specified between connected edges.
Distance measurement unit can be also specified (listed in Semantics).
Distances are specified by dashed edges.
Notes:
1: nodes represent either Occurrence or IndexedOccurrence objects;
2: solid edges represent Proximity objects;
3: Proximities (logicalRange and order) are relative to Occurrence context;
4: contexts can only be Occurrence objects (not IndexedOccurrence);
5: IndexedOccurrence objects hold textual contents hence cannot be contexts;
6: textual contents are indexed by Content objects;
7: multiple contexts can be nested for a single textual content;
8: textual contents can have multiple interpretations
9: each interpretation give a different set of nested contexts;
10: Semantics values are predefined as enumerations and can be extended;
11: Semantics values describe the meaning of Occurrence objects
12: Semantics values are multi-line Strings (line per interpretation);
13: Semantics values are similar to DNA (line values are separated by \";\");
14: Documents hold the full textual content accessed by physicalRange.
Given:
1: the complex nature of query graphs (especially with edges);
2: I will do parallel native OODB queries on Proximity objects;
3: I will do merging based on specified criteria in the query graph;
4: matches can be ordered differently based on specified fields;
How can I achieve this in an efficient and consistent fashion ?
Where would you start and how would you go about the graph edges ?
I do not need code. I want viable ideas only.
Mohannad A.
0% (0)Projects Completed
1
Freelancers worked with
1
Projects awarded
50%
Last project
29 Dec 2010
Saudi Arabia
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies