ruby-rdf / rdf

RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data.
http://rubygems.org/gems/rdf
The Unlicense
383 stars 98 forks source link

Error when using local files on Windows #443

Open jakubklimek opened 7 months ago

jakubklimek commented 7 months ago

When trying to work with CSV on the Web (rdf-tabular) on Windows, I get an error connected to how Windows paths are processed:

> rdf validate --input-format tabular 1.csv-metadata.json

C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:335:in `rescue in open_file': No such file or directory @ rb_sysopen - C%3A/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/1.csv (RDF::ReaderError)

Note that the file C:\Users\jakub\Downloads\rubyinstaller-3.2.2-1-x64\rubyinstaller-3.2.2-1-x64\bin\1.csv actually exists, but also note the path in the error starting with C%3A.

This may be related to #435 and may be reproduced with the same files as in https://github.com/ruby-rdf/rdf/issues/435#issuecomment-1099933164

Version info:

>ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]
>rdf --version
3.3.1

This definitely worked a year ago - and works fine with these versions:

gem install rdf:3.2.7 rdf-xsd:3.2.1 rdf-vocab:3.2.7 rdf-tabular:3.2.1

Full error:

C:\Users\jakub\Downloads\rubyinstaller-3.2.2-1-x64\rubyinstaller-3.2.2-1-x64\bin>rdf validate --input-format tabular 1.csv-metadata.json
C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:335:in `rescue in open_file': No such file or directory @ rb_sysopen - C%3A/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/1.csv (RDF::ReaderError)
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:317:in `open_file'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:221:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:218:in `block (2 levels) in each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1347:in `block in each_table'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1346:in `each'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1346:in `each_table'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:208:in `block in each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:264:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:198:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:177:in `each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:554:in `block in exec'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:710:in `block (2 levels) in parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:157:in `block (2 levels) in initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:264:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:198:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:98:in `block in initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:319:in `instance_eval'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:319:in `initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:76:in `initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:244:in `new'        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:244:in `block in open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:340:in `open_file'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:221:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:212:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:708:in `block in parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:707:in `each'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:707:in `parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:553:in `exec'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/bin/rdf:13:in `<top (required)>'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/rdf:32:in `load'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/rdf:32:in `<main>'
C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:335:in `rescue in open_file': No such file or directory @ rb_sysopen - C%3A/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/1.csv (IOError)
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:317:in `open_file'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:221:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:218:in `block (2 levels) in each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1347:in `block in each_table'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1346:in `each'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1346:in `each_table'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:208:in `block in each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:264:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:198:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:177:in `each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:554:in `block in exec'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:710:in `block (2 levels) in parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:157:in `block (2 levels) in initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:264:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:198:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:98:in `block in initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:319:in `instance_eval'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:319:in `initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:76:in `initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:244:in `new'        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:244:in `block in open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:340:in `open_file'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:221:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:212:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:708:in `block in parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:707:in `each'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:707:in `parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:553:in `exec'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/bin/rdf:13:in `<top (required)>'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/rdf:32:in `load'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/rdf:32:in `<main>'
C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:322:in `initialize': No such file or directory @ rb_sysopen - C%3A/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/1.csv (Errno::ENOENT)
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:322:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:322:in `open_file'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:221:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:218:in `block (2 levels) in each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1347:in `block in each_table'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1346:in `each'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/metadata.rb:1346:in `each_table'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:208:in `block in each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:264:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:198:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:177:in `each_statement'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:554:in `block in exec'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:710:in `block (2 levels) in parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:157:in `block (2 levels) in initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:264:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/logger.rb:198:in `log_depth'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:98:in `block in initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:319:in `instance_eval'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:319:in `initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-tabular-3.3.0/lib/rdf/tabular/reader.rb:76:in `initialize'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:244:in `new'        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:244:in `block in open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/util/file.rb:340:in `open_file'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:221:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/reader.rb:212:in `open'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:708:in `block in parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:707:in `each'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:707:in `parse'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/lib/rdf/cli.rb:553:in `exec'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/lib/ruby/gems/3.2.0/gems/rdf-3.3.1/bin/rdf:13:in `<top (required)>'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/rdf:32:in `load'
        from C:/Users/jakub/Downloads/rubyinstaller-3.2.2-1-x64/rubyinstaller-3.2.2-1-x64/bin/rdf:32:in `<main>'
gkellogg commented 7 months ago

From the trace, it's hard to see where the confusion is introduced. There is code in RDF::URI to not use the C: bit as a URI scheme on windows platforms, and this generally seems to work, as both the RDF and the rdf-tabular gems run CI on Windows. But, there may be some case where it's dealing with multiple tables and not taking the proper path. That might be in rdf/tabular/read.rb someplace around line 210. I'm handicapped by not having a Windows platform to try this out on, so if you're able to get in there with a debugger you might be able to see where it happens. I suspect the issue lies entirely in the rdf-tabular gem, and not the RDF.rb gem.