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
Copy file name to clipboardExpand all lines: README.md
+68-14Lines changed: 68 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -41,20 +41,70 @@ The [MultiJson](https://rubygems.org/gems/multi_json) gem is used for parsing an
41
41
42
42
The {JSON::LD::API.expand}, {JSON::LD::API.compact}, {JSON::LD::API.toRdf}, and {JSON::LD::API.fromRdf} API methods, along with the {JSON::LD::Reader} and {JSON::LD::Writer}, include provisional support for [JSON-LD-star][JSON-LD-star].
43
43
44
-
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`.
44
+
Internally, an `RDF::Statement` is treated as another resource, along with `RDF::URI` and `RDF::Node`, which allows an `RDF::Statement` to have an`#object` which is also an `RDF::Statement`.
45
45
46
-
In JSON-LD, with the `rdfstar` option set, the value of `@id`, in addition to an IRI or Blank Node Identifier, can be a JSON-LD node object having exactly one property with an optional `@id`, which may also be an embedded object. (It may also have `@context` and `@index` values).
46
+
#### Triple Terms
47
+
48
+
In JSON-LD, with the `rdfstar` option set, a node object have an `@triple` property (or alias) instead of `@id`, identifies the value of `@triple` as a [Triple Term](https://www.w3.org/TR/rdf12-concepts/#dfn-triple-term). The constraint on the value of `@triple` can be a JSON-LD node object having exactly one property with an optional `@id`, which may also be an triple term. (It may also have `@context` and `@index` values).
An object including `@triple`**MUST NOT** define any extra properties for which that triple term would be used as the subject.
64
+
65
+
#### Reifying Triples
66
+
67
+
As RDF-star prefers the use of [reifiers](https://www.w3.org/TR/rdf12-concepts/#dfn-reifier) as a way to use a triple term. In this case the property `@refies` (or alias) defines one (or more) triples which are _reified_ by the subject of the containing _node object_. The interpretation of a node object including `@reifies` creates a triple term for the triple(s) defined by the content of the block. The subject of that node object (`@id` or a default blank node) becomes the _reifier_ of the associated triple term(s).
Additionally, the `@annotation` property (or alias) may be used on a node object or value object to annotate the statement for which the associated node is the object of a triple.
59
109
60
110
{
@@ -66,42 +116,46 @@ Additionally, the `@annotation` property (or alias) may be used on a node object
66
116
}
67
117
}
68
118
69
-
In the first case, the embedded node is not asserted, and only appears as the subject of a triple. In the second case, the triple is asserted and used as the subject in another statement which annotates it.
119
+
In the case of Reifying Triples, the embedded triple term is not asserted, and only appears as the subject of a triple. In the second case, the triple is asserted and used as the subject in another statement which annotates it.
70
120
71
121
**Note: This feature is subject to change or elimination as the standards process progresses.**
72
122
73
-
#### Serializing a Graph containing embedded statements
{JSON::LD::API.toRdf} (and {JSON::LD::Reader}) support a boolean valued `rdfstar` option; only one statement is asserted, although the reified statement is contained within the graph.
0 commit comments