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: spec/index.html
+39-10Lines changed: 39 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -577,6 +577,16 @@ <h3>Triples</h3>
577
577
578
578
<p>The three components (|s|, |p|, |o|) of an [=RDF triple=] are respectively called the <dfnclass=export>subject</dfn>, <dfnclass=export>predicate</dfn> and <dfnclass=export>object</dfn> of the triple.</p>
579
579
580
+
<p><dfn>Triple equality</dfn>:
581
+
Two triples (|s|, |p|, |o|) and (<var>s'</var>, <var>p'</var>, <var>o'</var>)
582
+
are considered equal if and only if all of the following three conditions holds.</p>
583
+
584
+
<ul>
585
+
<li>|s| and <var>s'</var> are [=RDF term equality|equal=].</li>
586
+
<li>|p| and <var>p'</var> are [=RDF term equality|equal=].</li>
587
+
<li>|o| and <var>o'</var> are [=RDF term equality|equal=].</li>
588
+
</ul>
589
+
580
590
581
591
<pclass="note">The definition of <a>triple</a> is recursive.
582
592
That is, a <a>triple</a> can itself have an
@@ -599,6 +609,17 @@ <h3>RDF Terms</h3>
599
609
nor to a blank node with the <a>blank node identifier</a>
600
610
<code>http://example.org/</code>.</p>
601
611
612
+
<p><dfn>RDF term equality</dfn>:
613
+
Two [=RDF terms=] |t| and <var>t'</var> are considered equal if and only if
614
+
one of the following four conditions holds:</p>
615
+
616
+
<ul>
617
+
<li>|t| and <var>t'</var> are [=IRIs=] that are [=IRI equality|equal=].</li>
618
+
<li>|t| and <var>t'</var> are [=literals=] that are [=literal term equality|equal=].</li>
619
+
<li>|t| and <var>t'</var> are [=blank nodes=] that are [=blank node equality|equal=].</li>
620
+
<li>|t| and <var>t'</var> are [=triple terms=] that are [=triple term equality|equal=].</li>
621
+
</ul>
622
+
602
623
<p>The set of <spanid="dfn-nodes"><!-- obsolete term--></span><dfndata-lt="node">nodes</dfn> of an <a>RDF graph</a>
603
624
is the set of <a>subjects</a> and <a>objects</a> of the <a>asserted triples</a> of the graph.
604
625
It is possible for a [=predicate=] [=IRI=] to also occur as a [=node=] in
@@ -848,6 +869,9 @@ <h3>Blank Nodes</h3>
848
869
the set of possible blank nodes is arbitrary. RDF makes no reference to
849
870
any internal structure of blank nodes.</p>
850
871
872
+
<p><dfn>Blank node equality</dfn>:
873
+
Two blank nodes are considered equal if and only if they are the same blank node.</p>
<p>An [=RDF triple=] used as the [=object=] of another [=triple=] is called a <dfnclass=export>triple term</dfn>.
880
-
In a given [=RDF graph=], a [=triple=] can appear as a [=triple term=], an [=asserted triple=], or both.
904
+
In a given [=RDF graph=], a [=triple=] can appear as a [=triple term=], as an [=asserted triple=], or both.
881
905
</p>
882
906
883
907
<p>The set of [=RDF terms=] <dfnclass=exportdata-lt="appear">appearing</dfn> in an [=RDF triple=] |t| is defined inductively as follows:</p>
@@ -889,6 +913,9 @@ <h3>Triple Terms</h3>
889
913
890
914
<p>By extension, an [=RDF term=] is said to [=appear=] in an [=RDF graph=] if it appears in an [=asserted triple=] of that graph. An [=RDF triple=] is said to [=appear=] in an [=RDF graph=] if it is either an [=asserted triple=] of that graph or a [=triple term=] [=appearing=] in that graph.</p>
891
915
916
+
<p><dfn>Triple term equality</dfn>:
917
+
Since triple terms are [=triples=], equality of triple terms is the same as [=triple equality=].</p>
918
+
892
919
<pclass="note">Every <a>triple</a> with a <a>triple term</a> as its [=object=] SHOULD
893
920
use <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies</code> (<code>rdf:reifies</code>)
894
921
as its <a>predicate</a>.
@@ -913,9 +940,9 @@ <h3>Graph Comparison</h3>
913
940
<ul>
914
941
<li>|M| is bijective.</li>
915
942
<li>For every [=blank node=] |b|, |M|(|b|) is a [=blank node=] (but not necessarily the same as |b|).</li>
916
-
<li>For every [=literal=] |lit|, |M|(|lit|) = |lit|.</li>
917
-
<li>For every [=IRI=] |iri|, |M|(|iri|) = |iri|.</li>
918
-
<li>For every [=triple term=] |tt| of the form (|s|, |p|, |o|), |M|(|tt|) is the triple term ( |M|(|s|), |M|(|p|), |M|(|o|) ).</li>
943
+
<li>For every [=literal=] |lit|, |M|(|lit|) is a [=literal=] that is [=literal term equality|equal=] to |lit|.</li>
944
+
<li>For every [=IRI=] |iri|, |M|(|iri|) is an [=IRI=] that is [=IRI equality|equal=] to |iri|.</li>
945
+
<li>For every [=triple term=] |tt|, |M|(|tt|) is a [=triple term=] that is [=triple term equality|equal=] to |tt|.</li>
919
946
</ul>
920
947
921
948
<pid="section-graph-equality">Two [=RDF graphs=] |G| and <var>G'</var> are
@@ -925,8 +952,6 @@ <h3>Graph Comparison</h3>
925
952
the triple (|s|, |p|, |o|) is in |G| if and only if
926
953
the triple ( |M|(|s|), |M|(|p|), |M|(|o|) ) is in <var>G'</var>.</p>
927
954
928
-
<p>See also: <a>IRI equality</a>, <a>literal term equality</a>.</p>
929
-
930
955
<p>With this definition, <var>M</var> shows how each blank node
931
956
in <var>G</var> can be replaced with
932
957
a new blank node to give <var>G'</var>. Graph isomorphism
0 commit comments