mirror of
https://github.com/eliasstepanik/core.git
synced 2026-01-11 16:38:27 +00:00
feat: add includeInvalidated option to search queries to optionally show invalidated statements
This commit is contained in:
parent
15d04fb577
commit
7b2d4ce6ad
@ -19,14 +19,14 @@ export async function performBM25Search(
|
||||
// Build the WHERE clause based on timeframe options
|
||||
let timeframeCondition = `
|
||||
AND s.validAt <= $validAt
|
||||
AND (s.invalidAt > $validAt)
|
||||
${options.includeInvalidated ? '' : 'AND (s.invalidAt IS NULL OR s.invalidAt > $validAt)'}
|
||||
`;
|
||||
|
||||
// If startTime is provided, add condition to filter by validAt >= startTime
|
||||
if (options.startTime) {
|
||||
timeframeCondition = `
|
||||
AND s.validAt <= $validAt
|
||||
AND (s.invalidAt > $validAt)
|
||||
${options.includeInvalidated ? '' : 'AND (s.invalidAt IS NULL OR s.invalidAt > $validAt)'}
|
||||
AND s.validAt >= $startTime
|
||||
`;
|
||||
}
|
||||
@ -109,14 +109,14 @@ export async function performVectorSearch(
|
||||
// Build the WHERE clause based on timeframe options
|
||||
let timeframeCondition = `
|
||||
AND s.validAt <= $validAt
|
||||
AND (s.invalidAt > $validAt)
|
||||
${options.includeInvalidated ? '' : 'AND (s.invalidAt IS NULL OR s.invalidAt > $validAt)'}
|
||||
`;
|
||||
|
||||
// If startTime is provided, add condition to filter by validAt >= startTime
|
||||
if (options.startTime) {
|
||||
timeframeCondition = `
|
||||
AND s.validAt <= $validAt
|
||||
AND (s.invalidAt > $validAt)
|
||||
${options.includeInvalidated ? '' : 'AND (s.invalidAt IS NULL OR s.invalidAt > $validAt)'}
|
||||
AND s.validAt >= $startTime
|
||||
`;
|
||||
}
|
||||
@ -135,7 +135,7 @@ export async function performVectorSearch(
|
||||
YIELD node AS s, score
|
||||
WHERE s.userId = $userId
|
||||
AND score >= 0.7
|
||||
${timeframeCondition.replace("AND", "AND").replace("WHERE", "AND")}
|
||||
${timeframeCondition}
|
||||
${spaceCondition}
|
||||
OPTIONAL MATCH (episode:Episode)-[:HAS_PROVENANCE]->(s)
|
||||
WITH s, score, count(episode) as provenanceCount
|
||||
@ -219,14 +219,14 @@ export async function bfsTraversal(
|
||||
// Build the WHERE clause based on timeframe options
|
||||
let timeframeCondition = `
|
||||
AND s.validAt <= $validAt
|
||||
AND (s.invalidAt > $validAt)
|
||||
${includeInvalidated ? '' : 'AND (s.invalidAt IS NULL OR s.invalidAt > $validAt)'}
|
||||
`;
|
||||
|
||||
// If startTime is provided, add condition to filter by validAt >= startTime
|
||||
if (startTime) {
|
||||
timeframeCondition = `
|
||||
AND s.validAt <= $validAt
|
||||
AND (s.invalidAt > $validAt)
|
||||
${includeInvalidated ? '' : 'AND (s.invalidAt IS NULL OR s.invalidAt > $validAt)'}
|
||||
AND s.validAt >= $startTime
|
||||
`;
|
||||
}
|
||||
@ -245,8 +245,7 @@ export async function bfsTraversal(
|
||||
MATCH (e:Entity {uuid: $startEntityId})<-[:HAS_SUBJECT|HAS_OBJECT|HAS_PREDICATE]-(s:Statement)
|
||||
WHERE
|
||||
(s.userId = $userId)
|
||||
AND ($includeInvalidated OR s.invalidAt IS NULL)
|
||||
${timeframeCondition}
|
||||
${includeInvalidated ? 'AND s.validAt <= $validAt' : timeframeCondition}
|
||||
${spaceCondition}
|
||||
RETURN s as statement
|
||||
`;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user