Class AbstractSPARQLJSONParser
- java.lang.Object
-
- org.eclipse.rdf4j.query.resultio.AbstractQueryResultParser
-
- org.eclipse.rdf4j.query.resultio.sparqljson.AbstractSPARQLJSONParser
-
- All Implemented Interfaces:
QueryResultParser
- Direct Known Subclasses:
SPARQLBooleanJSONParser
,SPARQLJSONParserBase
,SPARQLResultsJSONParser
public abstract class AbstractSPARQLJSONParser extends AbstractQueryResultParser
Abstract base class for SPARQL Results JSON Parsers. Provides a common implementation of both boolean and tuple parsing.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BINDINGS
static java.lang.String
BNODE
static java.lang.String
BOOLEAN
static java.lang.String
DATATYPE
private static java.lang.String
DISTINCT
Backwards compatibility with very early version of original SPARQL spec.static java.lang.String
HEAD
static java.lang.String
LINK
static java.lang.String
LITERAL
private org.slf4j.Logger
logger
private static java.lang.String
ORDERED
Backwards compatibility with very early version of original SPARQL spec.static java.lang.String
RESULTS
static java.lang.String
TYPE
static java.lang.String
TYPED_LITERAL
static java.lang.String
URI
static java.lang.String
VALUE
static java.lang.String
VARS
static java.lang.String
XMLLANG
-
Fields inherited from class org.eclipse.rdf4j.query.resultio.AbstractQueryResultParser
handler, valueFactory
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractSPARQLJSONParser()
protected
AbstractSPARQLJSONParser(ValueFactory valueFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
checkTripleType(com.fasterxml.jackson.core.JsonParser jp, java.lang.String type)
private com.fasterxml.jackson.core.JsonFactory
configureNewJsonFactory()
Get an instance of JsonFactory configured using the settings fromAbstractQueryResultParser.getParserConfig()
.java.util.Collection<RioSetting<?>>
getSupportedSettings()
void
parseQueryResult(java.io.InputStream in)
Parse the query results out of the givenInputStream
into the handler setup usingQueryResultParser.setQueryResultHandler(QueryResultHandler)
.protected boolean
parseQueryResultInternal(java.io.InputStream in, boolean attemptParseBoolean, boolean attemptParseTuple)
private Triple
parseStardogTripleValue(com.fasterxml.jackson.core.JsonParser jp, java.lang.String fieldName)
protected Triple
parseTripleValue(com.fasterxml.jackson.core.JsonParser jp, java.lang.String fieldName)
protected Value
parseValue(com.fasterxml.jackson.core.JsonParser jp, java.lang.String bindingStr)
private Value
parseValue(java.lang.String type, java.lang.String value, java.lang.String language, java.lang.String datatype)
Parse a value out of the elements for a binding.-
Methods inherited from class org.eclipse.rdf4j.query.resultio.AbstractQueryResultParser
getParseErrorListener, getParseLocationListener, getParserConfig, set, setParseErrorListener, setParseLocationListener, setParserConfig, setQueryResultHandler, setValueFactory
-
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.query.resultio.QueryResultParser
getQueryResultFormat
-
-
-
-
Field Detail
-
logger
private final org.slf4j.Logger logger
-
HEAD
public static final java.lang.String HEAD
- See Also:
- Constant Field Values
-
LINK
public static final java.lang.String LINK
- See Also:
- Constant Field Values
-
VARS
public static final java.lang.String VARS
- See Also:
- Constant Field Values
-
BOOLEAN
public static final java.lang.String BOOLEAN
- See Also:
- Constant Field Values
-
RESULTS
public static final java.lang.String RESULTS
- See Also:
- Constant Field Values
-
BINDINGS
public static final java.lang.String BINDINGS
- See Also:
- Constant Field Values
-
TYPE
public static final java.lang.String TYPE
- See Also:
- Constant Field Values
-
VALUE
public static final java.lang.String VALUE
- See Also:
- Constant Field Values
-
XMLLANG
public static final java.lang.String XMLLANG
- See Also:
- Constant Field Values
-
DATATYPE
public static final java.lang.String DATATYPE
- See Also:
- Constant Field Values
-
LITERAL
public static final java.lang.String LITERAL
- See Also:
- Constant Field Values
-
TYPED_LITERAL
public static final java.lang.String TYPED_LITERAL
- See Also:
- Constant Field Values
-
BNODE
public static final java.lang.String BNODE
- See Also:
- Constant Field Values
-
URI
public static final java.lang.String URI
- See Also:
- Constant Field Values
-
DISTINCT
private static final java.lang.String DISTINCT
Backwards compatibility with very early version of original SPARQL spec.- See Also:
- Constant Field Values
-
ORDERED
private static final java.lang.String ORDERED
Backwards compatibility with very early version of original SPARQL spec.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractSPARQLJSONParser
protected AbstractSPARQLJSONParser()
-
AbstractSPARQLJSONParser
protected AbstractSPARQLJSONParser(ValueFactory valueFactory)
-
-
Method Detail
-
parseQueryResult
public void parseQueryResult(java.io.InputStream in) throws java.io.IOException, QueryResultParseException, QueryResultHandlerException
Description copied from interface:QueryResultParser
Parse the query results out of the givenInputStream
into the handler setup usingQueryResultParser.setQueryResultHandler(QueryResultHandler)
.- Parameters:
in
- TheInputStream
to parse the results from.- Throws:
java.io.IOException
- If there is an exception from the InputStream.QueryResultParseException
- If the query results are not parsable by this parser.QueryResultHandlerException
- If theQueryResultHandler
set inQueryResultParser.setQueryResultHandler(QueryResultHandler)
throws an exception.
-
parseQueryResultInternal
protected boolean parseQueryResultInternal(java.io.InputStream in, boolean attemptParseBoolean, boolean attemptParseTuple) throws java.io.IOException, QueryResultParseException, QueryResultHandlerException
- Throws:
java.io.IOException
QueryResultParseException
QueryResultHandlerException
-
parseValue
protected Value parseValue(com.fasterxml.jackson.core.JsonParser jp, java.lang.String bindingStr) throws java.io.IOException
- Throws:
java.io.IOException
-
parseStardogTripleValue
private Triple parseStardogTripleValue(com.fasterxml.jackson.core.JsonParser jp, java.lang.String fieldName) throws java.io.IOException
- Throws:
java.io.IOException
-
parseTripleValue
protected Triple parseTripleValue(com.fasterxml.jackson.core.JsonParser jp, java.lang.String fieldName) throws java.io.IOException
- Throws:
java.io.IOException
-
checkTripleType
protected boolean checkTripleType(com.fasterxml.jackson.core.JsonParser jp, java.lang.String type)
-
parseValue
private Value parseValue(java.lang.String type, java.lang.String value, java.lang.String language, java.lang.String datatype)
Parse a value out of the elements for a binding.- Parameters:
type
-LITERAL
,TYPED_LITERAL
,BNODE
orURI
value
- actual value textlanguage
- language tag, if applicabledatatype
- datatype tag, if applicable- Returns:
- the value corresponding to the given parameters
-
getSupportedSettings
public java.util.Collection<RioSetting<?>> getSupportedSettings()
- Specified by:
getSupportedSettings
in interfaceQueryResultParser
- Overrides:
getSupportedSettings
in classAbstractQueryResultParser
- Returns:
- A collection of
RioSetting
s that are supported by this QueryResultParser.
-
configureNewJsonFactory
private com.fasterxml.jackson.core.JsonFactory configureNewJsonFactory()
Get an instance of JsonFactory configured using the settings fromAbstractQueryResultParser.getParserConfig()
.- Returns:
- A newly configured JsonFactory based on the currently enabled settings
-
-