Interface SourceSelectionCache
-
- All Known Implementing Classes:
SourceSelectionMemoryCache
public interface SourceSelectionCacheDescribes a cache that can be used forSourceSelectionto reduce the number of remote requests.- Author:
- Andreas Schwarte
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classSourceSelectionCache.StatementSourceAssurance
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SourceSelectionCache.StatementSourceAssurancegetAssurance(SubQuery subQuery, Endpoint endpoint)Ask the cache if a given endpoint can provide results for aSubQuery.voidinvalidate()Invalidate the underlying cachevoidupdateInformation(SubQuery subQuery, Endpoint endpoint, boolean hasStatements)
-
-
-
Method Detail
-
getAssurance
SourceSelectionCache.StatementSourceAssurance getAssurance(SubQuery subQuery, Endpoint endpoint)
Ask the cache if a given endpoint can provide results for aSubQuery.Implementations may infer information by applying logical rules, e.g. if a cache knows that an endpoint can provide statements {s, foaf:name, "Alan"}, it can also provide results for {s, foaf:name, ?name}.
If a cache cannot provide information for the given arguments, it must return
SourceSelectionCache.StatementSourceAssurance.POSSIBLY_HAS_STATEMENTSin order to trigger a remote check.- Parameters:
subQuery-endpoint-- Returns:
- the
SourceSelectionCache.StatementSourceAssurance
-
updateInformation
void updateInformation(SubQuery subQuery, Endpoint endpoint, boolean hasStatements)
Update the information for a givenSubQueryandEndpoint.Implementations must make sure that any operations are thread-safe
- Parameters:
subQuery-endpoint-hasStatements-
-
invalidate
void invalidate()
Invalidate the underlying cache
-
-