Hi all,
   I have to represent a domain with OrientDB and I'm thinking about two 
ways. The domain is as follows:

   - a very big text is fragmented in Chunks of equal size (let's say 5 
   characters for each Chunk)
   - Chunk is a class with <begin, end, text> attributes

For example, the text: "Hello World!" becomes:

   1. 0, 5, "Hello"
   2. 5, 10, " Worl"
   3. 10, 12, "d!"

The user can ask for an arbitrary span of text, for example: getText(6, 11) 
should return "World".

Currently I collect all the interesting chunks with the following query:
SELECT begin, end, text
FROM Chunk
WHERE
   (begin <= 6 AND end >= 6) OR // the first interesting chunk
   (begin >= 6 AND end <= 11) OR // all the other chunks
   (begin <= 11 AND end >= 11) // the last interesting chunk
ORDER BY begin
Obviously such a query can be optimized with an index over begin, end 
fields.

I was thinking about another option, which is to link each Chunk with its 
follower, for example: 1. -- next --> 2. -- next --> 3.
In this case the previous query could be implemented as a traversal:
TRAVERSE all() FROM (SELECT FROM Chunk WHERE begin <= 6 AND end > 6) WHILE 
end <= 11

Considering that each Chunk has only one follower, do you think this 
strategy would be more efficient?

Cheers,
   Riccardo

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to