README.md in rdf-3.0.11 vs README.md in rdf-3.0.12

- old
+ new

@@ -1,26 +1,26 @@ # RDF.rb: Linked Data for Ruby This is a pure-Ruby library for working with [Resource Description Framework (RDF)][RDF] data. -* <http://ruby-rdf.github.com/rdf> -* <http://blog.datagraph.org/2010/12/rdf-for-ruby> -* <http://blog.datagraph.org/2010/03/rdf-for-ruby> -* <http://blog.datagraph.org/2010/04/parsing-rdf-with-ruby> -* <http://blog.datagraph.org/2010/04/rdf-repository-howto> +* <https://ruby-rdf.github.com/rdf> +* <https://blog.datagraph.org/2010/12/rdf-for-ruby> +* <https://blog.datagraph.org/2010/03/rdf-for-ruby> +* <https://blog.datagraph.org/2010/04/parsing-rdf-with-ruby> +* <https://blog.datagraph.org/2010/04/rdf-repository-howto> -[![Gem Version](https://badge.fury.io/rb/rdf.png)](http://badge.fury.io/rb/rdf) -[![Build Status](https://travis-ci.org/ruby-rdf/rdf.png?branch=master)](http://travis-ci.org/ruby-rdf/rdf) +[![Gem Version](https://badge.fury.io/rb/rdf.png)](https://badge.fury.io/rb/rdf) +[![Build Status](https://travis-ci.org/ruby-rdf/rdf.png?branch=master)](https://travis-ci.org/ruby-rdf/rdf) [![Coverage Status](https://coveralls.io/repos/ruby-rdf/rdf/badge.svg)](https://coveralls.io/r/ruby-rdf/rdf) [![Join the chat at https://gitter.im/ruby-rdf/rdf](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ruby-rdf/rdf?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) ## Features * 100% pure Ruby with minimal dependencies and no bloat. * Fully compatible with [RDF 1.1][] specifications. -* 100% free and unencumbered [public domain](http://unlicense.org/) software. +* 100% free and unencumbered [public domain](https://unlicense.org/) software. * Provides a clean, well-designed RDF object model and related APIs. * Supports parsing and serializing [N-Triples][] and [N-Quads][] out of the box, with more serialization format support available through add-on extensions. * Includes in-memory graph and repository implementations, with more storage adapter support available through add-on extensions. @@ -48,15 +48,15 @@ the 1.1 release of RDF.rb: * Introduces {RDF::IRI}, as a synonym for {RDF::URI} either {RDF::IRI} or {RDF::URI} can be used interchangeably. Versions of RDF.rb prior to the 1.1 release were already compatible with IRIs. Internationalized Resource Identifiers (see [RFC3987][]) are a super-set of URIs (see [RFC3986][]) which allow for characters other than standard US-ASCII. * {RDF::URI} no longer uses the `Addressable` gem. As URIs typically don't need to be parsed, this provides a substantial performance improvement when enumerating or querying graphs and repositories. * {RDF::List} no longer emits a `rdf:List` type. However, it will now recognize any subjects that are {RDF::Node} instances as being list elements, as long as they have both `rdf:first` and `rdf:rest` predicates. -* {RDF::Graph} adding a `graph_name` to a graph may only be done when the underlying storage model supports graph_names (the default {RDF::Repository} does). The notion of `graph_name` in RDF.rb is treated equivalently to [Named Graphs](http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph) within an RDF Dataset, and graphs on their own are not named. +* {RDF::Graph} adding a `graph_name` to a graph may only be done when the underlying storage model supports graph_names (the default {RDF::Repository} does). The notion of `graph_name` in RDF.rb is treated equivalently to [Named Graphs](https://www.w3.org/TR/rdf11-concepts/#dfn-named-graph) within an RDF Dataset, and graphs on their own are not named. * {RDF::Graph}, {RDF::Statement} and {RDF::List} now include {RDF::Value}, and not {RDF::Resource}. Made it clear that using {RDF::Graph} does not mean that it may be used within an {RDF::Statement}, for this see {RDF::Term}. * {RDF::Statement} now is stricter about checking that all elements are valid when validating. * {RDF::NTriples::Writer} and {RDF::NQuads::Writer} now default to validate output, only allowing valid statements to be emitted. This may disabled by setting the `:validate` option to `false`. -* {RDF::Dataset} is introduced as a class alias of {RDF::Repository}. This allows closer alignment to the RDF concept of [Dataset](http://www.w3.org/TR/rdf11-concepts/#dfn-dataset). +* {RDF::Dataset} is introduced as a class alias of {RDF::Repository}. This allows closer alignment to the RDF concept of [Dataset](https://www.w3.org/TR/rdf11-concepts/#dfn-dataset). * The `graph_name` of a graph within a Dataset or Repository may be either an {RDF::IRI} or {RDF::Node}. Implementations of repositories may restrict this to being only {RDF::IRI}. * There are substantial and somewhat incompatible changes to {RDF::Literal}. In [RDF 1.1][], all literals are typed, including plain literals and language tagged literals. Internally, plain literals are given the `xsd:string` datatype and language tagged literals are given the `rdf:langString` datatype. Creating a plain literal, without a datatype or language, will automatically provide the `xsd:string` datatype; similar for language tagged literals. Note that most serialization formats will remove this datatype. Code which depends on a literal having the `xsd:string` datatype being different from a plain literal (formally, without a datatype) may break. However note that the `#has\_datatype?` will continue to return `false` for plain or language-tagged literals. * {RDF::Query#execute} now accepts a block and returns {RDF::Query::Solutions}. This allows `enumerable.query(query)` to behave like `query.execute(enumerable)` and either return an enumerable or yield each solution. * {RDF::Queryable#query} now returns {RDF::Query::Solutions} instead of an Enumerator if it's argument is an {RDF::Query}. * {RDF::Util::File.open\_file} now performs redirects and manages `base_uri` based on W3C recommendations: @@ -68,13 +68,13 @@ Notably, {RDF::Queryable#query} and {RDF::Query#execute} are now completely symmetric; this allows an implementation of {RDF::Queryable} to optimize queries using implementation-specific logic, allowing for substantial performance improvements when executing BGP queries. ## Tutorials -* [Getting data from the Semantic Web using Ruby and RDF.rb](http://semanticweb.org/wiki/Getting_data_from_the_Semantic_Web_%28Ruby%29) -* [Using RDF.rb and Spira to process RDF data from the British Ordnance Survey](http://stephenpope.co.uk/?p=85) -* [Getting started with RDF and SPARQL using 4store and RDF.rb](http://www.jenitennison.com/blog/node/152) +* [Getting data from the Semantic Web using Ruby and RDF.rb](https://semanticweb.org/wiki/Getting_data_from_the_Semantic_Web_%28Ruby%29) +* [Using RDF.rb and Spira to process RDF data from the British Ordnance Survey](https://stephenpope.co.uk/?p=85) +* [Getting started with RDF and SPARQL using 4store and RDF.rb](https://www.jenitennison.com/blog/node/152) ## Command Line When installed, RDF.rb includes a `rdf` shell script which acts as a wrapper to perform a number of different operations on RDF files using available readers and writers. @@ -104,15 +104,15 @@ RDF::Writer.open("hello.nt") { |writer| writer << graph } ### Reading RDF data in the [N-Triples][] format require 'rdf/ntriples' - graph = RDF::Graph.load("http://ruby-rdf.github.com/rdf/etc/doap.nt") + graph = RDF::Graph.load("https://ruby-rdf.github.com/rdf/etc/doap.nt") or - RDF::Reader.open("http://ruby-rdf.github.com/rdf/etc/doap.nt") do |reader| + RDF::Reader.open("https://ruby-rdf.github.com/rdf/etc/doap.nt") do |reader| reader.each_statement do |statement| puts statement.inspect end end @@ -122,17 +122,17 @@ option where the specific format symbol is determined by the available readers. Both also use MimeType or file extension, where available. require 'rdf/nquads' - graph = RDF::Graph.load("http://ruby-rdf.github.com/rdf/etc/doap.nq", format: :nquads) + graph = RDF::Graph.load("https://ruby-rdf.github.com/rdf/etc/doap.nq", format: :nquads) A specific sub-type of Reader can also be invoked directly: require 'rdf/nquads' - RDF::NQuads::Reader.open("http://ruby-rdf.github.com/rdf/etc/doap.nq") do |reader| + RDF::NQuads::Reader.open("https://ruby-rdf.github.com/rdf/etc/doap.nq") do |reader| reader.each_statement do |statement| puts statement.inspect end end @@ -180,11 +180,11 @@ ### Querying RDF data using basic graph patterns (BGPs) require 'rdf/ntriples' - graph = RDF::Graph.load("http://ruby-rdf.github.com/rdf/etc/doap.nt") + graph = RDF::Graph.load("https://ruby-rdf.github.com/rdf/etc/doap.nt") query = RDF::Query.new({ person: { RDF.type => FOAF.Person, FOAF.name => :name, FOAF.mbox => :email, @@ -201,11 +201,11 @@ puts "name=#{solution.name} email=#{solution.email}" end In general, querying from using the `queryable` instance allows a specific implementation of `queryable` to perform query optimizations specific to the datastore on which it is based. -A separate [SPARQL][SPARQL doc] gem builds on basic BGP support to provide full support for [SPARQL 1.0](http://www.w3.org/TR/rdf-sparql-query/) queries. +A separate [SPARQL][SPARQL doc] gem builds on basic BGP support to provide full support for [SPARQL 1.1][] queries. ### Using pre-defined RDF vocabularies DC.title #=> RDF::URI("http://purl.org/dc/terms/title") FOAF.knows #=> RDF::URI("http://xmlns.com/foaf/0.1/knows") @@ -222,37 +222,35 @@ foaf[:name] #=> RDF::URI("http://xmlns.com/foaf/0.1/name") foaf['mbox'] #=> RDF::URI("http://xmlns.com/foaf/0.1/mbox") ## Documentation -<http://rubydoc.info/github/ruby-rdf/rdf/frames> +<https://rubydoc.info/github/ruby-rdf/rdf> ### RDF Object Model -<http://blog.datagraph.org/2010/03/rdf-for-ruby> - * {RDF::Value} * {RDF::Term} * {RDF::Literal} * {RDF::Literal::Boolean} * {RDF::Literal::Date} * {RDF::Literal::DateTime} * {RDF::Literal::Decimal} * {RDF::Literal::Double} * {RDF::Literal::Integer} * {RDF::Literal::Time} - * [RDF::XSD](http://rubydoc.info/github/gkellogg/rdf-xsd/master/frames) (extension) + * [RDF::XSD](https://rubydoc.info/github/gkellogg/rdf-xsd) (extension) * {RDF::Resource} * {RDF::Node} * {RDF::URI} * {RDF::List} * {RDF::Graph} * {RDF::Statement} ### RDF Serialization -<http://blog.datagraph.org/2010/04/parsing-rdf-with-ruby> +<https://blog.datagraph.org/2010/04/parsing-rdf-with-ruby> * {RDF::Format} * {RDF::Reader} * {RDF::Writer} @@ -265,12 +263,12 @@ * {RDF::NQuads} * [JSON::LD][] (extension) * [RDF::JSON][] (extension) * [RDF::Microdata][] (extension) * [RDF::N3][] (extension) -* [RDF::Raptor::RDFXML](http://ruby-rdf.github.io/rdf-raptor) (extension) -* [RDF::Raptor::Turtle](http://ruby-rdf.github.io/rdf-raptor) (extension) +* [RDF::Raptor::RDFXML](https://ruby-rdf.github.io/rdf-raptor) (extension) +* [RDF::Raptor::Turtle](https://ruby-rdf.github.io/rdf-raptor) (extension) * [RDF::RDFa][] (extension) * [RDF::RDFXML][] (extension) * [RDF::TriG][] (extension) * [RDF::TriX][] (extension) * [RDF::Turtle][] (extension) @@ -278,11 +276,11 @@ The meta-gem [LinkedData][LinkedData doc] includes many of these gems. ### RDF Datatypes RDF.rb only implements core datatypes from the -[RDF Datatype Map](http://www.w3.org/TR/rdf11-concepts/#datatype-maps). Most other +[RDF Datatype Map](https://www.w3.org/TR/rdf11-concepts/#datatype-maps). Most other XSD and RDF datatype implementations can be find in the following: * {RDF::XSD} ### Graph Isomorphism @@ -294,34 +292,34 @@ * `RDF::Isomorphic` ### RDF Storage -<http://blog.datagraph.org/2010/04/rdf-repository-howto> +<https://blog.datagraph.org/2010/04/rdf-repository-howto> * {RDF::Repository} * {RDF::Countable} * {RDF::Enumerable} * {RDF::Indexable} * {RDF::Queryable} * {RDF::Mutable} * {RDF::Durable} * {RDF::Transaction} -* [RDF::AllegroGraph](http://rubydoc.info/github/ruby-rdf/rdf-agraph) (extension) -* [RDF::Mongo](http://rubydoc.info/github/ruby-rdf/rdf-mongo) (extension) -* [RDF::DataObjects](http://rubydoc.info/github/ruby-rdf/rdf-do) (extension) -* [RDF::Sesame](http://www.rubydoc.info/github/ruby-rdf/rdf-sesame) (extension) +* [RDF::AllegroGraph](https://rubydoc.info/github/ruby-rdf/rdf-agraph) (extension) +* [RDF::Mongo](https://rubydoc.info/github/ruby-rdf/rdf-mongo) (extension) +* [RDF::DataObjects](https://rubydoc.info/github/ruby-rdf/rdf-do) (extension) +* [RDF::Sesame](https://rubydoc.info/github/ruby-rdf/rdf-sesame) (extension) ### RDF Querying * {RDF::Query} * {RDF::Query::HashPatternNormalizer} * {RDF::Query::Pattern} * {RDF::Query::Solution} * {RDF::Query::Solutions} * {RDF::Query::Variable} -* [SPARQL](http://rubydoc.info/github/ruby-rdf/sparql) (extension) +* [SPARQL](https://rubydoc.info/github/ruby-rdf/sparql) (extension) ### RDF Vocabularies * {RDF} - Resource Description Framework (RDF) @@ -331,17 +329,17 @@ * {RDF::XSD} - XML Schema (XSD) ## Dependencies -* [Ruby](http://ruby-lang.org/) (>= 2.2) +* [Ruby](https://ruby-lang.org/) (>= 2.2) * [LinkHeader][] (>= 0.0.8) * Soft dependency on [RestClient][] (>= 1.7) ## Installation -The recommended installation method is via [RubyGems](http://rubygems.org/). +The recommended installation method is via [RubyGems](https://rubygems.org/). To install the latest official release of RDF.rb, do: % [sudo] gem install rdf # Ruby 2+ ## Download @@ -351,43 +349,42 @@ % git clone git://github.com/ruby-rdf/rdf.git Alternatively, download the latest development version as a tarball as follows: - % wget http://github.com/ruby-rdf/rdf/tarball/master + % wget https://github.com/ruby-rdf/rdf/tarball/master ## Resources -* <http://rubydoc.info/github/ruby-rdf/rdf/frames> -* <http://github.com/ruby-rdf/rdf> -* <http://rubygems.org/gems/rdf> -* <http://raa.ruby-lang.org/project/rdf/> -* <http://www.ohloh.net/p/rdf> +* <https://rubydoc.info/github/ruby-rdf/rdf> +* <https://github.com/ruby-rdf/rdf> +* <https://rubygems.org/gems/rdf> +* <https://www.ohloh.net/p/rdf> ## Mailing List -* <http://lists.w3.org/Archives/Public/public-rdf-ruby/> +* <https://lists.w3.org/Archives/Public/public-rdf-ruby/> ## Authors -* [Arto Bendiken](http://github.com/bendiken) - <http://ar.to/> -* [Ben Lavender](http://github.com/bhuga) - <http://bhuga.net/> -* [Gregg Kellogg](http://github.com/gkellogg) - <http://greggkellogg.net/> +* [Arto Bendiken](https://github.com/artob) - <https://ar.to/> +* [Ben Lavender](https://github.com/bhuga) - <https://bhuga.net/> +* [Gregg Kellogg](https://github.com/gkellogg) - <https://greggkellogg.net/> ## Contributors -* [Călin Ardelean](http://github.com/clnx) - <http://github.com/clnx> -* [Mark Borkum](http://github.com/markborkum) - <http://github.com/markborkum> -* [Danny Gagne](http://github.com/danny) - <http://www.dannygagne.com/> -* [Joey Geiger](http://github.com/jgeiger) - <http://github.com/jgeiger> -* [Fumihiro Kato](http://github.com/fumi) - <http://fumi.me/> -* [Naoki Kawamukai](http://github.com/kna) - <http://github.com/kna> +* [Călin Ardelean](https://github.com/clnx) - <https://github.com/clnx> +* [Mark Borkum](https://github.com/markborkum) - <https://github.com/markborkum> +* [Danny Gagne](https://github.com/danny) - <http://www.dannygagne.com/> +* [Joey Geiger](https://github.com/jgeiger) - <https://github.com/jgeiger> +* [Fumihiro Kato](https://github.com/fumi) - <https://fumi.me/> +* [Naoki Kawamukai](https://github.com/kna) - <https://github.com/kna> * [Tom Nixon](https://github.com/tomjnixon) - <https://github.com/tomjnixon> -* [Hellekin O. Wolf](http://github.com/hellekin) - <http://hellekin.cepheide.org/> -* [John Fieber](http://github.com/jfieber) - <http://github.com/jfieber> -* [Keita Urashima](http://github.com/ursm) - <http://ursm.jp/> -* [Pius Uzamere](http://github.com/pius) - <http://pius.me/> +* [Hellekin O. Wolf](https://github.com/hellekin) - <https://hellekin.cepheide.org/> +* [John Fieber](https://github.com/jfieber) - <https://github.com/jfieber> +* [Keita Urashima](https://github.com/ursm) - <https://ursm.jp/> +* [Pius Uzamere](https://github.com/pius) - <http://pius.me/> * [Judson Lester](https://github.com/nyarly) - <https://github.com/nyarly> * [Peter Vandenabeele](https://github.com/petervandenabeele) - <https://github.com/petervandenabeele> * [Tom Johnson](https://github.com/no-reply) - <https://github.com/no-reply> ## Contributing @@ -410,42 +407,42 @@ explicit [public domain dedication][PDD] on record from you. ## License This is free and unencumbered public domain software. For more information, -see <http://unlicense.org/> or the accompanying {file:UNLICENSE} file. +see <https://unlicense.org/> or the accompanying {file:UNLICENSE} file. -[RDF]: http://www.w3.org/RDF/ -[N-Triples]: http://www.w3.org/TR/n-triples/ -[N-Quads]: http://www.w3.org/TR/n-quads/ -[YARD]: http://yardoc.org/ -[YARD-GS]: http://rubydoc.info/docs/yard/file/docs/GettingStarted.md -[PDD]: http://lists.w3.org/Archives/Public/public-rdf-ruby/2010May/0013.html -[JSONLD doc]: http://rubydoc.info/github/ruby-rdf/json-ld/frames -[LinkedData doc]: http://rubydoc.info/github/datagraph/linkeddata/master/frames -[Microdata doc]: http://rubydoc.info/github/ruby-rdf/rdf-microdata/frames -[N3 doc]: http://rubydoc.info/github/ruby-rdf/rdf-n3/master/frames -[RDFa doc]: http://rubydoc.info/github/ruby-rdf/rdf-rdfa/master/frames -[RDFXML doc]: http://rubydoc.info/github/ruby-rdf/rdf-rdfxml/master/frames -[Turtle doc]: http://rubydoc.info/github/ruby-rdf/rdf-turtle/master/frames -[SPARQL doc]: http://rubydoc.info/github/ruby-rdf/sparql/frames -[RDF 1.0]: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ -[RDF 1.1]: http://www.w3.org/TR/rdf11-concepts/ -[SPARQL 1.0]: http://www.w3.org/TR/rdf-sparql-query/ -[RDF.rb]: http://ruby-rdf.github.com/ -[RDF::DO]: http://ruby-rdf.github.com/rdf-do -[RDF::Mongo]: http://ruby-rdf.github.com/rdf-mongo -[RDF::Sesame]: http://ruby-rdf.github.com/rdf-sesame -[RDF::JSON]: http://ruby-rdf.github.com/rdf-json -[RDF::Microdata]: http://ruby-rdf.github.com/rdf-microdata -[RDF::N3]: http://ruby-rdf.github.com/rdf-n3 -[RDF::RDFa]: http://ruby-rdf.github.com/rdf-rdfa -[RDF::RDFXML]: http://ruby-rdf.github.com/rdf-rdfxml -[RDF::TriG]: http://ruby-rdf.github.com/rdf-trig -[RDF::TriX]: http://ruby-rdf.github.com/rdf-trix -[RDF::Turtle]: http://ruby-rdf.github.com/rdf-turtle -[RDF::Raptor]: http://ruby-rdf.github.com/rdf-raptor -[LinkedData]: http://ruby-rdf.github.com/linkeddata -[JSON::LD]: http://gkellogg.github.com/json-ld +[RDF]: https://www.w3.org/RDF/ +[N-Triples]: https://www.w3.org/TR/n-triples/ +[N-Quads]: https://www.w3.org/TR/n-quads/ +[YARD]: https://yardoc.org/ +[YARD-GS]: https://rubydoc.info/docs/yard/file/docs/GettingStarted.md +[PDD]: https://lists.w3.org/Archives/Public/public-rdf-ruby/2010May/0013.html +[JSONLD doc]: https://rubydoc.info/github/ruby-rdf/json-ld +[LinkedData doc]: https://rubydoc.info/github/datagraph/linkeddata +[Microdata doc]: https://rubydoc.info/github/ruby-rdf/rdf-microdata +[N3 doc]: https://rubydoc.info/github/ruby-rdf/rdf-n3 +[RDFa doc]: https://rubydoc.info/github/ruby-rdf/rdf-rdfa +[RDFXML doc]: https://rubydoc.info/github/ruby-rdf/rdf-rdfxml +[Turtle doc]: https://rubydoc.info/github/ruby-rdf/rdf-turtle +[SPARQL doc]: https://rubydoc.info/github/ruby-rdf/sparql +[RDF 1.0]: https://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ +[RDF 1.1]: https://www.w3.org/TR/rdf11-concepts/ +[SPARQL 1.1]: https://www.w3.org/TR/sparql11-query/ +[RDF.rb]: https://ruby-rdf.github.com/ +[RDF::DO]: https://ruby-rdf.github.com/rdf-do +[RDF::Mongo]: https://ruby-rdf.github.com/rdf-mongo +[RDF::Sesame]: https://ruby-rdf.github.com/rdf-sesame +[RDF::JSON]: https://ruby-rdf.github.com/rdf-json +[RDF::Microdata]: https://ruby-rdf.github.com/rdf-microdata +[RDF::N3]: https://ruby-rdf.github.com/rdf-n3 +[RDF::RDFa]: https://ruby-rdf.github.com/rdf-rdfa +[RDF::RDFXML]: https://ruby-rdf.github.com/rdf-rdfxml +[RDF::TriG]: https://ruby-rdf.github.com/rdf-trig +[RDF::TriX]: https://ruby-rdf.github.com/rdf-trix +[RDF::Turtle]: https://ruby-rdf.github.com/rdf-turtle +[RDF::Raptor]: https://ruby-rdf.github.com/rdf-raptor +[LinkedData]: https://ruby-rdf.github.com/linkeddata +[JSON::LD]: https://ruby-rdf.github.com/json-ld [RestClient]: https://rubygems.org/gems/rest-client [RestClient Components]: https://rubygems.org/gems/rest-client-components -[Rack::Cache]: http://rtomayko.github.io/rack-cache/ +[Rack::Cache]: https://rtomayko.github.io/rack-cache/ \ No newline at end of file