Class CustomGraphQueryInferencer
java.lang.Object
org.eclipse.rdf4j.sail.helpers.SailWrapper
org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper
org.eclipse.rdf4j.sail.inferencer.fc.CustomGraphQueryInferencer
- All Implemented Interfaces:
FederatedServiceResolverClient
,NotifyingSail
,Sail
,StackableSail
A forward-chaining inferencer that infers new statements using a SPARQL graph query.
- Author:
- Dale Visser
-
Constructor Summary
ConstructorDescriptionCustomGraphQueryInferencer
(QueryLanguage language, String queryText, String matcherText) Create a new custom inferencer.CustomGraphQueryInferencer
(NotifyingSail baseSail, QueryLanguage language, String queryText, String matcherText) Create a new custom inferencer. -
Method Summary
Modifier and TypeMethodDescriptionOpens a connection on the Sail which can be used to query and update data.Exposed for test purposes.Exposed for test purposes.Exposed for test purposes.void
init()
Initializes the Sail.final void
setFields
(QueryLanguage language, String queryText, String matcherText) Called in order to set all the fields needed for the inferencer to function.Methods inherited from class org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper
addSailChangedListener, getBaseSail, removeSailChangedListener, setBaseSail
Methods inherited from class org.eclipse.rdf4j.sail.helpers.SailWrapper
getDataDir, getDefaultIsolationLevel, getSupportedIsolationLevels, getValueFactory, isWritable, setDataDir, setFederatedServiceResolver, shutDown, verifyBaseSailSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.sail.Sail
getDataDir, getDefaultIsolationLevel, getSupportedIsolationLevels, getValueFactory, isWritable, setDataDir, shutDown
-
Constructor Details
-
CustomGraphQueryInferencer
public CustomGraphQueryInferencer() -
CustomGraphQueryInferencer
public CustomGraphQueryInferencer(QueryLanguage language, String queryText, String matcherText) throws MalformedQueryException, UnsupportedQueryLanguageException, SailException Create a new custom inferencer.- Parameters:
language
- language that queryText and matcherText are expressed inqueryText
- a query that returns an RDF graph of inferred statements to be added to the underlying SailmatcherText
- a query that returns an RDF graph of existing inferred statements already added previously- Throws:
MalformedQueryException
- if there is a problem parsing either of the given queriesUnsupportedQueryLanguageException
- if an unsupported query language is specifiedSailException
- if a problem occurs interpreting the rule pattern
-
CustomGraphQueryInferencer
public CustomGraphQueryInferencer(NotifyingSail baseSail, QueryLanguage language, String queryText, String matcherText) throws MalformedQueryException, UnsupportedQueryLanguageException, SailException Create a new custom inferencer.- Parameters:
baseSail
- an underlying Sail, such as another inferencer or a SailRepositorylanguage
- language that queryText and matcherText are expressed inqueryText
- a query that returns an RDF graph of inferred statements to be added to the underlying SailmatcherText
- a query that returns an RDF graph of existing inferred statements already added previously- Throws:
MalformedQueryException
- if there is a problem parsing either of the given queriesUnsupportedQueryLanguageException
SailException
- if a problem occurs interpreting the rule pattern
-
-
Method Details
-
setFields
public final void setFields(QueryLanguage language, String queryText, String matcherText) throws MalformedQueryException, SailException Called in order to set all the fields needed for the inferencer to function.- Parameters:
language
- language that queryText and matcherText are expressed inqueryText
- a query that returns an RDF graph of inferred statements to be added to the underlying SailmatcherText
- a query that returns an RDF graph of existing inferred statements already added previously- Throws:
MalformedQueryException
- if there is a problem parsing either of the given queriesSailException
- if a problem occurs interpreting the rule pattern
-
getConnection
Description copied from interface:Sail
Opens a connection on the Sail which can be used to query and update data. Depending on how the implementation handles concurrent access, a call to this method might block when there is another open connection on this Sail.- Specified by:
getConnection
in interfaceNotifyingSail
- Specified by:
getConnection
in interfaceSail
- Overrides:
getConnection
in classNotifyingSailWrapper
- Throws:
SailException
- If no transaction could be started, for example because the Sail is not writable.
-
init
Description copied from interface:Sail
Initializes the Sail. Care should be taken that required initialization parameters have been set before this method is called. Please consult the specific Sail implementation for information about the relevant parameters.- Specified by:
init
in interfaceSail
- Overrides:
init
in classSailWrapper
- Throws:
SailException
- If the Sail could not be initialized.
-
getWatchSubjects
Exposed for test purposes.- Returns:
- a computed collection of the statement subjects that, when added or removed, trigger an update of inferred statements
-
getWatchPredicates
Exposed for test purposes.- Returns:
- a computed collection of the statement predicates that, when added or removed, trigger an update of inferred statements
-
getWatchObjects
Exposed for test purposes.- Returns:
- a computed collection of the statement objects that, when added or removed, trigger an update of inferred statements
-