You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* 100% pure Ruby with minimal dependencies and no bloat.
36
37
* Fully compatible with [RDF 1.1][] specifications.
38
+
* Provisional support for [RDF 1.2][] specifications.
37
39
* 100% free and unencumbered [public domain](https://unlicense.org/) software.
38
40
* Provides a clean, well-designed RDF object model and related APIs.
39
41
* Supports parsing and serializing [N-Triples][] and [N-Quads][] out of the box, with more
@@ -45,11 +47,10 @@ This is a pure-Ruby library for working with [Resource Description Framework
45
47
not modify any of Ruby's core classes or standard library.
46
48
* Based entirely on Ruby's autoloading, meaning that you can generally make
47
49
use of any one part of the library without needing to load up the rest.
48
-
* Compatible with Ruby Ruby >= 2.4, Rubinius and JRuby 9.0+.
49
-
* Note, changes in mapping hashes to keyword arguments for Ruby 2.7+ may require that arguments be passed more explicitly, especially when the first argument is a Hash and there are optional keyword arguments. In this case, Hash argument may need to be explicitly included within `{}` and the optional keyword arguments may need to be specified using `**{}` if there are no keyword arguments.
50
+
* Compatible with Ruby Ruby >= 3.0, Rubinius and JRuby 9.0+.
51
+
* Note, changes in mapping hashes to keyword arguments for Ruby 3+ may require that arguments be passed more explicitly, especially when the first argument is a Hash and there are optional keyword arguments. In this case, Hash argument may need to be explicitly included within `{}` and the optional keyword arguments may need to be specified using `**{}` if there are no keyword arguments.
50
52
* Performs auto-detection of input to select appropriate Reader class if one
51
53
cannot be determined from file characteristics.
52
-
* Provisional support for [RDF*][].
53
54
54
55
### HTTP requests
55
56
@@ -102,6 +103,10 @@ the 1.1 release of RDF.rb:
102
103
103
104
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.
104
105
106
+
## Differences between RDF 1.1 and RDF 1.2
107
+
* {RDF::Literal} has an optional `direction` property for directional language-tagged strings.
108
+
* Removes support for legacy `text/plain` (as an alias for `application/n-triples`) and `text/x-nquads` (as an alias for `application/n-quads`)
109
+
105
110
## Tutorials
106
111
107
112
*[Getting data from the Semantic Web using Ruby and RDF.rb](https://semanticweb.org/wiki/Getting_data_from_the_Semantic_Web_%28Ruby%29)
@@ -260,23 +265,24 @@ A separate [SPARQL][SPARQL doc] gem builds on basic BGP support to provide full
[RDF.rb][] includes provisional support for [RDF*][] with an N-Triples/N-Quads syntax extension that uses inline statements in the _subject_ or _object_ position.
270
+
[RDF.rb][] includes provisional support for [RDF 1.2][] with an N-Triples/N-Quads syntax for quoted triples in the _subject_ or _object_ position.
271
+
[RDF.rb][] includes provisional support for [RDF 1.2][] directional language-tagged strings, which are literals of type `rdf:dirLangString` having both a `language` and `direction`.
266
272
267
273
Internally, an `RDF::Statement` is treated as another resource, along with `RDF::URI` and `RDF::Node`, which allows an `RDF::Statement` to have a `#subject` or `#object` which is also an `RDF::Statement`.
268
274
269
275
**Note: This feature is subject to change or elimination as the standards process progresses.**
270
276
271
-
### Serializing a Graph containing embedded statements
Copy file name to clipboardExpand all lines: lib/rdf/mixin/enumerable.rb
+23-2Lines changed: 23 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,8 @@ def to_a
83
83
# * `:literal_equality' preserves [term-equality](https://www.w3.org/TR/rdf11-concepts/#dfn-literal-term-equality) for literals. Literals are equal only if their lexical values and datatypes are equal, character by character. Literals may be "inlined" to value-space for efficiency only if `:literal_equality` is `false`.
84
84
# * `:validity` allows a concrete Enumerable implementation to indicate that it does or does not support valididty checking. By default implementations are assumed to support validity checking.
85
85
# * `:skolemize` supports [Skolemization](https://www.w3.org/wiki/BnodeSkolemization) of an `Enumerable`. Implementations supporting this feature must implement a `#skolemize` method, taking a base URI used for minting URIs for BNodes as stable identifiers and a `#deskolemize` method, also taking a base URI used for turning URIs having that prefix back into the same BNodes which were originally skolemized.
86
-
# * `:rdfstar` supports RDF* where statements may be subjects or objects of other statements.
0 commit comments