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
-
Method Summary
Modifier and TypeMethodDescriptiongetAssurance(SubQuery subQuery, Endpoint endpoint)
Ask the cache if a given endpoint can provide results for aSubQuery
.void
updateInformation(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_STATEMENTS
in order to trigger a remote check.- Parameters:
subQuery
-endpoint
-- Returns:
- the
SourceSelectionCache.StatementSourceAssurance
updateInformation
Update the information for a givenSubQuery
andEndpoint
.Implementations must make sure that any operations are thread-safe
- Parameters:
subQuery
-endpoint
-hasStatements
-
-