redlander 0.5.3 → 0.6.0
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 +7 -0
- data/README.md +16 -1
- data/lib/redland.rb +1 -0
- data/lib/redlander/node.rb +10 -2
- data/lib/redlander/version.rb +1 -1
- data/redlander.gemspec +2 -2
- data/spec/lib/redlander/node_spec.rb +8 -0
- metadata +23 -42
- data/Gemfile.lock +0 -30
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: b09461d5d5cd80ad9a79c65fb2fd666de0a2b058
         | 
| 4 | 
            +
              data.tar.gz: c718bbdf065e54120d9a8e88395ff54730393a28
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: 586c5258959e63cb20ab100cb564a1a587cf2d09b9b6ce0e76755b5524e8b64418e10701feb174051ba1cae8de802e9a4dfeb923fc0f4e82b241c6a6fc285bab
         | 
| 7 | 
            +
              data.tar.gz: 325207a2c7d16f72686e74d38f6f9b54471511f8eee7c8684f67445ef7ad969d372c2be0ea494f43092f9f6d5e3063de4d9c0a6b45acb44eafa2c7b9e08ac2c1
         | 
    
        data/README.md
    CHANGED
    
    | @@ -16,7 +16,7 @@ Note, that you will have to install Redland runtime library (librdf) for Redland | |
| 16 16 | 
             
            # Usage
         | 
| 17 17 |  | 
| 18 18 | 
             
            This README outlines most obvious use cases.
         | 
| 19 | 
            -
            For more details please refer to YARD documentation of Redlander.
         | 
| 19 | 
            +
            For more details please refer to [YARD documentation of Redlander](http://rubydoc.info/gems/redlander).
         | 
| 20 20 |  | 
| 21 21 | 
             
            To start doing anything useful with Redlander, you need to initialize a model first:
         | 
| 22 22 |  | 
| @@ -82,6 +82,16 @@ hash for *SELECT* queries. Binding hash values are instances of `Redlander::Node | |
| 82 82 |  | 
| 83 83 | 
             
            For query options and available query languages refer to `Model#query` documentation.
         | 
| 84 84 |  | 
| 85 | 
            +
            ### Localized string literals
         | 
| 86 | 
            +
             | 
| 87 | 
            +
            Localized string literals are instantiated as LocalizedString objects.
         | 
| 88 | 
            +
            Refer to the documentation and README file in `xml_schema` gem for details
         | 
| 89 | 
            +
            on LocalizedString.
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                $ m.statments.first(:object => "bonjour".with_lang(:fr))
         | 
| 92 | 
            +
             | 
| 93 | 
            +
            will return a first statement matching "bonjour@fr" literal as the object.
         | 
| 94 | 
            +
             | 
| 85 95 |  | 
| 86 96 | 
             
            ## Parsing Input
         | 
| 87 97 |  | 
| @@ -173,6 +183,11 @@ yields proper results in the block. | |
| 173 183 | 
             
            Update your `redland` library to 1.0.15 or newer to fix this.
         | 
| 174 184 |  | 
| 175 185 |  | 
| 186 | 
            +
            SPARQL DESCRIBE is not implemented in librdf.
         | 
| 187 | 
            +
             | 
| 188 | 
            +
            > See [0000135](http://bugs.librdf.org/mantis/view.php?id=135) for a temporal workaround.
         | 
| 189 | 
            +
             | 
| 190 | 
            +
             | 
| 176 191 | 
             
            # Authors and Contributors
         | 
| 177 192 |  | 
| 178 193 | 
             
            [Slava Kravchenko](https://github.com/cordawyn)
         | 
    
        data/lib/redland.rb
    CHANGED
    
    | @@ -62,6 +62,7 @@ module Redland | |
| 62 62 | 
             
              attach_function :librdf_node_to_string, [:pointer], :string
         | 
| 63 63 | 
             
              attach_function :librdf_node_get_uri, [:pointer], :pointer
         | 
| 64 64 | 
             
              attach_function :librdf_node_get_blank_identifier, [:pointer], :string
         | 
| 65 | 
            +
              attach_function :librdf_node_get_literal_value_language, [:pointer], :string
         | 
| 65 66 |  | 
| 66 67 | 
             
              # Stream
         | 
| 67 68 | 
             
              attach_function :librdf_free_stream, [:pointer], :void
         | 
    
        data/lib/redlander/node.rb
    CHANGED
    
    | @@ -31,9 +31,11 @@ module Redlander | |
| 31 31 | 
             
                              when URI
         | 
| 32 32 | 
             
                                Redland.librdf_new_node_from_uri_string(Redlander.rdf_world, arg.to_s)
         | 
| 33 33 | 
             
                              else
         | 
| 34 | 
            -
                                value = arg.respond_to?(:xmlschema) ? arg.xmlschema : arg.to_s
         | 
| 35 34 | 
             
                                @datatype = XmlSchema.datatype_of(arg)
         | 
| 36 | 
            -
                                 | 
| 35 | 
            +
                                value = arg.respond_to?(:xmlschema) ? arg.xmlschema : arg.to_s
         | 
| 36 | 
            +
                                lang = arg.respond_to?(:lang) ? arg.lang.to_s : nil
         | 
| 37 | 
            +
                                dt = lang ? nil : Uri.new(@datatype).rdf_uri
         | 
| 38 | 
            +
                                Redland.librdf_new_node_from_typed_literal(Redlander.rdf_world, value, lang, dt)
         | 
| 37 39 | 
             
                              end
         | 
| 38 40 | 
             
                  raise RedlandError, "Failed to create a new node" if @rdf_node.null?
         | 
| 39 41 | 
             
                  ObjectSpace.define_finalizer(self, proc { Redland.librdf_free_node(@rdf_node) })
         | 
| @@ -109,10 +111,16 @@ module Redlander | |
| 109 111 | 
             
                    Redland.librdf_node_get_blank_identifier(@rdf_node).force_encoding("UTF-8")
         | 
| 110 112 | 
             
                  else
         | 
| 111 113 | 
             
                    v = Redland.librdf_node_get_literal_value(@rdf_node).force_encoding("UTF-8")
         | 
| 114 | 
            +
                    v << "@#{lang}" if lang
         | 
| 112 115 | 
             
                    XmlSchema.instantiate(v, @datatype)
         | 
| 113 116 | 
             
                  end
         | 
| 114 117 | 
             
                end
         | 
| 115 118 |  | 
| 119 | 
            +
                def lang
         | 
| 120 | 
            +
                  lng = Redland.librdf_node_get_literal_value_language(@rdf_node)
         | 
| 121 | 
            +
                  lng ? lng.to_sym : nil
         | 
| 122 | 
            +
                end
         | 
| 123 | 
            +
             | 
| 116 124 |  | 
| 117 125 | 
             
                private
         | 
| 118 126 |  | 
    
        data/lib/redlander/version.rb
    CHANGED
    
    
    
        data/redlander.gemspec
    CHANGED
    
    | @@ -12,13 +12,13 @@ Gem::Specification.new do |gem| | |
| 12 12 | 
             
            Redlander is Ruby bindings to Redland library (see http://librdf.org) written in C, which is used to manipulate RDF graphs. This is an alternative implementation of Ruby bindings (as opposed to the official bindings), aiming to be more intuitive, lightweight, high-performing and as bug-free as possible.
         | 
| 13 13 | 
             
            HERE
         | 
| 14 14 |  | 
| 15 | 
            -
              gem.files         = `git ls-files`.split($\)
         | 
| 15 | 
            +
              gem.files         = `git ls-files`.split($\) - ["Gemfile.lock"]
         | 
| 16 16 | 
             
              gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
         | 
| 17 17 | 
             
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         | 
| 18 18 | 
             
              gem.require_paths = ["lib"]
         | 
| 19 19 |  | 
| 20 20 | 
             
              # gem.add_dependency("librdf0", "~> 1.0.15")
         | 
| 21 | 
            -
              gem.add_dependency("xml_schema", "~> 0. | 
| 21 | 
            +
              gem.add_dependency("xml_schema", "~> 0.2.0")
         | 
| 22 22 | 
             
              gem.add_dependency("ffi", "~> 1.3")
         | 
| 23 23 | 
             
              gem.add_development_dependency("rspec", "~> 2")
         | 
| 24 24 |  | 
| @@ -92,6 +92,14 @@ describe Node do | |
| 92 92 | 
             
                  node.datatype.should eql URI("http://www.w3.org/2001/XMLSchema#dateTime")
         | 
| 93 93 | 
             
                end
         | 
| 94 94 |  | 
| 95 | 
            +
                it "should be created from a localized string" do
         | 
| 96 | 
            +
                  node = Node.new(LocalizedString.new("bonjour", :fr))
         | 
| 97 | 
            +
                  node.should be_literal
         | 
| 98 | 
            +
                  node.value.should eql "bonjour"
         | 
| 99 | 
            +
                  node.value.lang.should eql :fr
         | 
| 100 | 
            +
                  node.lang.should eql :fr
         | 
| 101 | 
            +
                end
         | 
| 102 | 
            +
             | 
| 95 103 | 
             
                it "should have proper string representation" do
         | 
| 96 104 | 
             
                  node = Node.new("Bye-bye, cruel world...")
         | 
| 97 105 | 
             
                  node.to_s.should eql('"Bye-bye, cruel world..."^^<http://www.w3.org/2001/XMLSchema#string>')
         | 
    
        metadata
    CHANGED
    
    | @@ -1,70 +1,59 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: redlander
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
               | 
| 5 | 
            -
              version: 0.5.3
         | 
| 4 | 
            +
              version: 0.6.0
         | 
| 6 5 | 
             
            platform: ruby
         | 
| 7 6 | 
             
            authors:
         | 
| 8 7 | 
             
            - Slava Kravchenko
         | 
| 9 8 | 
             
            autorequire: 
         | 
| 10 9 | 
             
            bindir: bin
         | 
| 11 10 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013- | 
| 11 | 
            +
            date: 2013-03-13 00:00:00.000000000 Z
         | 
| 13 12 | 
             
            dependencies:
         | 
| 14 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            -
               | 
| 16 | 
            -
               | 
| 14 | 
            +
              name: xml_schema
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 16 | 
             
                requirements:
         | 
| 18 17 | 
             
                - - ~>
         | 
| 19 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: 0. | 
| 21 | 
            -
             | 
| 22 | 
            -
              name: xml_schema
         | 
| 19 | 
            +
                    version: 0.2.0
         | 
| 20 | 
            +
              type: :runtime
         | 
| 23 21 | 
             
              prerelease: false
         | 
| 24 | 
            -
               | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 25 23 | 
             
                requirements:
         | 
| 26 24 | 
             
                - - ~>
         | 
| 27 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 28 | 
            -
                    version: 0. | 
| 29 | 
            -
                none: false
         | 
| 26 | 
            +
                    version: 0.2.0
         | 
| 30 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 | 
            -
               | 
| 32 | 
            -
               | 
| 28 | 
            +
              name: ffi
         | 
| 29 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 30 | 
             
                requirements:
         | 
| 34 31 | 
             
                - - ~>
         | 
| 35 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 36 33 | 
             
                    version: '1.3'
         | 
| 37 | 
            -
             | 
| 38 | 
            -
              name: ffi
         | 
| 34 | 
            +
              type: :runtime
         | 
| 39 35 | 
             
              prerelease: false
         | 
| 40 | 
            -
               | 
| 36 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 41 37 | 
             
                requirements:
         | 
| 42 38 | 
             
                - - ~>
         | 
| 43 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 44 40 | 
             
                    version: '1.3'
         | 
| 45 | 
            -
                none: false
         | 
| 46 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 47 | 
            -
               | 
| 48 | 
            -
               | 
| 42 | 
            +
              name: rspec
         | 
| 43 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 49 44 | 
             
                requirements:
         | 
| 50 45 | 
             
                - - ~>
         | 
| 51 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 52 47 | 
             
                    version: '2'
         | 
| 53 | 
            -
             | 
| 54 | 
            -
              name: rspec
         | 
| 48 | 
            +
              type: :development
         | 
| 55 49 | 
             
              prerelease: false
         | 
| 56 | 
            -
               | 
| 50 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 57 51 | 
             
                requirements:
         | 
| 58 52 | 
             
                - - ~>
         | 
| 59 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 60 54 | 
             
                    version: '2'
         | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
              written in C, which is used to manipulate RDF graphs. This is an alternative implementation
         | 
| 64 | 
            -
              of Ruby bindings (as opposed to the official bindings), aiming to be more intuitive,
         | 
| 65 | 
            -
              lightweight, high-performing and as bug-free as possible.
         | 
| 66 | 
            -
             | 
| 67 | 
            -
            '
         | 
| 55 | 
            +
            description: |
         | 
| 56 | 
            +
              Redlander is Ruby bindings to Redland library (see http://librdf.org) written in C, which is used to manipulate RDF graphs. This is an alternative implementation of Ruby bindings (as opposed to the official bindings), aiming to be more intuitive, lightweight, high-performing and as bug-free as possible.
         | 
| 68 57 | 
             
            email:
         | 
| 69 58 | 
             
            - slava.kravchenko@gmail.com
         | 
| 70 59 | 
             
            executables: []
         | 
| @@ -76,7 +65,6 @@ files: | |
| 76 65 | 
             
            - .gitignore
         | 
| 77 66 | 
             
            - ChangeLog
         | 
| 78 67 | 
             
            - Gemfile
         | 
| 79 | 
            -
            - Gemfile.lock
         | 
| 80 68 | 
             
            - LICENSE
         | 
| 81 69 | 
             
            - README.md
         | 
| 82 70 | 
             
            - Rakefile
         | 
| @@ -105,33 +93,26 @@ files: | |
| 105 93 | 
             
            homepage: https://github.com/cordawyn/redlander
         | 
| 106 94 | 
             
            licenses:
         | 
| 107 95 | 
             
            - The MIT License (MIT)
         | 
| 96 | 
            +
            metadata: {}
         | 
| 108 97 | 
             
            post_install_message: 
         | 
| 109 98 | 
             
            rdoc_options: []
         | 
| 110 99 | 
             
            require_paths:
         | 
| 111 100 | 
             
            - lib
         | 
| 112 101 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 113 102 | 
             
              requirements:
         | 
| 114 | 
            -
              - -  | 
| 103 | 
            +
              - - '>='
         | 
| 115 104 | 
             
                - !ruby/object:Gem::Version
         | 
| 116 | 
            -
                  segments:
         | 
| 117 | 
            -
                  - 0
         | 
| 118 | 
            -
                  hash: 202030683622946567
         | 
| 119 105 | 
             
                  version: '0'
         | 
| 120 | 
            -
              none: false
         | 
| 121 106 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 122 107 | 
             
              requirements:
         | 
| 123 | 
            -
              - -  | 
| 108 | 
            +
              - - '>='
         | 
| 124 109 | 
             
                - !ruby/object:Gem::Version
         | 
| 125 | 
            -
                  segments:
         | 
| 126 | 
            -
                  - 0
         | 
| 127 | 
            -
                  hash: 202030683622946567
         | 
| 128 110 | 
             
                  version: '0'
         | 
| 129 | 
            -
              none: false
         | 
| 130 111 | 
             
            requirements: []
         | 
| 131 112 | 
             
            rubyforge_project: 
         | 
| 132 | 
            -
            rubygems_version:  | 
| 113 | 
            +
            rubygems_version: 2.0.0.rc.2
         | 
| 133 114 | 
             
            signing_key: 
         | 
| 134 | 
            -
            specification_version:  | 
| 115 | 
            +
            specification_version: 4
         | 
| 135 116 | 
             
            summary: Advanced Ruby bindings for Redland runtime library (librdf).
         | 
| 136 117 | 
             
            test_files:
         | 
| 137 118 | 
             
            - spec/fixtures/doap.nt
         | 
    
        data/Gemfile.lock
    DELETED
    
    | @@ -1,30 +0,0 @@ | |
| 1 | 
            -
            PATH
         | 
| 2 | 
            -
              remote: .
         | 
| 3 | 
            -
              specs:
         | 
| 4 | 
            -
                redlander (0.5.3)
         | 
| 5 | 
            -
                  ffi (~> 1.3)
         | 
| 6 | 
            -
                  xml_schema (~> 0.1.3)
         | 
| 7 | 
            -
             | 
| 8 | 
            -
            GEM
         | 
| 9 | 
            -
              remote: http://rubygems.org/
         | 
| 10 | 
            -
              specs:
         | 
| 11 | 
            -
                diff-lcs (1.1.3)
         | 
| 12 | 
            -
                ffi (1.3.1)
         | 
| 13 | 
            -
                rake (10.0.3)
         | 
| 14 | 
            -
                rspec (2.12.0)
         | 
| 15 | 
            -
                  rspec-core (~> 2.12.0)
         | 
| 16 | 
            -
                  rspec-expectations (~> 2.12.0)
         | 
| 17 | 
            -
                  rspec-mocks (~> 2.12.0)
         | 
| 18 | 
            -
                rspec-core (2.12.2)
         | 
| 19 | 
            -
                rspec-expectations (2.12.1)
         | 
| 20 | 
            -
                  diff-lcs (~> 1.1.3)
         | 
| 21 | 
            -
                rspec-mocks (2.12.1)
         | 
| 22 | 
            -
                xml_schema (0.1.3)
         | 
| 23 | 
            -
             | 
| 24 | 
            -
            PLATFORMS
         | 
| 25 | 
            -
              ruby
         | 
| 26 | 
            -
             | 
| 27 | 
            -
            DEPENDENCIES
         | 
| 28 | 
            -
              rake
         | 
| 29 | 
            -
              redlander!
         | 
| 30 | 
            -
              rspec (~> 2)
         |