Class SPARQLLanguageProcessor

  • All Implemented Interfaces:
    LanguageProcessor

    @Shorthand("lang.SPARQL")
    public class SPARQLLanguageProcessor
    extends java.lang.Object
    implements LanguageProcessor
    SPARQL Language Processor. Tries to analyze Queries as SPARQL queries and checks http response for either application/sparql-results+json or application/sparql-results+xml to count the result size correctly. Otherwise assumes it record per line and counts the returning lines.
    • Field Detail

      • XML_RESULT_ELEMENT_NAME

        public static final java.lang.String XML_RESULT_ELEMENT_NAME
        See Also:
        Constant Field Values
      • XML_RESULT_ROOT_ELEMENT_NAME

        public static final java.lang.String XML_RESULT_ROOT_ELEMENT_NAME
        See Also:
        Constant Field Values
      • QUERY_RESULT_TYPE_JSON

        public static final java.lang.String QUERY_RESULT_TYPE_JSON
        See Also:
        Constant Field Values
      • QUERY_RESULT_TYPE_XML

        public static final java.lang.String QUERY_RESULT_TYPE_XML
        See Also:
        Constant Field Values
    • Constructor Detail

      • SPARQLLanguageProcessor

        public SPARQLLanguageProcessor()
    • Method Detail

      • getQueryPrefix

        public java.lang.String getQueryPrefix()
        Description copied from interface: LanguageProcessor
        Returns the prefix used for the queries (e.g. sparql, query or document)
        Specified by:
        getQueryPrefix in interface LanguageProcessor
        Returns:
      • generateTripleStats

        public org.apache.jena.rdf.model.Model generateTripleStats​(java.util.List<QueryWrapper> queries,
                                                                   java.lang.String resourcePrefix,
                                                                   java.lang.String taskID)
        Description copied from interface: LanguageProcessor
        Method to generate Triple Statistics for provided queries
        Specified by:
        generateTripleStats in interface LanguageProcessor
        Returns:
        Model with the triples to add to the results
      • getContentTypeVal

        public static java.lang.String getContentTypeVal​(org.apache.http.Header header)
      • getJsonResultSize

        public static long getJsonResultSize​(java.lang.String res)
                                      throws org.json.simple.parser.ParseException
        Throws:
        org.json.simple.parser.ParseException
      • getXmlResultSize

        public static long getXmlResultSize​(java.lang.String res)
                                     throws javax.xml.parsers.ParserConfigurationException,
                                            java.io.IOException,
                                            org.xml.sax.SAXException
        Throws:
        javax.xml.parsers.ParserConfigurationException
        java.io.IOException
        org.xml.sax.SAXException
      • getResultSize

        public java.lang.Long getResultSize​(org.apache.http.client.methods.CloseableHttpResponse response)
                                     throws javax.xml.parsers.ParserConfigurationException,
                                            org.xml.sax.SAXException,
                                            org.json.simple.parser.ParseException,
                                            java.io.IOException
        Description copied from interface: LanguageProcessor
        Gets the result size of a given HTTP response
        Specified by:
        getResultSize in interface LanguageProcessor
        Returns:
        Throws:
        javax.xml.parsers.ParserConfigurationException
        org.xml.sax.SAXException
        org.json.simple.parser.ParseException
        java.io.IOException