Interface SourceSelectionCache
- All Known Implementing Classes:
SourceSelectionMemoryCache
public interface SourceSelectionCache
Describes a cache that can be used for
SourceSelection to reduce the number of remote requests.- Author:
- Andreas Schwarte
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptiongetAssurance(SubQuery subQuery, Endpoint endpoint) Ask the cache if a given endpoint can provide results for aSubQuery.voidInvalidate the underlying cachevoidupdateInformation(SubQuery subQuery, Endpoint endpoint, boolean hasStatements)
-
Method Details
-
getAssurance
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.</p- Parameters:
subQuery-endpoint-- Returns:
- the
SourceSelectionCache.StatementSourceAssurance
-
updateInformation
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
-