rdf-sesame 3.0.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/VERSION +1 -1
- data/lib/rdf/sesame/connection.rb +4 -6
- data/lib/rdf/sesame/repository.rb +54 -21
- data/lib/rdf/sesame/server.rb +2 -0
- data/lib/rdf/sesame/version.rb +3 -4
- metadata +3 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: a61133a0a5d9d38168002df45bbd53101d5a6c66c72968bf0e05f2e44bd416c7
         | 
| 4 | 
            +
              data.tar.gz: b26ed3787876b38d4542c5529a2bee1f3cc4d579a0da27ccc709ad70623fc087
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a345ec1c99201380cdf65d323257bda9d0d642006aa782c2cf5881729b024e191ba0e37b2e79bbdccac0245da5a76796b14c7f13571683c5916232e5d221ecac
         | 
| 7 | 
            +
              data.tar.gz: c559209cf90f38b8a73de13a938754c60d5d3d164c6bdf63b29e5838b0ded1de508e414e2322bb051dbbe6bd764a027a45bb5bcace381fa992378815a4de161d
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            3. | 
| 1 | 
            +
            3.1.2
         | 
| @@ -325,12 +325,10 @@ module RDF::Sesame | |
| 325 325 | 
             
                    request.body = data.to_s
         | 
| 326 326 | 
             
                    request.basic_auth @user, @pass unless @user.nil? || @pass.nil?
         | 
| 327 327 | 
             
                    response = http.request(request)
         | 
| 328 | 
            -
                     | 
| 329 | 
            -
                       | 
| 330 | 
            -
             | 
| 331 | 
            -
                       | 
| 332 | 
            -
                        response
         | 
| 333 | 
            -
                      end
         | 
| 328 | 
            +
                    if block_given?
         | 
| 329 | 
            +
                      yield response
         | 
| 330 | 
            +
                    else
         | 
| 331 | 
            +
                      response
         | 
| 334 332 | 
             
                    end
         | 
| 335 333 | 
             
                  end
         | 
| 336 334 | 
             
                end
         | 
| @@ -291,6 +291,27 @@ module RDF::Sesame | |
| 291 291 | 
             
                  raw_query(query, 'sparql', options, &block)
         | 
| 292 292 | 
             
                end
         | 
| 293 293 |  | 
| 294 | 
            +
                # Run a raw SPARQL query.
         | 
| 295 | 
            +
                #
         | 
| 296 | 
            +
                # @overload sparql_query(query) {|solution| ... }
         | 
| 297 | 
            +
                #   @yield solution
         | 
| 298 | 
            +
                #   @yieldparam [RDF::Query::Solution] solution
         | 
| 299 | 
            +
                #   @yieldreturn [void]
         | 
| 300 | 
            +
                #   @return [void]
         | 
| 301 | 
            +
                #
         | 
| 302 | 
            +
                # @overload sparql_query(pattern)
         | 
| 303 | 
            +
                #   @return [Enumerator<RDF::Query::Solution>]
         | 
| 304 | 
            +
                #
         | 
| 305 | 
            +
                # @param [String] query The query to run.
         | 
| 306 | 
            +
                # @param [Hash{Symbol => Object}] options
         | 
| 307 | 
            +
                #   The query options (see build_query).
         | 
| 308 | 
            +
                # @return [void]
         | 
| 309 | 
            +
                #
         | 
| 310 | 
            +
                # @see #build_query
         | 
| 311 | 
            +
                def sparql_query(query, options={}, &block)
         | 
| 312 | 
            +
                  raw_query(query, 'sparql', options, &block)
         | 
| 313 | 
            +
                end
         | 
| 314 | 
            +
             | 
| 294 315 | 
             
                ##
         | 
| 295 316 | 
             
                # Returns all statements of the given query when the query
         | 
| 296 317 | 
             
                # is a READ query. Execute a WRITE query and returns the
         | 
| @@ -325,21 +346,13 @@ module RDF::Sesame | |
| 325 346 | 
             
                  options[:format] = Server::ACCEPT_JSON unless options[:format]
         | 
| 326 347 | 
             
                  options[:parsing] = :full unless options[:parsing]
         | 
| 327 348 |  | 
| 328 | 
            -
                  parameters = { : | 
| 349 | 
            +
                  parameters = { :queryLn => queryLn, :infer => options[:infer] }
         | 
| 329 350 |  | 
| 330 | 
            -
                  response =  | 
| 331 | 
            -
                     | 
| 332 | 
            -
                     | 
| 333 | 
            -
             | 
| 334 | 
            -
             | 
| 335 | 
            -
                    url = Addressable::URI.parse(path)
         | 
| 336 | 
            -
                    unless url.normalize.query.nil?
         | 
| 337 | 
            -
                      url.query = [url.query, params].compact.join('&')
         | 
| 338 | 
            -
                    else
         | 
| 339 | 
            -
                      url.query = [url.query, params].compact.join('?')
         | 
| 340 | 
            -
                    end
         | 
| 341 | 
            -
                    server.get(url, options[:format])
         | 
| 342 | 
            -
                  end
         | 
| 351 | 
            +
                  response = server.post(
         | 
| 352 | 
            +
                    encode_url_parameters(path, parameters),
         | 
| 353 | 
            +
                    query,
         | 
| 354 | 
            +
                    Server::CONTENT_TYPE_SPARQL_QUERY.merge(options[:format])
         | 
| 355 | 
            +
                  )
         | 
| 343 356 |  | 
| 344 357 | 
             
                  results = if (options[:parsing] == :full)
         | 
| 345 358 | 
             
                    parse_response(response)
         | 
| @@ -364,10 +377,14 @@ module RDF::Sesame | |
| 364 377 | 
             
                # @param  [Hash]                 options
         | 
| 365 378 | 
             
                # @return [Boolean]
         | 
| 366 379 | 
             
                def write_query(query, queryLn, options)
         | 
| 367 | 
            -
                  parameters = {}
         | 
| 368 | 
            -
             | 
| 369 | 
            -
                   | 
| 370 | 
            -
             | 
| 380 | 
            +
                  parameters = { infer: options[:infer] }
         | 
| 381 | 
            +
             | 
| 382 | 
            +
                  response = server.post(
         | 
| 383 | 
            +
                    encode_url_parameters(path(:statements), parameters),
         | 
| 384 | 
            +
                    query,
         | 
| 385 | 
            +
                    Server::CONTENT_TYPE_SPARQL_UPDATE
         | 
| 386 | 
            +
                  )
         | 
| 387 | 
            +
             | 
| 371 388 | 
             
                  response.code == "204"
         | 
| 372 389 | 
             
                end
         | 
| 373 390 |  | 
| @@ -549,9 +566,9 @@ module RDF::Sesame | |
| 549 566 | 
             
                    when :uri
         | 
| 550 567 | 
             
                      RDF::URI.new(value['value'])
         | 
| 551 568 | 
             
                    when :literal
         | 
| 552 | 
            -
                      RDF::Literal.new(value['value'], | 
| 553 | 
            -
             | 
| 554 | 
            -
             | 
| 569 | 
            +
                      RDF::Literal.new(value['value'],
         | 
| 570 | 
            +
                        language: value['xml:lang'],
         | 
| 571 | 
            +
                        datatype: value['datatype'])
         | 
| 555 572 | 
             
                    else nil
         | 
| 556 573 | 
             
                  end
         | 
| 557 574 | 
             
                end
         | 
| @@ -642,6 +659,22 @@ module RDF::Sesame | |
| 642 659 | 
             
                  options
         | 
| 643 660 | 
             
                end
         | 
| 644 661 |  | 
| 662 | 
            +
                # @private
         | 
| 663 | 
            +
                #
         | 
| 664 | 
            +
                # Encode in the URL parameters
         | 
| 665 | 
            +
                def encode_url_parameters(path, parameters)
         | 
| 666 | 
            +
                  params = Addressable::URI.form_encode(parameters).gsub("+", "%20").to_s
         | 
| 667 | 
            +
                  url = Addressable::URI.parse(path)
         | 
| 668 | 
            +
             | 
| 669 | 
            +
                  unless url.normalize.query.nil?
         | 
| 670 | 
            +
                    url.query = [url.query, params].compact.join('&')
         | 
| 671 | 
            +
                  else
         | 
| 672 | 
            +
                    url.query = [url.query, params].compact.join('?')
         | 
| 673 | 
            +
                  end
         | 
| 674 | 
            +
             | 
| 675 | 
            +
                  url
         | 
| 676 | 
            +
                end
         | 
| 677 | 
            +
             | 
| 645 678 | 
             
                # @private
         | 
| 646 679 | 
             
                #
         | 
| 647 680 | 
             
                # Fetch the graph names from SESAME API
         | 
    
        data/lib/rdf/sesame/server.rb
    CHANGED
    
    | @@ -57,6 +57,8 @@ module RDF::Sesame | |
| 57 57 |  | 
| 58 58 | 
             
                CONTENT_TYPE_TEXT = {'Content-Type' => 'text/plain'}.freeze
         | 
| 59 59 | 
             
                CONTENT_TYPE_X_FORM = {'Content-Type' => 'application/x-www-form-urlencoded' }.freeze
         | 
| 60 | 
            +
                CONTENT_TYPE_SPARQL_QUERY = {'Content-Type' => 'application/sparql-query'}.freeze
         | 
| 61 | 
            +
                CONTENT_TYPE_SPARQL_UPDATE = {'Content-Type' => 'application/sparql-update'}.freeze
         | 
| 60 62 |  | 
| 61 63 | 
             
                RESULT_BOOL = 'text/boolean'.freeze
         | 
| 62 64 | 
             
                RESULT_JSON = 'application/sparql-results+json'.freeze
         | 
    
        data/lib/rdf/sesame/version.rb
    CHANGED
    
    | @@ -1,11 +1,10 @@ | |
| 1 1 | 
             
            module RDF; module Sesame
         | 
| 2 2 | 
             
              module VERSION
         | 
| 3 3 | 
             
                MAJOR = 3
         | 
| 4 | 
            -
                MINOR =  | 
| 5 | 
            -
                TINY  =  | 
| 6 | 
            -
                EXTRA = nil
         | 
| 4 | 
            +
                MINOR = 1
         | 
| 5 | 
            +
                TINY  = 2
         | 
| 7 6 |  | 
| 8 | 
            -
                STRING = [MAJOR, MINOR, TINY | 
| 7 | 
            +
                STRING = [MAJOR, MINOR, TINY].compact.join('.')
         | 
| 9 8 |  | 
| 10 9 | 
             
                ##
         | 
| 11 10 | 
             
                # @return [String]
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rdf-sesame
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3. | 
| 4 | 
            +
              version: 3.1.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Arto Bendiken
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2022-03-10 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rdf
         | 
| @@ -131,8 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 131 131 | 
             
                - !ruby/object:Gem::Version
         | 
| 132 132 | 
             
                  version: '0'
         | 
| 133 133 | 
             
            requirements: []
         | 
| 134 | 
            -
             | 
| 135 | 
            -
            rubygems_version: 2.6.14.1
         | 
| 134 | 
            +
            rubygems_version: 3.0.3
         | 
| 136 135 | 
             
            signing_key: 
         | 
| 137 136 | 
             
            specification_version: 4
         | 
| 138 137 | 
             
            summary: Sesame 2.0 adapter for RDF.rb.
         |