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
@@ -14,129 +14,139 @@ Markup Shorthands: markdown yes, css no
14
14
15
15
<!-- Abstract: The RDF Context Association specification provides instructions for clients to interpret associations of contextual data to a closed set of target statements in RDF. It defines how closed sets of statements can be modeled in RDF as Named Graphs with Blank Node name identifiers (Blank Node Graphs) and the modeling of sets of Blank Node Graphs that can be interpreted as a single closed set of quad statements. -->
16
16
17
+
<!-- useful sources? -->
18
+
<!-- [Semantics of RDF Datasets](https://www.w3.org/TR/rdf11-datasets/) -->
Issue: define namespace `ca` as `https://w3id.org/contextassociations#`,
21
28
22
-
Issue: discuss naming over the whole document!
29
+
Issue: discuss the used names over the whole document!
23
30
31
+
`RDF Context Associations` are a modeling approach associations of information to a closed set of
32
+
RDF statements that remain unambiguous under storage, merging and processing operations in the RDF stack.
33
+
As current specifications for policies, provenance and signatures in RDF do not define specific
34
+
semantics requirements for their targets except for defining the target as a URI,
35
+
the processing of the associated set of statements to this contextual information in the RDF stack
36
+
is left up to interpretation.
24
37
25
-
`RDF Context Associations` is a modeling approach to define relations to a set or a collection of sets of RDF statements
26
-
that remains unambiguous under storage, merging and processing operations in the RDF stack.
27
-
As many specification for policies, provenance and signature do not provide specific semantics in RDF
28
-
in how to process their associated sets of statements, as these are abstracted as a URI,
29
-
they do not provide a stable basis for building Semantic Web stacks that incorporate the contextual
30
-
information that is present throughout networks.
38
+
The goal of this specification is to provide a modeling approach that enables the definition of
39
+
a closed set of statements (or collection of sets of statements) in RDF that when targeted by contextual
40
+
information remains unambiguous when processed throughout the network in which they are exchanged
41
+
and the RDF stack in which they are processed.
31
42
32
-
This specification aims to define a modeling approach that follows a set of rules that enables the
33
-
modeling of associations of contextual information with unambiguous sets of target statements that
34
-
remains unambiguous throughout the network when exchanging, storing and processing the data.
43
+
This raises the following set of requirements that have to be fulfilled:
44
+
(i) the unambiguity of the referenced set of statements,
45
+
(ii) the ability to unambiguously reference the union of multiple such sets of statements,
46
+
(iii) the interpretation of the target should not influence the contextual information model,
47
+
(iv) the data model used for the associations should remain compatible with the core RDF specification
48
+
and (v) that any set of RDF quads can be converted to a valid target for such a context association.
35
49
36
-
The requirements for a succesful model are
37
-
(i) the unambiguity of a referenced set of statements,
38
-
(ii) the referencing of mutliple distinct sets of statements as a union,
39
-
(iii) the restriction the modeling approach to RDF 1.1 and
40
-
(iv) the ability to model contextual information over any set of existing RDF 1.1 data including quads.
50
+
Issue: rephrase this baseuri presentation
41
51
42
52
The base URI for RDF Context Association is https://w3id.org/ca#, and the preferred prefix is `ca`:. Other prefixes are used following [prefix.cc](prefix.cc).
43
53
54
+
55
+
56
+
44
57
Blank Node Graphs {#blank_node_graphs}
45
58
======================================
46
59
47
-
The basis of the Context Association model in RDF is the
48
-
use of Named Graphs to define sets of statements that
49
-
can be targeted.
50
-
However, to make the interpretation of these context associations
51
-
consistent and unambiguous throughout the network, both the semantic
52
-
interpretation and syntactic expression of these Named Graphs need to
53
-
be defined.
60
+
Issue: We have a choice here to either provide specific predicates / types to indicate a required interpretation OR an RDF profile.
61
+
The choice for using a profile is much more interesting in terms of reusability, as agreeing on graph interpretation is a broader issue to solve.
62
+
Additionally, the use of predicates and classes has 2 problems:
63
+
1. if the identifying type is not present, interpretation changes, which should not be possible under RDF
64
+
2. if the type is present but no graph uses that identifier, we have an inconsistency.
65
+
Hence the choice we make will be for a profile.
66
+
67
+
The main requirement for the target approach to model context associations in RDF is
68
+
the ability to define contextual information over a closed set of targe statements that
69
+
remain unambiguous under storage, exchange and processing throughout the network.
70
+
The RDF core specification provides three approaches to modeling statements about statements
71
+
in the use of reification, named graphs and triple terms.
72
+
As named graphs is the only modeling approach that can target sets of statements,
73
+
we use this as the baseline for the modeling approach to define context associations.
74
+
75
+
The use of Named Graphs in RDF requires the addition of concrete rules for definition
76
+
and interpretation of the context association model, that are enforced through the use
With regards to the semantic interpretation of the trust value of
92
-
the triple statements contained by the RDF Graph of a Named Graph,
93
-
we make no claim as to how these should be enforced.
94
-
A sensible default however is to NOT evaluate the Graph contents
95
-
of a referenced Named Graph before the associated contextual
96
-
information has been evaluated, as these might help strategize the
97
-
interpretation of the referenced graph content.
98
-
99
121
100
-
Issue: Either we do the above and say nothing explicitly, as nothing
101
-
is specced, otherwise we would need an RDF profile to indicate interpretation.\
102
-
Such a profile might be able to alleviate other things such as the explicit GraphIdentifier class however.
122
+
## Preventing ambiguity using Blank Nodes identifiers
103
123
104
-
<!--
105
-
To alert consumers of this interpretation, a context association
106
-
targeting a set of statements defined in a graph `A`
107
-
MUST define this graph with the `rdf:type` of `ca:GraphIdentifier`.
108
-
Any relation that references an identifier with associated type
109
-
`ca:GraphIdentifier` MUST be interpreted as a referencing the
110
-
associated RDF Graph defined by the Named Graph corresponding
111
-
to that identifier. -->
124
+
Issue: is blank nodes a SHOULD or a MUST (even if you can guarantee uniqueness of the graph name URIs?)
112
125
126
+
In addition to semantic interpretation, the syntactic expression of context associations
127
+
using named graphs must also remain unambiguous throughout its use in the network.
128
+
The RDF specification defines that merging different sources of RDF data requires
129
+
their named graphs to be combined using the `merge` or `union` operation on their contained graphs.
130
+
Because of this, named graphs sharing the same name identifiers in different sources
131
+
are combined into a single named graph when combining RDF from different sources.
132
+
To prevent this behavior invalidating context associations when merging data,
133
+
the use of blank nodes as name identifiers for named graphs is advised when uniqueness of graph names cannot be guaranteed.
113
134
114
-
## Preventing ambiguity using Blank Node Graphs
135
+
Defining the target set of triple statements of a context association in RDF SHOULD
136
+
make use of a blank node as the name identifier of the named graph that contains the
137
+
target set of triple statements.
138
+
If cases where the target set of statements needs to be referenced by external sources,
139
+
the use of [Skolemized identifiers](https://www.w3.org/TR/rdf11-mt/#skolemization-informative)
140
+
guarantees tge unique generation of name identifiers, while remaining referenceable outside the local RDF scope.
115
141
116
-
<!-- 2. we need to enforce unambiguity - by restricting to the local scope to achieve graph closure -->
117
-
Merging RDF data from different sources that include Named Graphs,
118
-
the RDF specification defines that graphs sharing an identical name value
119
-
must be merged using the `merge` or `union` operation of their RDF Graphs.
120
-
To prevent unwanted merging of context associations when merging data,
121
-
a guarantee is required that the graph name values will never clash.
122
142
123
-
<!-- open world assumption? -> [Found this link](https://www.w3.org/TR/rdf-mt/#:~:text=RDF%20is%20an%20assertional%20logic%2C%20in%20which%20each%20triple%20expresses%20a%20simple%20proposition.%20This%20imposes%20a%20fairly%20strict%20monotonic%20discipline%20on%20the%20language%2C%20so%20that%20it%20cannot%20express%20closed%2Dworld%20assumptions%2C%20local%20default%20preferences%2C%20and%20several%20other%20commonly%20used%20non%2Dmonotonic%20constructs.) -->
124
143
125
-
Issue: is blank nodes a SHOULD or a MUST (if you can guarantee URI uniqueness?)
144
+
Multiple Graph Associations {#multiple_graphs}
145
+
==============================================
126
146
127
-
The use of Blank Node identifiers for the name value of any Named Graphs
128
-
prevents the occurrence of multiple Named Graphs with the same name value.
129
-
As Blank Node identifiers MUST be relabeled when merging RDF from different sources,
130
-
this guarantees the uniqueness of the name identifiers.
131
-
If extenral referencability of the Named Graphs is required,
132
-
the use of [Skolemized identifiers](https://www.w3.org/TR/rdf11-mt/#skolemization-informative)
133
-
guarantees uniqueness in the generation of the name identifier,
134
-
while retaining referencability outside the local scope.
135
147
136
-
Issue: Do we test for the precense of named node identifiers as graph identifiers?
148
+
// Todo:: continue read through from here
137
149
138
-
Multiple Graph Associations {#multiple_graphs}
139
-
==============================================
140
150
141
151
Issue: Should the includes be a list for ensuring closure?
142
152
E.g. if we lose a targets link, the list breaks and we can see the policy is incomplete?
0 commit comments