ldpatch.html
author Andrei Sambra <andrei@w3.org>
Fri, 24 Jul 2015 16:30:33 -0400
branchldpatch
changeset 977 535a33b19afd
parent 976 d4e249a5bf19
permissions -rw-r--r--
Made spec pubrules compliant
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     1
<!DOCTYPE html>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     2
<html>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     3
  <head>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     4
    <title>Linked Data Patch Format</title>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     5
    <meta charset='utf-8'>
725
f3c7fa4881b7 [ldpatch] adds text re: relation w/ SPARQL Update
Alexandre Bertails <alexandre@bertails.org>
parents: 724
diff changeset
     6
    <script src='//www.w3.org/Tools/respec/respec-w3c-common'
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     7
            async class='remove'></script>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     8
    <script class='remove'>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
     9
      var preProc = {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    10
        apply: function(c) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    11
                  // terms definitions
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    12
                  refs = document.querySelectorAll('tdef') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    13
                  for (var i = 0; i < refs.length; i++) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    14
                      var item = refs[i];
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    15
                      if (!item) continue ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    16
                      var p = item.parentNode ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    17
                      var con = item.innerHTML ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    18
                      var ref = item.getAttribute('title') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    19
                      if (!ref) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    20
                          ref = item.textContent ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    21
                      }
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    22
                      if (ref) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    23
                          ref = ref.replace(/\n/g, '_') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    24
                          ref = ref.replace(/\s+/g, '_') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    25
                      }
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    26
                      var sp = document.createElement( 'dfn' ) ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    27
                      sp.title = ref ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    28
                      sp.innerHTML = con ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    29
                      p.replaceChild(sp, item) ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    30
                  }
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    31
                  // term references
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    32
                  refs = document.querySelectorAll('tref') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    33
                  for (var i = 0; i < refs.length; i++) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    34
                      var item = refs[i];
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    35
                      if (!item) continue ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    36
                      var p = item.parentNode ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    37
                      var con = item.innerHTML ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    38
                      var ref = item.getAttribute('title') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    39
                      if (!ref) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    40
                          ref = item.textContent ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    41
                      }
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    42
                      if (ref) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    43
                          ref = ref.replace(/\n/g, '_') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    44
                          ref = ref.replace(/\s+/g, '_') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    45
                      }
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    46
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    47
                      var sp = document.createElement( 'a' ) ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    48
                      var id = item.textContent ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    49
                      sp.className = 'tref' ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    50
                      sp.title = ref ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    51
                      sp.innerHTML = con ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    52
                      p.replaceChild(sp, item) ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    53
                  }
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    54
              }
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    55
      };
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    56
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    57
      function updateExample(doc, content) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    58
        // perform transformations to make it render and prettier
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    59
        content = content.replace(/<!--/, '');
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    60
        content = content.replace(/-->/, '');
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    61
        content = doc._esc(content);
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    62
        content = content.replace(/\*\*\*\*([^*]*)\*\*\*\*/g, '<span class="hilite">$1</span>') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    63
        return content ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    64
      };
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    65
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    66
      function updateDTD(doc, content) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    67
        // perform transformations to
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    68
        // make it render and prettier
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    69
        content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    70
        content = content.replace(/!ENTITY % ([^ \t\r\n]*)/g, '!ENTITY <span class="entity">% $1</span>');
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    71
        content = content.replace(/!ELEMENT ([^ \t$]*)/mg, '!ELEMENT <span class="element">$1</span>');
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    72
        return content;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    73
      };
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    74
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    75
      function updateSchema(doc, content) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    76
        // perform transformations to
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    77
        // make it render and prettier
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    78
        content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    79
        content = content.replace(/&lt;xs:element\s+name=&quot;([^&]*)&quot;/g, '&lt;xs:element name="<span class="element" id="schema_element_$1">$1</span>"') ;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    80
        return content;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    81
      };
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    82
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    83
      function updateTTL(doc, content) {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    84
        // perform transformations to
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    85
        // make it render and prettier
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    86
        content = '<pre class="sh_sourceCode">' + doc._esc(content) + '</pre>';
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    87
        content = content.replace(/@prefix/g, '<span class="sh_keyword">@prefix</span>');
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    88
        return content;
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    89
      };
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    90
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    91
      var respecConfig = {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    92
          // specification status (e.g. WD, LCWD, WG-NOTE, etc.). If in doubt use ED.
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
    93
          specStatus:           "WG-NOTE",
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
    94
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    95
          // the specification's short name, as in http://www.w3.org/TR/short-name/
776
503808034312 reflected changes proposed by Sandro in http://lists.w3.org/Archives/Public/public-ldp-wg/2014Aug/0070.html
Alexandre Bertails <bertails@gmail.com>
parents: 746
diff changeset
    96
          shortName:            "ldpatch",
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    97
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    98
          // if your specification has a subtitle that goes below the main
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
    99
          // formal title, define it here
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   100
          // subtitle   :  "an excellent document",
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   101
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   102
          // if you wish the publication date to be other than the last modification, set this
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   103
          // publishDate:  "2009-08-06",
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   104
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   105
          // if the specification's copyright date is a range of years, specify
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   106
          // the start date here:
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   107
          // copyrightStart: "2005"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   108
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   109
          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   110
          // and its maturity status
950
54acb1ed9f17 Validator fixes
Andrei Sambra <andrei@w3.org>
parents: 942
diff changeset
   111
          // publishDate:  "2015-03-03",
54acb1ed9f17 Validator fixes
Andrei Sambra <andrei@w3.org>
parents: 942
diff changeset
   112
          // crEnd: "2015-04-17", // 45 days
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   113
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   114
          // if there a publicly available Editor's Draft, this is the link
703
d272f5f55195 [ldpatch] update draft URL
Alexandre Bertails <bertails@gmail.com>
parents: 702
diff changeset
   115
          edDraftURI:           "https://dvcs.w3.org/hg/ldpwg/raw-file/ldpatch/ldpatch.html",
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   116
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   117
          // if this is a LCWD, uncomment and set the end of its review period
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   118
          // lcEnd: "2009-08-05",
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   119
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   120
          // editors, add as many as you like
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   121
          // only "name" is required
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   122
          editors:  [
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   123
              {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   124
                  name:       "Alexandre Bertails"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   125
              ,   url:        "http://bertails.org/"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   126
              ,   mailto:     "alexandre@bertails.org"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   127
              },
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   128
              {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   129
                  name:       "Pierre-Antoine Champin"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   130
              ,   url:        "http://liris.cnrs.fr/~pchampin/en/"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   131
              ,   mailto:     "pchampin@liris.cnrs.fr"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   132
              ,   company:    "Université de Lyon"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   133
              ,   companyURL: "http://www.universite-lyon.fr/"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   134
              },
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   135
              {
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   136
                  name:       "Andrei Sambra"
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   137
              ,   url:        "https://deiu.rww.io/profile/card#me"
900
17d919a48bfa Added logs of changes.
Alexandre Bertails <bertails@gmail.com>
parents: 899
diff changeset
   138
              ,   mailto:     "andrei@w3.org"
17d919a48bfa Added logs of changes.
Alexandre Bertails <bertails@gmail.com>
parents: 899
diff changeset
   139
              ,   company:    "MIT/W3C"
17d919a48bfa Added logs of changes.
Alexandre Bertails <bertails@gmail.com>
parents: 899
diff changeset
   140
              ,   companyURL: "http://www.w3.org/"
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   141
              },
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   142
          ],
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   143
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   144
          // name of the WG
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   145
          wg:           "Linked Data Platform Working Group",
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   146
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   147
          // URI of the public WG page
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   148
          wgURI:        "http://www.w3.org/2012/ldp",
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   149
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   150
          // name (without the @w3c.org) of the public mailing to which comments are due
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   151
          wgPublicList: "public-ldp-comments",
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   152
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   153
          // URI of the patent status for this WG, for Rec-track documents
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   154
          // !!!! IMPORTANT !!!!
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   155
          // This is important for Rec-track documents, do not copy a patent URI from a random
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   156
          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   157
          // Team Contact.
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   158
          wgPatentURI:  "http://www.w3.org/Consortium/Patent-Policy-20040205/",
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   159
          // !!!! IMPORTANT !!!! MAKE THE ABOVE BLINK IN YOUR HEAD
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   160
          preProcess: [ preProc ]
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   161
      };
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   162
    </script>
745
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   163
    <style type="text/css">
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   164
.atrisk {
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   165
  padding:    1em;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   166
  margin: 1em 0em 0em;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   167
  border: 1px solid #f00;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   168
  background: #ffc;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   169
}
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   170
.atrisktext {
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   171
  /* content:    "Feature At Risk"; */
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   172
  display:    block;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   173
  width:  150px;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   174
  margin: -1.5em 0 0.5em 0;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   175
  font-weight:    bold;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   176
  border: 1px solid #f00;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   177
  background: #fff;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   178
  padding:    3px 1em;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   179
}
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   180
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   181
div.rule {padding-top: 1em;}
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   182
div.ldp-issue {
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   183
  border-color: #E05252;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   184
  background: #FBE9E9;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   185
  padding: 0.5em;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   186
  margin: 1em 0;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   187
  position: relative;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   188
  clear: both;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   189
  border-left-width: .5em;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   190
  border-left-style: solid;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   191
}
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   192
div.ldp-issue-title {
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   193
  color: #E05252;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   194
  padding-right: 1em;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   195
  min-width: 7.5em;
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   196
}
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   197
    </style>
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   198
  </head>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   199
  <body>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   200
    <section id='abstract'>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   201
      <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   202
Linked Data Patch Format (LD Patch) defines a language for expressing a sequence of operations for patching Linked Data resources; it is suitable for use with the HTTP PATCH method.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   203
      </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   204
    </section>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   205
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   206
    <section id='sotd'>
776
503808034312 reflected changes proposed by Sandro in http://lists.w3.org/Archives/Public/public-ldp-wg/2014Aug/0070.html
Alexandre Bertails <bertails@gmail.com>
parents: 746
diff changeset
   207
503808034312 reflected changes proposed by Sandro in http://lists.w3.org/Archives/Public/public-ldp-wg/2014Aug/0070.html
Alexandre Bertails <bertails@gmail.com>
parents: 746
diff changeset
   208
      <p id="alternative-designs">
954
1acc13a1329a Fixed broken links
Andrei Sambra <andrei@w3.org>
parents: 952
diff changeset
   209
 	Although the Linked Data Platform (LDP) Working Group is currently favoring LD Patch, it seeks more input in deciding which format to promote for use in <a href="http://www.w3.org/TR/ldp/#ldpr-HTTP_PATCH">LDP PATCH</a> [[!LDP]] operations on <a href="http://www.w3.org/TR/ldp/#ldprs">LDP RDF Sources</a>.  Other viable candidates include:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   210
776
503808034312 reflected changes proposed by Sandro in http://lists.w3.org/Archives/Public/public-ldp-wg/2014Aug/0070.html
Alexandre Bertails <bertails@gmail.com>
parents: 746
diff changeset
   211
      <ul>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   212
      	<li><a href="http://www.w3.org/TR/sparql11-http-rdf-update/#http-patch">SPARQL 1.1 Update</a> &mdash; already standardized, but quite complex for LDP scenarios</li>
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   213
      	<li><a href="http://www.w3.org/2001/sw/wiki/SparqlPatch">SparqlPatch</a> &mdash; restricted to a simple subset of SPARQL 1.1 Update</li>
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   214
      	<li><a href="http://www.w3.org/2001/sw/wiki/TurtlePatch">TurtlePatch</a> &mdash; uses an even simpler subset, but requires unusual handling of blank nodes</li>
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   215
      	<li><a href="http://afs.github.io/rdf-patch/">RDF Patch</a> &mdash; simple, but also requires unusual handling of blank nodes</li>
776
503808034312 reflected changes proposed by Sandro in http://lists.w3.org/Archives/Public/public-ldp-wg/2014Aug/0070.html
Alexandre Bertails <bertails@gmail.com>
parents: 746
diff changeset
   216
      </ul>
503808034312 reflected changes proposed by Sandro in http://lists.w3.org/Archives/Public/public-ldp-wg/2014Aug/0070.html
Alexandre Bertails <bertails@gmail.com>
parents: 746
diff changeset
   217
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   218
      <p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   219
       At this point, the advantage leans towards LD Patch in terms of simplicity, ease of implementation, and run-time performance on anticipated data.  We welcome data relevant to this decision.
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   220
      </p>
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   221
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   222
      <p>
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   223
        This specification was previously published as a Candidate Recommendation (CR). Due to lack of sufficient implementations to meet the CR exit criteria within the time remaining under the current charter, the Working Group decided to take it off the W3C Recommendation track and publish it as a W3C Note for future reference. This document may be reused in part or in whole by another WG in the future, or not.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   224
      </p>
776
503808034312 reflected changes proposed by Sandro in http://lists.w3.org/Archives/Public/public-ldp-wg/2014Aug/0070.html
Alexandre Bertails <bertails@gmail.com>
parents: 746
diff changeset
   225
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   226
    </section>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   227
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   228
    <section class='informative' id='introduction'>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   229
      <h1>Introduction</h1>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   230
      <p>
977
535a33b19afd Made spec pubrules compliant
Andrei Sambra <andrei@w3.org>
parents: 976
diff changeset
   231
          Linked Data <q cite="https://en.wikipedia.org/wiki/Linked_data">describes a method of publishing structured data so that it can be interlinked and become more useful. It builds upon standard Web technologies such as HTTP, RDF and IRIs, but rather than using them to serve web pages for human readers, it extends them to share information in a way that can be read automatically by computers. This enables data from different sources to be connected and queried.</q> (source Wikipedia).
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   232
      </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   233
      <p>
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   234
This document defines the Linked Data Patch Format (LD Patch), a format for describing changes to apply to Linked Data. It is suitable for use with <a href="http://tools.ietf.org/html/rfc5789">HTTP PATCH</a> [[!RFC5789]], a method to perform partial modifications to Web resources. <!-- The "text/ldpatch" media type is prospectively used to identify such LD Patch documents.-->
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   235
      </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   236
      <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   237
          An instance of the LD Patch language (or LD Patch document) defines a list of operations to be performed against a Linked Data resource, namely the addition or removal of RDF [[!rdf11-concepts]] triples in the graph representing this resource.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   238
      </p>
725
f3c7fa4881b7 [ldpatch] adds text re: relation w/ SPARQL Update
Alexandre Bertails <alexandre@bertails.org>
parents: 724
diff changeset
   239
f3c7fa4881b7 [ldpatch] adds text re: relation w/ SPARQL Update
Alexandre Bertails <alexandre@bertails.org>
parents: 724
diff changeset
   240
      <p id="relation-sparql-update">
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   241
        The LD Patch format described in this document should be seen as a language for updating <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-rdf-graph">RDF Graphs</a> in a resource-centric fashion. It is the intention to confine its expressive power to an RDF diff with <a class="internalDFN" href="#pathological-graph">partial support for blank nodes</a> and <code>rdf:List</code> manipulations. For more powerful operations on RDF Graphs and Quad Stores, the LDP WG recommends the reader to consider <a href="http://www.w3.org/TR/sparql11-update/">SPARQL Update</a> [[sparql11-update]].
745
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   242
      </p>
727
8b261730c022 [ldpatch] added section on pathological graphs
Alexandre Bertails <alexandre@bertails.org>
parents: 726
diff changeset
   243
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   244
    </section>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   245
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   246
    <section id="examples" class="informative">
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   247
      <h2>Examples</h2>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   248
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   249
      <section id="full-example">
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   250
          <h2>Full example</h2>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   251
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   252
          <p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   253
              The following RDF Graph describes the relation between a person named Tim Berners-Lee (denoted by <code>&lt;http://example.org/timbl#&gt;</code>) and two events he attended.
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   254
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   255
          <pre class='example'>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   256
@prefix schema: &lt;http://schema.org/&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   257
@prefix profile: &lt;http://ogp.me/ns/profile#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   258
@prefix ex: &lt;http://example.org/vocab#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   259
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   260
&lt;#&gt; a schema:Person ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   261
  schema:alternateName "TimBL" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   262
  profile:first_name "Tim" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   263
  profile:last_name "Berners-Lee" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   264
  schema:workLocation [ schema:name "W3C/MIT" ] ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   265
  schema:performerIn _:b1, _:b2 ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   266
  ex:preferredLanguages ( "en" "fr" ).
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   267
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   268
_:b1 schema:name "F2F5 - Linked Data Platform" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   269
  schema:url &lt;https://www.w3.org/2012/ldp/wiki/F2F5&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   270
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   271
_:b2 a schema:Event ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   272
  schema:name "TED 2009" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   273
  schema:startDate "2009-02-04" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   274
  schema:url &lt;http://conferences.ted.com/TED2009/&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   275
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   276
          <p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   277
              The following is an example HTTP Patch request, conveying an LD Patch document:
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   278
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   279
          <pre class='example'>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   280
PATCH /timbl HTTP/1.1
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   281
Host: example.org
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   282
Content-Length: 478
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   283
Content-Type: text/ldpatch
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   284
If-Match: "abc123"
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   285
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   286
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   287
@prefix schema: &lt;http://schema.org/&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   288
@prefix profile: &lt;http://ogp.me/ns/profile#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   289
@prefix ex: &lt;http://example.org/vocab#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   290
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   291
Delete { &lt;#&gt; profile:first_name "Tim" } .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   292
Add {
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   293
  &lt;#&gt; profile:first_name "Timothy" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   294
    profile:image &lt;https://example.org/timbl.jpg&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   295
} .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   296
915
a61e98c879f0 updated examples involving path expressions
Alexandre Bertails <alexandre@bertails.org>
parents: 914
diff changeset
   297
Bind ?workLocation &lt;#&gt; / schema:workLocation .
897
b8f83a85dd5c Fixed Cut.\
Alexandre Bertails <bertails@gmail.com>
parents: 896
diff changeset
   298
Cut ?workLocation .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   299
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   300
UpdateList &lt;#&gt; ex:preferredLanguages 1..2 ( "fr-CH" ) .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   301
918
3637285cdca2 fixed misnamed property in examples 2 & 3
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 917
diff changeset
   302
Bind ?event &lt;#&gt; / schema:performerIn [ / schema:url = &lt;https://www.w3.org/2012/ldp/wiki/F2F5&gt; ]  .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   303
Add { ?event rdf:type schema:Event } .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   304
915
a61e98c879f0 updated examples involving path expressions
Alexandre Bertails <alexandre@bertails.org>
parents: 914
diff changeset
   305
Bind ?ted &lt;http://conferences.ted.com/TED2009/&gt; / ^schema:url ! .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   306
Delete { ?ted schema:startDate "2009-02-04" } .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   307
Add {
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   308
  ?ted schema:location [
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   309
    schema:name "Long Beach, California" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   310
    schema:geo [
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   311
      schema:latitude "33.7817" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   312
      schema:longitude "-118.2054"
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   313
    ]
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   314
  ]
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   315
} .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   316
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   317
          <p>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   318
              This example introduces most features of the LD Patch format: <code>@prefix</code> and prefixed names, the <a>Add</a>, <a>Delete</a>, <a>Cut</a>, and <a>UpdateList</a> operations, the node <a>Bind</a>ing mechanism, and blank node creation. The "text/ldpatch" media type is <a href="#media-registration">prospectively</a> used to identify such LD Patch documents.
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   319
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   320
          <p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   321
              The following is the resulting (patched) document.
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   322
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   323
          <pre class='example'>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   324
@prefix schema: &lt;http://schema.org/&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   325
@prefix profile: &lt;http://ogp.me/ns/profile#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   326
@prefix ex: &lt;http://example.org/vocab#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   327
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   328
&lt;#&gt; a schema:Person ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   329
  schema:alternateName "TimBL" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   330
  profile:first_name "Timothy" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   331
  profile:last_name "Berners-Lee" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   332
  profile:image &lt;https://example.org/timbl.jpg&gt; ;
918
3637285cdca2 fixed misnamed property in examples 2 & 3
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 917
diff changeset
   333
  schema:performerIn _:b1, _:b2 ;
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   334
  ex:preferredLanguages ( "en" "fr-CH" ) .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   335
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   336
_:b1 a schema:Event ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   337
  schema:name "F2F5 - Linked Data Platform" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   338
  schema:url &lt;https://www.w3.org/2012/ldp/wiki/F2F5&gt; .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   339
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   340
_:b2 a schema:Event ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   341
  schema:name "TED 2009" ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   342
  schema:url &lt;http://conferences.ted.com/TED2009/&gt; ;
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   343
  schema:location [
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   344
    schema:name "Long Beach, California";
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   345
    schema:geo [ schema:latitude "33.7817" ; schema:longitude "-118.2054" ]
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   346
  ] .
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   347
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   348
      </section>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   349
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   350
      <section id="list-manipulation-examples">
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   351
          <h2><code>rdf:List</code> manipulation examples</h2>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   352
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   353
          <p>All the LD Patch examples in this section are applied against the following RDF graph (target IRI <code>http://example.org/timbl</code>):</p>
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   354
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   355
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   356
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( "lorem" "ipsum" "dolor" "sit" "amet" ) .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   357
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   358
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   359
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   360
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   361
          <h3 id="replace-elements">How to replace elements</h3>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   362
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   363
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   364
              This example shows how to replace one element (here the second one) with a new one:
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   365
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   366
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   367
          <pre class='example'>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   368
UpdateList &lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; 1..2 ( "fr" ) .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   369
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   370
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   371
          <p>Output graph:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   372
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   373
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   374
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( "lorem" "fr" "dolor" "sit" "amet" ) .
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   375
          </pre>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   376
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   377
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   378
          <h3 id="insert-new-elements">How to insert new elements</h3>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   379
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   380
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   381
              This example shows how to insert new elements at a specific index (here <code>2</code>):
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   382
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   383
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   384
          <pre class='example'>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   385
UpdateList &lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; 2..2 ( "en" "fr" ) .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   386
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   387
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   388
          <p>Output graph:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   389
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   390
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   391
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( "lorem" "ipsum" "en" "fr" "dolor" "sit" "amet" ) .
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   392
          </pre>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   393
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   394
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   395
          <h3 id="append-elements">How to append elements</h3>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   396
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   397
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   398
              This example shows how to append elements at the end of a collection:
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   399
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   400
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   401
          <pre class='example'>
956
76ad21697bdd Fixed example
Andrei Sambra <andrei@w3.org>
parents: 954
diff changeset
   402
UpdateList &lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; .. ( "en" "fr" ) .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   403
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   404
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   405
          <p>Output graph:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   406
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   407
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   408
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( "lorem" "ipsum" "dolor" "sit" "amet" "en" "fr" ) .
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   409
          </pre>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   410
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   411
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   412
          <h3 id="replace-elements">How to replace all the elements after a given index</h3>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   413
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   414
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   415
              This example shows how to replace all the elements after the index <code>2</code> with the provided collection:
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   416
          </p>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   417
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   418
          <pre class='example'>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   419
UpdateList &lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; 2.. ( "en" "fr" ) .
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   420
          </pre>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   421
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   422
          <p>Output graph:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   423
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   424
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   425
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( "lorem" "ipsum" "en" "fr" ) .
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   426
          </pre>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   427
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   428
925
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   429
          <h3 id="replace-elements-from-end-of-list">How to replace the n last elements</h3>
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   430
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   431
          <p>
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   432
              This example shows how to replace the last <code>3</code> elements of the provided collection:
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   433
          </p>
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   434
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   435
          <pre class='example'>
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   436
UpdateList &lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; -3.. ( "en" "fr" ) .
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   437
          </pre>
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   438
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   439
          <p>Output graph:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   440
925
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   441
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   442
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( "lorem" "ipsum" "en" "fr" ) .
925
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   443
          </pre>
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   444
3f6caeb73213 Added UpdateList example with negative indexes
Alexandre Bertails <alexandre@bertails.org>
parents: 924
diff changeset
   445
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   446
          <h3 id="remove-elements">How to remove elements</h3>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   447
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   448
          <p>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   449
              This example shows how to remove elements (here the second and the third) from a collection:
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   450
          </p>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   451
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   452
          <pre class='example'>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   453
UpdateList &lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; 1..3 ( ) .
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   454
          </pre>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   455
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   456
          <p>Output graph:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   457
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   458
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   459
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( "lorem" "sit" "amet" ) .
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   460
          </pre>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   461
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   462
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   463
          <h3 id="empty-collection">How to empty a collection</h3>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   464
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   465
          <p>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   466
              Finally, this example shows how to empty a collection:
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   467
          </p>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   468
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   469
          <pre class='example'>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   470
UpdateList &lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; 0.. ( ) .
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   471
          </pre>
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   472
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   473
          <p>Output graph:</p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   474
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   475
          <pre class='example'>
926
e0605a41e1b3 Code formatting better consistency
Alexandre Bertails <alexandre@bertails.org>
parents: 925
diff changeset
   476
&lt;#&gt; &lt;http://example.org/vocab#preferredLanguages&gt; ( ) .
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   477
          </pre>
892
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   478
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   479
      </section>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   480
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   481
    </section>
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   482
25b18ffbdebe moved Example section and fixed a few bugs in it
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 891
diff changeset
   483
941
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   484
    <section class="normative" id="conformance">
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   485
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   486
      <p>This specification defines conformance criteria for:</p>
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   487
      <ul>
942
8b80d696fa0d RESOLVED: accept conformance section with "server" instead of "engine" and "parsing"
Andrei Sambra <andrei@w3.org>
parents: 941
diff changeset
   488
        <li>LD Patch documents</li>
8b80d696fa0d RESOLVED: accept conformance section with "server" instead of "engine" and "parsing"
Andrei Sambra <andrei@w3.org>
parents: 941
diff changeset
   489
        <li>LD Patch parsers</li>
8b80d696fa0d RESOLVED: accept conformance section with "server" instead of "engine" and "parsing"
Andrei Sambra <andrei@w3.org>
parents: 941
diff changeset
   490
        <li>LD Patch processors</li>
952
f6ee98d63cdb Typo engines -> servers
Andrei Sambra <andrei@w3.org>
parents: 950
diff changeset
   491
        <li>LD Patch servers</li>
941
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   492
      </ul>
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   493
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   494
      <p>A conforming <strong>LD Patch document</strong> is a Unicode string that conforms to the grammar defined in the <a href="#concrete-syntax">Concrete Syntax section</a>.</p>
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   495
957
93468f961879 Fixes ldp-ACTION-156
Andrei Sambra <andrei@w3.org>
parents: 956
diff changeset
   496
      <p>A conforming <strong>LD Patch parser</strong> is a system capable of parsing LD Patch documents. The resulting abstract concept is called a <strong>Linked Data patch</strong>, or simply <strong>patch</strong> when the context is unambiguous. Parsers should treat Literals as being composed of a lexical form and an optional <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tag">language tag</a> [[!BCP47]] (as used by <a href="http://www.w3.org/TR/turtle/">Turtle</a> [[Turtle]]) or datatype IRI.</p>
941
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   497
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   498
      <p>A conforming <strong>LD Patch processor</strong> is a system capable of executing a Linked Data patch against an <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-rdf-graph">RDF Graph</a> and whose semantics follow the ones defined in the <a href="#semantics">LD Patch Semantics section</a>. It would either return a new graph or update the input graph in place.</p>
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   499
954
1acc13a1329a Fixed broken links
Andrei Sambra <andrei@w3.org>
parents: 952
diff changeset
   500
      <p>A conforming <strong>LD Patch server</strong> is a system capable of processing an LD Patch document through an HTTP PATCH request as defined in <a href="http://www.w3.org/TR/ldp/#ldpr-HTTP_PATCH">LDP PATCH</a> [[!LDP]]. It MUST handle errors as defined in the <a href="#error-handling">Error Handling section</a>.</p>
941
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   501
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   502
      <p>The IRI that identifies the LD Patch format is: <code>http://www.w3.org/ns/formats/LD_Patch</code>.</p>
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   503
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   504
    </section>
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   505
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   506
899
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   507
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   508
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   509
    <section class='normative' id='semantics'>
883
465e21e46365 Moved the examples before the Concrete Syntax. Fixed typo for LD Patch Syntax->Semantics.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 882
diff changeset
   510
      <h1>LD Patch Semantics</h1>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   511
      <p>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   512
An LD Patch document is applied to a Linked Data resource identified by an IRI (the <dfn>target IRI</dfn>) and represented by an RDF graph (the <dfn>target graph</dfn>). It is made of a prologue followed by a list of statements. The prologue declares a number of <a href="#grammar-production-prefixID">prefixes</a> used to abbreviate IRIs as <a href="#grammar-production-PrefixedName">PrefixedName</a>s. Then, each statement either binds a variable to a matching node from the <a>target graph</a>, or specifies a modification on the <a>target graph</a>.
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   513
      </p>
745
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   514
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   515
899
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   516
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   517
901
caf4bc0d15f0 improved UpdateList and a number of other things
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 900
diff changeset
   518
      <section id="nodes-and-triples-semantics">
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   519
        <h2><dfn>Nodes and triples Semantics</dfn></h2>
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   520
        <p>
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   521
LD Patch borrows much of its syntax and semantics from <a href="http://www.w3.org/TR/turtle/">Turtle</a> [[Turtle]] for describing nodes and triples. Especially, whenever production rules <a class="internalDFN" href="#grammar-production-triples">triples</a> or <a class="internalDFN" href="#grammar-production-collection">collection</a> are used, Turtle semantics must be applied to parse them as a set of triples that we call an <dfn>argument graph</dfn>.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   522
        </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   523
        <p>
893
69d062ab6fc8 Added more explanations for Add and prefixes. Fixed some typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 892
diff changeset
   524
There are however a few points that need to be highlighted in the way LD Patch parses an <a>argument graph</a> compared to Turtle:
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   525
        </p>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   526
        <ul>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   527
          <li>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   528
            The base IRI used to resolve relative IRIs is the <a>target IRI</a>.
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   529
          </li>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   530
          <li>
954
1acc13a1329a Fixed broken links
Andrei Sambra <andrei@w3.org>
parents: 952
diff changeset
   531
            LD Patch allows <a class="internalDFN" href="#grammar-production-VAR1">var</a>iables in <a class="internalDFN" href="#grammar-production-subject">subject</a> and <a class="internalDFN" href="#grammar-production-object">object</a> positions.
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   532
          </li>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   533
          <li>
954
1acc13a1329a Fixed broken links
Andrei Sambra <andrei@w3.org>
parents: 952
diff changeset
   534
              The value of a <a class="internalDFN" href="#grammar-production-VAR1">var</a>iables is the last node to which it was bound (in case it appears in several <a>Bind</a> statements).
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   535
          </li>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   536
          <li>
913
cd2b89e3cdc8 My final review (until the next one ;)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 912
diff changeset
   537
              <dfn id="blank-node-scoping">The scope of <a class="internalDFN" href="#grammar-production-BLANK_NODE_LABEL">blank node identifiers</a> is the whole LD Patch document.</dfn> That means that <a title="argument graph">argument graphs</a> across statements can share blank nodes.
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   538
          </li>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   539
        </ul>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   540
        <p>
913
cd2b89e3cdc8 My final review (until the next one ;)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 912
diff changeset
   541
            As IRIs and RDF Literals have global scopes, such nodes in an <a>argument graph</a> represent the same resource as in the <a>target graph</a>. Blank nodes, on the other hand, pose a problem, as they have no global identifiers. Indeed, since <a class="internalDFN" href="#blank-node-scoping">the scope of blank node identifiers is limited to the LD Patch document in which they appear</a>, any blank node identifier appearing in an LD Patch document is understood to denote a <em>fresh</em> blank node, distinct from any node initially present in the <a>target graph</a>. Therefore blank node identifiers in LD Patch cannot interfere with pre-existing blank nodes in the <a>target graph</a>.
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   542
        </p>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   543
        <p>
893
69d062ab6fc8 Added more explanations for Add and prefixes. Fixed some typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 892
diff changeset
   544
However, LD Patch provides mechanisms to address those pre-existing blank nodes: <a>bind</a>ing a variable to a blank node reachable through a <a>path expression</a>, <a>cut</a>ting a whole tree made of blank nodes, or using <a>UpdateList</a> to deal with those blank nodes that constitute RDF collections. There are cases where those mechanisms will not be able to unambiguously address a given blank node, but those cases are deemed <a href="#pathological-graph">pathological</a>, and are out of the scope of this specification.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   545
        </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   546
      </section>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   547
727
8b261730c022 [ldpatch] added section on pathological graphs
Alexandre Bertails <alexandre@bertails.org>
parents: 726
diff changeset
   548
      <section id="path-expression">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   549
        <h2><dfn>Path Expression</dfn></h2>
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   550
        <p>
914
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   551
            A <a>Path expression</a> can be used to locate RDF nodes within the <a>target graph</a>. A path expression consists of a series of one or more <a>Step</a>s (introduced by a "<code>/</code>") or <a>Constraint</a>s, which are applied in order from left to right. The main goal is to allow addressing a blank node by “walking” the arcs of the graph from an previously identified node.
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   552
        </p>
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   553
        <p>
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   554
            <code>/</code> behaves like a left-associated operator where the left operand is a node set, the right operand is a <a>Step</a>, and the result is a node set. A <a>Constraint</a> behaves like a predicate function whose implicit parameter is the node set on which it is applied. In the context of a <a>Filter</a>, this implicit node set becomes the left operand for <code>/</code>.
894
3794fe350546 Optional leading / for Path. Other improvements in grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 893
diff changeset
   555
        </p>
3794fe350546 Optional leading / for Path. Other improvements in grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 893
diff changeset
   556
        <p>
3794fe350546 Optional leading / for Path. Other improvements in grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 893
diff changeset
   557
            A <dfn>Step</dfn> can be of three kinds:
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   558
        </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   559
        <ul>
914
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   560
            <li>A <dfn>StepForward</dfn> is defined by an IRI, and consists in following the corresponding outgoing arcs in the <a>target graph</a>.</li>
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   561
            <li>A <dfn>StepBackward</dfn> is defined by an IRI preceded by the caret ("<code>^</code>") sign, and consists in following the corresponding incoming arcs <em>in reverse</em> in the <a>target graph</a>.</li>
927
94215893b6e4 Added text for negative indexes in StepAt
Alexandre Bertails <alexandre@bertails.org>
parents: 926
diff changeset
   562
            <li>A <dfn>StepAt</dfn> is defined by an integer <i>n</i>, and consists in following <var>n</var> <code>rdf:rest</code> arcs and one <code>rdf:first</code> arc in order to reach the corresponding member of an RDF collection. It is equivalent to a sequence of <var>n</var>+1 <a>StepForward</a>s with the corresponding IRIs. A negative index <var>n</var> denotes the n-th element from the end of the list counting backwards.</li>
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   563
        </ul>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   564
        <p>
914
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   565
            A <dfn>Constraint</dfn> can be of two kinds:
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   566
        </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   567
        <ul>
914
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   568
          <li>A <dfn>Unicity constraint</dfn>, described by the <em>bang</em> ("<code>!</code>") character, checks that the current node set contains exactly one node.</li>
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   569
          <li>A <dfn>Filter</dfn>, consisting of a <a>Path expression</a> between square brackets ("<code>[</code>", "<code>]</code>"), keeps only the nodes that “satisfy” the enclosed path, i.e. those from which the enclosed path reaches at least one node.</li>
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   570
          <li>Additionally, the path in a <a>filter</a> can specify an equality constraint with the use of the equal ("<code>=</code>") sign and a <tref>Value</tref>. In that case, only the nodes for which that particular value is reached through the enclosed path are kept.</li>
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   571
        </ul>
886
53e7f5b2f6f5 a few improvements on LD Patch Intro and Semantics
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 885
diff changeset
   572
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   573
        <p>
913
cd2b89e3cdc8 My final review (until the next one ;)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 912
diff changeset
   574
The following path expression (taken from the <a href="#examples">Examples section</a>) will look for all events matching the predicate <code>schema:performerIn</code>, keeping only the one matching the IRI <code>&lt;https://www.w3.org/2012/ldp/wiki/F2F5&gt;</code>.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   575
        <pre class='example'>
915
a61e98c879f0 updated examples involving path expressions
Alexandre Bertails <alexandre@bertails.org>
parents: 914
diff changeset
   576
/ schema:performerIn [ / schema:url = &lt;https://www.w3.org/2012/ldp/wiki/F2F5&gt; ]
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   577
        </pre>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   578
        </p>
745
4c0cabfd1189 * new section on alternatives
Alexandre Bertails <bertails@gmail.com>
parents: 728
diff changeset
   579
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   580
      </section>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   581
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   582
      <section id="patch-operations">
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   583
        <h2>Patch Operations</h2>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   584
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   585
        <section id="Bind-statement">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   586
          <h2><dfn>Bind</dfn></h2>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   587
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   588
              The <a>Bind</a> operation is used to bind an <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-term">RDF Term</a> to a variable. The process results in the variable being bound to exactly one node. After being bound, the variable can be used in the subsequent statements. Another <a>Bind</a> can override the value of a previously bound variable.
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   589
          </p>
895
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   590
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   591
          <p>
893
69d062ab6fc8 Added more explanations for Add and prefixes. Fixed some typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 892
diff changeset
   592
              The <a>Bind</a> operation is defined by three components: <a>Var</a>, <a>Value</a> and <a title="path expression">Path</a>, the last component being optional (can be considered equivalent to the empty path).
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   593
          </p>
895
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   594
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   595
          <p>
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   596
              <dfn>Var</dfn> contains a unique name for the new variable. Variables are prefixed by the "<code>?</code>" character, which is not part of the variable name.
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   597
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   598
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   599
              <dfn>Value</dfn> is the <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-term">RDF Term</a> that will be used as starting point when following the path expression.
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   600
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   601
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   602
              <dfn>Path</dfn> is the expression that is used to identify the <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-term">RDF Term</a> to which the Variable will be bound. It is comprised of <a>Step</a>(s) and/or <a>Constraint</a>(s).
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   603
          </p>
895
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   604
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   605
          <p>
917
71f27638abd0 includes outputs for rdf:list manipulation examples
Alexandre Bertails <bertails@gmail.com>
parents: 916
diff changeset
   606
              Following the example above, the <a>Bind</a> operation creates a new variable called <code>event</code>, starting from the <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-term">RDF Term</a> <code>&lt;#&gt;</code> and following the path expression <code>/ schema:performerIn [ / schema:url = &lt;https://www.w3.org/2012/ldp/wiki/F2F5&gt; ]</code> in order to identify the <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-term">RDF Term</a> to which this variable will be bound to – i.e. <code>_:b2</code> in the <a>target graph</a>.
895
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   607
          <pre class='example'>
915
a61e98c879f0 updated examples involving path expressions
Alexandre Bertails <alexandre@bertails.org>
parents: 914
diff changeset
   608
Bind ?event &lt;#&gt; / schema:performerIn [ / schema:url = &lt;https://www.w3.org/2012/ldp/wiki/F2F5&gt; ] .
895
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   609
          </pre>
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   610
          </p>
9e83f2d8b056 Improved wording for Bind.
Alexandre Bertails <bertails@gmail.com>
parents: 894
diff changeset
   611
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   612
        </section>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   613
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   614
        <section id="Add-statement">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   615
          <h2><dfn>Add</dfn></h2>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   616
          <p>
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   617
The <a>Add</a> operation is used to append new RDF triples to the <a>target graph</a>.
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   618
          </p>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   619
          <p>
928
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   620
              It has a single argument: an <a>argument graph</a> <var>g</var>. All triples in <var>g</var> must be added to the <var>target graph</var>. If an argument graph contains one or more triples that already exist in the target graph, the <a>Add</a> operation does not fail.
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   621
          <pre class='example'>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   622
Add {
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   623
    &lt;#&gt; profile:first_name "Timothy" ;
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   624
        profile:image &lt;https://example.org/timbl.jpg&gt; .
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   625
} .
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   626
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   627
Add { ?event rdf:type schema:Event } .
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   628
          </pre>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   629
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   630
        </section>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   631
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   632
        <section id="AddNew-statement">
928
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   633
          <h2><dfn>AddNew</dfn></h2>
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   634
          <p>
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   635
              The <a>AddNew</a> operation is used to append new RDF triples to the <a>target graph</a>. It behaves like <a>Add</a> but unlike its counterpart, <a>AddNew</a> <a href="#addnew-already-existing-triple">fails</a> when trying to add an already existing triple.
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   636
          </p>
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   637
        </section>
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   638
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   639
        <section id="Delete-statement">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   640
          <h2><dfn>Delete</dfn></h2>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   641
          <p>
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   642
The <a>Delete</a> operation is used to remove RDF triples from the <a>target graph</a>.
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   643
          </p>
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   644
          <p>
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   645
              It has a single argument: an <a>argument graph</a> <var>g</var>. All triples in <var>g</var> must be removed from the <var>target graph</var>. It does not fail if one of those triples did not exist in the <a>target graph</a>. Blank nodes identifiers are allowed in <a>Delete</a> statements but <a href="#blank-node-scoping">they remain scoped to the LD Patch document</a>, so they can only match a blank node previously added by the same LD Patch document.
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   646
          </p>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   647
          <pre class='example'>
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   648
Delete { &lt;#&gt; profile:first_name "Tim" } .
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   649
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   650
Delete { ?ted schema:startDate "2009-02-04" } .
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   651
          </pre>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   652
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   653
        </section>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   654
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   655
        <section id="DeleteExisting-statement">
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   656
          <h2><dfn>DeleteExisting</dfn></h2>
928
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   657
          <p>
932
bf4e2ca972ed Fixed link from DeleteExitsing to error section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 931
diff changeset
   658
The <a>DeleteExisting</a> operation is used to remove RDF triples from the <a>target graph</a>. It behaves like <a>Delete</a> but unlike its counterpart, <a>DeleteExisting</a> <a href="#deleteexisting-non-existing-triple">fails</a> when trying to delete a non-existing triple.
928
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   659
          </p>
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   660
        </section>
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   661
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   662
        <section id="Cut-statement">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   663
          <h2><dfn>Cut</dfn></h2>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   664
          <p>
909
267bebb98ba3 Review up to intro of 3.3.5.
Alexandre Bertails <alexandre@bertails.org>
parents: 908
diff changeset
   665
            The <a>Cut</a> operation is used to remove one or more triples connected to a specific blank node <var>b</var>. More precisely, it removes all the outgoing arcs for <var>b</var> from the <a>target graph</a>, and does the same recursively for all objects of those triples being blank nodes. Finally, it removes all incoming arcs of <var>b</var>.
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   666
          <pre class='example'>
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   667
Cut ?workLocation .
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   668
          </pre>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   669
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   670
        </section>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   671
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   672
        <section id="UpdateList-statement">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   673
          <h2><dfn>UpdateList</dfn></h2>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   674
          <p>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   675
              The <a>UpdateList</a> operation is used to update some members of an <a href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDF collection</a>. It works in a similar way to <a href="https://docs.python.org/3/reference/expressions.html#slicings">slicing in Python</a> or similar languages: it replaces a slice of a list by another list.
903
0574b13034e2 improvements in UpdateList (and relater errors in the Error handling section)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 902
diff changeset
   676
          </p>
901
caf4bc0d15f0 improved UpdateList and a number of other things
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 900
diff changeset
   677
903
0574b13034e2 improvements in UpdateList (and relater errors in the Error handling section)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 902
diff changeset
   678
          <p>
910
d60c6cf504ec Review up to 3.3.
Alexandre Bertails <alexandre@bertails.org>
parents: 909
diff changeset
   679
              The <a>UpdateList</a> operation is defined by four components: a <a class="internalDFN" href="#grammar-production-varOrIRI">variable or IRI</a>, a <a class="internalDFN" href="#grammar-production-predicate">predicate</a>, a <a>Slice expression</a>, and an <a>argument graph</a> containing an RDF collection.
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   680
          </p>
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   681
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   682
          <p>
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   683
              The <dfn>Slice expression</dfn> is composed of two optional 0-based indexes <var>i<sub>min</sub></var> and <var>i<sub>max</sub></var> separated by "<code>..</code>". A negative index denotes elements from the end of the list counting backwards, e.g. the last element of any non-empty list always has the index <code>-1</code>. An omitted value is interpreted as the length of the collection. The <a>Slice expression</a> will denote the slice of the list being preceded by <var>i<sub>min</sub></var> elements, and spanning over (<var>i<sub>max</sub></var> - <var>i<sub>min</sub></var>) elements.
903
0574b13034e2 improvements in UpdateList (and relater errors in the Error handling section)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 902
diff changeset
   684
         </p>
0574b13034e2 improvements in UpdateList (and relater errors in the Error handling section)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 902
diff changeset
   685
         <p>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   686
             For example, here are some <a>Slice expression</a>s for the list <code>( "lorem" "ipsum" "dolor" "sit" "amet" )</code>:
903
0574b13034e2 improvements in UpdateList (and relater errors in the Error handling section)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 902
diff changeset
   687
          </p>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   688
          <ul>
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   689
              <li><code>2..4</code> denotes the slice <code>( "dolor" "sit" )</code>, i.e. the elements between the indexes <code>2</code> and <code>4</code></li>
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   690
              <li><code>0..</code> denotes the slice <code>( "lorem" "ipsum" "dolor" "sit" "amet" )</code>, i.e. the whole list</li>
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   691
              <li><code>3..</code> denotes the slice <code>( "sit" "amet" )</code>, i.e. all the elements after the index <code>3</code></li>
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   692
              <li><code>-2..</code> denotes the slice <code>( "sit" "amet" )</code>, i.e. the last 2 elements</li>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   693
              <li><code>2..2</code> denotes the empty slice located between <code>"ipsum"</code> and <code>"dolor"</code></li>
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   694
              <li><code>..</code> denotes the empty slice located at the end of the list</li>
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   695
          </ul>
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   696
924
25c11f178ac4 Moved UpdateList algorithm to Appendix
Alexandre Bertails <alexandre@bertails.org>
parents: 923
diff changeset
   697
          <p>
25c11f178ac4 Moved UpdateList algorithm to Appendix
Alexandre Bertails <alexandre@bertails.org>
parents: 923
diff changeset
   698
              <a href="#updatelist-algo">Appendix A</a> contains a detailed algorithm for implementing the <a>UpdateList</a> logic using reified <code>rdf:List</code>.
25c11f178ac4 Moved UpdateList algorithm to Appendix
Alexandre Bertails <alexandre@bertails.org>
parents: 923
diff changeset
   699
          </p>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   700
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   701
      </section>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   702
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   703
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   704
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   705
      <section id="error-handling">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   706
        <h2><dfn>Error Handling</dfn></h2>
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   707
        <p>
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   708
LD Patch abides to the semantics of the <a href="http://tools.ietf.org/html/rfc5789">HTTP PATCH method</a> [[!RFC5789]], in that the server <q cite="http://tools.ietf.org/html/rfc5789">MUST apply the entire set of changes atomically and never provide (e.g., in response to a GET during this operation) a partially modified representation. If the entire patch document cannot be successfully applied (e.g., one of the instructions has failed), then the server MUST NOT apply any of the changes</q>. In the case LD Patch operations fail to be applied, <a href="http://tools.ietf.org/html/rfc5789#section-2.2">Error Handling, Section 2</a> of [[!RFC5789]] specifies the error codes to be used.
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   709
        </p>
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   710
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   711
	<p>
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   712
            Here are some additional error conditions more specific to LD Patch:
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   713
        </p>
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   714
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   715
        <ul>
896
1cfafcb13507 Added new errors.
Alexandre Bertails <bertails@gmail.com>
parents: 895
diff changeset
   716
            <li id="bind-unique-match">If a <a>Bind</a> statement fails to match exactly one node, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
1cfafcb13507 Added new errors.
Alexandre Bertails <bertails@gmail.com>
parents: 895
diff changeset
   717
            <li id="unicity-constraint-violated">If a <a>Unicity constraint</a> is violated, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
1cfafcb13507 Added new errors.
Alexandre Bertails <bertails@gmail.com>
parents: 895
diff changeset
   718
            <li id="cut-nothing">If a <a>Cut</a> operation fails to remove any triple, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
897
b8f83a85dd5c Fixed Cut.\
Alexandre Bertails <bertails@gmail.com>
parents: 896
diff changeset
   719
            <li id="cut-non-bnode">If a <a>Cut</a> operation is called on a variable not bound to a blank node, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
931
352b5f1ec843 reflected DeleteExisting in error section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 930
diff changeset
   720
            <li id="deleteexisting-non-existing-triple">If a <a>DeleteExisting</a> attempts to remove a non-existing triple, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
928
1d25df69dae6 Added text and error-handling for AddNew and DeleteAny.
Alexandre Bertails <alexandre@bertails.org>
parents: 927
diff changeset
   721
            <li id="addnew-already-existing-triple">If a <a>AddNew</a> attempts to add an already existing triple, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
911
2fe101c7288e Done with my (final?) review.
Alexandre Bertails <alexandre@bertails.org>
parents: 910
diff changeset
   722
            <li id="updatelist-non-list-argument">If the subject and predicate provided to an <a>UpdateList</a> do not have a unique object, or if this object is not a well-formed collection, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   723
            <li id="wrong-order-for-indexes">If the indexes in a <a>slice expression</a> are in the wrong order (e.g. <code>2868..42</code>), then the parsing fails and a 400 (Bad Request) error status code MUST be returned.</li>
911
2fe101c7288e Done with my (final?) review.
Alexandre Bertails <alexandre@bertails.org>
parents: 910
diff changeset
   724
            <li id="wrong-index">If an index in a <a>slice expression</a> is greater than the length of the <code>rdf:List</code>, then a 422 (Unprocessable Entity) error status code MUST be returned.</li>
896
1cfafcb13507 Added new errors.
Alexandre Bertails <bertails@gmail.com>
parents: 895
diff changeset
   725
            <li id="unknown-prefix">If a prefix name (<a class="internalDFN" href="#grammar-production-PNAME_NS">PNAME_NS</a>) is used without being previously declared, then the parsing fails and a 400 (Bad Request) error status code MUST be returned.</li>
1cfafcb13507 Added new errors.
Alexandre Bertails <bertails@gmail.com>
parents: 895
diff changeset
   726
            <li id="unknown-variable">If a <a>var</a>iable is used without being previously bound, then the parsing fails and a 400 (Bad Request) error status code MUST be returned.</li>
1cfafcb13507 Added new errors.
Alexandre Bertails <bertails@gmail.com>
parents: 895
diff changeset
   727
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   728
        </ul>
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   729
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   730
        <p>
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   731
            Note: 422 (Unprocessable Entity) is defined in <a href="http://tools.ietf.org/html/rfc4918#section-11.2">422 Unprocessable Entity, Section 11.2</a> of [[!RFC4918]].
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   732
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   733
        </p>
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   734
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   735
      </section>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   736
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   737
      <section id="pathological-graph">
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   738
        <h2><dfn>Pathological Graph</dfn></h2>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   739
          <p>
886
53e7f5b2f6f5 a few improvements on LD Patch Intro and Semantics
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 885
diff changeset
   740
            There exists a particular case which LD Patch is not able to address. Given an RDF graph <var>G</var>, a blank node <var>b</var> is said to be unambiguous in <var>G</var> if there exists a couple <var>(n, p)</var> where
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   741
          <ul>
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   742
            <li><var>n</var> is an IRI or a literal</li>
913
cd2b89e3cdc8 My final review (until the next one ;)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 912
diff changeset
   743
            <li><var>p</var> is a <a>Path Expression</a></li>
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   744
          </ul>
886
53e7f5b2f6f5 a few improvements on LD Patch Intro and Semantics
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 885
diff changeset
   745
          such that applying <var>p</var> to {<var>n</var>} results in the singleton set {<var>b</var>}.
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   746
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   747
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   748
          <p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   749
  It is easy to see that only the unambiguous blank nodes of a graph can be handled in LD Patch.
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   750
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   751
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   752
          <p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   753
  Consider for example the following graph:
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   754
          </p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   755
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   756
        <pre class='example'>
884
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   757
&lt;#&gt; foaf:name "Alice" ; foaf:knows _:b1, _:b2 .
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   758
_:b1 a foaf:Person .
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   759
_:b2 a foaf:Person ; schema:workLocation _:b3 .
7a8d123386ee * added graph rule
Alexandre Bertails <bertails@gmail.com>
parents: 883
diff changeset
   760
_:b3 schema:name "W3C/MIT" .
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   761
        </pre>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   762
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   763
        <p>
913
cd2b89e3cdc8 My final review (until the next one ;)
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 912
diff changeset
   764
          The blank nodes <code>_:b2</code> and <code>_:b3</code> are unambiguous as they can be reached unambiguoulsy from the literal <code>"W3C/MIT"</code>. The blank node <code>_:b1</code>, on the other hand, is ambigious as all <a>path expression</a>s that can match it would also match <code>_:b2</code>.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   765
        </p>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   766
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   767
        <!-- p>
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   768
          This kind of node is not particularly interesting in RDF, as its presence does not change the semantics of the graph. Indeed, if we remove <code>_:b2</code> and all its triples from the graph above, the resulting graph would be semantically equivalent to the original graph.
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   769
        </p-->
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   770
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   771
        <p>
890
938c6685cf31 improved the beginning of the semantics section
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 889
diff changeset
   772
          Another example is a graph containing only blank nodes. All its nodes are therefore ambiguous as they can not be reached from an IRI or a literal. Such a graph is not interesting in the context of Linked Data as it contains no IRI to link to or from it.
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   773
        </p>
728
b59441421b0f [ldpatch] some cleaning
Alexandre Bertails <alexandre@bertails.org>
parents: 727
diff changeset
   774
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   775
        <p>
888
220214a92171 Cut. UpdateList. Examples. Few TODOs.
Alexandre Bertails <bertails@gmail.com>
parents: 887
diff changeset
   776
          Therefore, ambiguous blank nodes are considered a pathological case in the context of Linked Data, and so the fact that they cannot be coped with in LD Patch is deemed acceptable. Furthermore, their presence in a graph does not prevent the other nodes of that graph to be handled by LD Patch. Most notably, all <a class="externalDFN" href="http://www.w3.org/TR/rdf11-mt/#dfn-lean">non-lean graphs</a> [[!rdf11-mt]] are also pathological.
728
b59441421b0f [ldpatch] some cleaning
Alexandre Bertails <alexandre@bertails.org>
parents: 727
diff changeset
   777
        </p>
b59441421b0f [ldpatch] some cleaning
Alexandre Bertails <alexandre@bertails.org>
parents: 727
diff changeset
   778
882
1f0c234f4bce Made editorial changes as suggested from comments. Restructured the spec. Updated the Add/Delete operation and added a placeholder for Cut. Fixed typos.
Andrei Sambra <andrei.sambra@gmail.com>
parents: 880
diff changeset
   779
        </section>
728
b59441421b0f [ldpatch] some cleaning
Alexandre Bertails <alexandre@bertails.org>
parents: 727
diff changeset
   780
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   781
      </section>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   782
    </section>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   783
899
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   784
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   785
941
ddb7b8df660f Added Conformance section
Alexandre Bertails <alexandre@bertails.org>
parents: 940
diff changeset
   786
    <section id="turtle-sparql-comparison" class="informative">
899
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   787
        <h1>LD Patch compared to Turtle and SPARQL</h1>
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   788
        <p>
901
caf4bc0d15f0 improved UpdateList and a number of other things
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 900
diff changeset
   789
            The LD Patch syntax uses a Turtle [[!Turtle]] style syntax for its <a class="internalDFN" href="#grammar-production-triples">triples</a> production. This production differs from the Turtle language in that the <a class="internalDFN" href="#grammar-production-subject">subject</a> and <a class="internalDFN" href="#grammar-production-object">object</a> production rules allow the use of variables.
899
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   790
        </p>
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   791
        <p>
901
caf4bc0d15f0 improved UpdateList and a number of other things
Pierre-Antoine <pchampin@liris.cnrs.fr>
parents: 900
diff changeset
   792
            LD Patch variables are restricted to the <a class="internalDFN" href="#grammar-production-VAR1">VAR1</a> production rule from SPARQL 1.1 [[!sparql11-query]], only allowing a leading '<code>?</code>'.
899
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   793
        </p>
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   794
        <p>
976
d4e249a5bf19 Switched from CR to WG Note
Andrei Sambra <andrei@w3.org>
parents: 957
diff changeset
   795
            Finally, the prefix directive is restricted to the <a class="internalDFN" href="#grammar-production-prefixID">prefixID</a> production rule in Turtle [[!Turtle]], only allowing <code>@prefix</code>.
899
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   796
        </p>
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   797
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   798
    </section>
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   799
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   800
6d9fd90830da Replaced sub-section on prefixes with whole new section on comparing ld patch with turtle and sparql
Alexandre Bertails <bertails@gmail.com>
parents: 898
diff changeset
   801
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   802
    <section id='concrete-syntax'>
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   803
      <h1>Concrete Syntax</h1>
898
f76821641fca Fixed grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 897
diff changeset
   804
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   805
      <p>
898
f76821641fca Fixed grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 897
diff changeset
   806
          Production labels consisting of a number and a final 's', e.g. [135s], reference the production with that number in the <a href="http://www.w3.org/TR/sparql11-query/#sparqlGrammar">SPARQL 1.1 Query Language grammar</a> [[!sparql11-query]]. Production labels consisting of a number and a final 't', e.g. [6t], reference the production with that number in the <a href="http://www.w3.org/TR/turtle/#sec-grammar-grammar">Turtle grammar</a> [[!Turtle]]. A production label containing an extra trailing '*' denotes a modified rule, e.g. [10t*] and [12t*].
702
73a7b38f2dc6 initial LD Patch WD
Alexandre Bertails <bertails@gmail.com>
parents:
diff changeset
   807
      </p>
898
f76821641fca Fixed grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 897
diff changeset
   808
f76821641fca Fixed grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 897
diff changeset
   809
f76821641fca Fixed grammar.
Alexandre Bertails <bertails@gmail.com>
parents: 897
diff changeset
   810
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   811
      <!-- do not edit manually, this is automatically generated -->
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   812
<table class="grammar">
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   813
  <tbody class="grammar-productions">
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   814
<tr id="grammar-production-ldpatch">
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   815
    <td>[1]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   816
    <td><a href="#grammar-production-ldpatch">ldpatch</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   817
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   818
    <td><a href="#grammar-production-prologue">prologue</a> <a href="#grammar-production-statement">statement</a>*</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   819
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   820
<tr id="grammar-production-prologue">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   821
    <td>[2]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   822
    <td><a href="#grammar-production-prologue">prologue</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   823
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   824
    <td><a href="#grammar-production-prefixID">prefixID</a>*</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   825
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   826
<tr id="grammar-production-statement">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   827
    <td>[3]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   828
    <td><a href="#grammar-production-statement">statement</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   829
    <td>::=</td>
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   830
    <td><a href="#grammar-production-bind">bind</a> | <a href="#grammar-production-add">add</a> | <a href="#grammar-production-addNew">addNew</a> | <a href="#grammar-production-delete">delete</a> | <a href="#grammar-production-deleteExisting">deleteExisting</a> | <a href="#grammar-production-cut">cut</a> | <a href="#grammar-production-updateList">updateList</a></td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   831
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   832
<tr id="grammar-production-bind">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   833
    <td>[4]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   834
    <td><a href="#grammar-production-bind">bind</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   835
    <td>::=</td>
954
1acc13a1329a Fixed broken links
Andrei Sambra <andrei@w3.org>
parents: 952
diff changeset
   836
    <td>("<code class="grammar-literal">Bind</code>" | "<code class="grammar-literal">B</code>") <a href="#grammar-production-VAR1">VAR1</a> <a href="#grammar-production-value">value</a> <a href="#grammar-production-path">path</a>? "<code class="grammar-literal">.</code>"</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   837
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   838
<tr id="grammar-production-add">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   839
    <td>[5]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   840
    <td><a href="#grammar-production-add">add</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   841
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   842
    <td>("<code class="grammar-literal">Add</code>" | "<code class="grammar-literal">A</code>") "<code class="grammar-literal">{</code>" <a href="#grammar-production-graph">graph</a> "<code class="grammar-literal">}</code>" "<code class="grammar-literal">.</code>"</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   843
</tr>
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   844
<tr id="grammar-production-addNew">
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   845
    <td>[6]</td>
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   846
    <td><a href="#grammar-production-addNew">addNew</a></td>
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   847
    <td>::=</td>
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   848
    <td>("<code class="grammar-literal">AddNew</code>" | "<code class="grammar-literal">AN</code>") "<code class="grammar-literal">{</code>" <a href="#grammar-production-graph">graph</a> "<code class="grammar-literal">}</code>" "<code class="grammar-literal">.</code>"</td>
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   849
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   850
<tr id="grammar-production-delete">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   851
    <td>[7]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   852
    <td><a href="#grammar-production-delete">delete</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   853
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   854
    <td>("<code class="grammar-literal">Delete</code>" | "<code class="grammar-literal">D</code>") "<code class="grammar-literal">{</code>" <a href="#grammar-production-graph">graph</a> "<code class="grammar-literal">}</code>" "<code class="grammar-literal">.</code>"</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   855
</tr>
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   856
<tr id="grammar-production-deleteExisting">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   857
    <td>[8]</td>
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   858
    <td><a href="#grammar-production-deleteExisting">deleteExisting</a></td>
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   859
    <td>::=</td>
930
11a2019205fe Implemented resolution: Add, Delete, AddNew, DeleteExisting
Alexandre Bertails <alexandre@bertails.org>
parents: 929
diff changeset
   860
    <td>("<code class="grammar-literal">DeleteExisting</code>" | "<code class="grammar-literal">DE</code>") "<code class="grammar-literal">{</code>" <a href="#grammar-production-graph">graph</a> "<code class="grammar-literal">}</code>" "<code class="grammar-literal">.</code>"</td>
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   861
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   862
<tr id="grammar-production-cut">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   863
    <td>[9]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   864
    <td><a href="#grammar-production-cut">cut</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   865
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   866
    <td>("<code class="grammar-literal">Cut</code>" | "<code class="grammar-literal">C</code>") <a href="#grammar-production-VAR1">VAR1</a> "<code class="grammar-literal">.</code>"</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   867
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   868
<tr id="grammar-production-updateList">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   869
    <td>[10]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   870
    <td><a href="#grammar-production-updateList">updateList</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   871
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   872
    <td>("<code class="grammar-literal">UpdateList</code>" | "<code class="grammar-literal">UL</code>") <a href="#grammar-production-varOrIRI">varOrIRI</a> <a href="#grammar-production-predicate">predicate</a> <a href="#grammar-production-slice">slice</a> <a href="#grammar-production-collection">collection</a> "<code class="grammar-literal">.</code>"</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   873
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   874
<tr id="grammar-production-varOrIRI">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   875
    <td>[11]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   876
    <td><a href="#grammar-production-varOrIRI">varOrIRI</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   877
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   878
    <td><a href="#grammar-production-iri">iri</a> | <a href="#grammar-production-VAR1">VAR1</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   879
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   880
<tr id="grammar-production-value">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   881
    <td>[12]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   882
    <td><a href="#grammar-production-value">value</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   883
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   884
    <td><a href="#grammar-production-iri">iri</a> | <a href="#grammar-production-literal">literal</a> | <a href="#grammar-production-VAR1">VAR1</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   885
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   886
<tr id="grammar-production-path">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   887
    <td>[13]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   888
    <td><a href="#grammar-production-path">path</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   889
    <td>::=</td>
914
88bfaff0ca03 implements resolution for ISSUE-100
Alexandre Bertails <alexandre@bertails.org>
parents: 913
diff changeset
   890
    <td>( '<code class="grammar-literal">/</code>' <a href="#grammar-production-step">step</a> | <a href="#grammar-production-constraint">constraint</a> )*</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   891
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   892
<tr id="grammar-production-step">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   893
    <td>[14]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   894
    <td><a href="#grammar-production-step">step</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   895
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   896
    <td>'<code class="grammar-literal">^</code>' <a href="#grammar-production-iri">iri</a> | <a href="#grammar-production-iri">iri</a> | <a href="#grammar-production-INDEX">INDEX</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   897
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   898
<tr id="grammar-production-constraint">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   899
    <td>[15]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   900
    <td><a href="#grammar-production-constraint">constraint</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   901
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   902
    <td>'<code class="grammar-literal">[</code>' <a href="#grammar-production-path">path</a> ( '<code class="grammar-literal">=</code>' <a href="#grammar-production-value">value</a> )? '<code class="grammar-literal">]</code>' | '<code class="grammar-literal">!</code>'</td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   903
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   904
<tr id="grammar-production-slice">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   905
    <td>[16]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   906
    <td><a href="#grammar-production-slice">slice</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   907
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   908
    <td><a href="#grammar-production-INDEX">INDEX</a>? '<code class="grammar-literal">..</code>' <a href="#grammar-production-INDEX">INDEX</a>?</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   909
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   910
<tr id="grammar-production-INDEX">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   911
    <td>[17]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   912
    <td><a href="#grammar-production-INDEX">INDEX</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   913
    <td>::=</td>
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   914
    <td>'<code class="grammar-literal">-</code>'? [0-9]+</td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   915
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   916
<tr id="grammar-production-VAR1">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   917
    <td>[143s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   918
    <td><a href="#grammar-production-VAR1">VAR1</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
   919
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   920
    <td>'<code class="grammar-literal">?</code>' <a href="#grammar-production-VARNAME">VARNAME</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   921
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   922
<tr id="grammar-production-VARNAME">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   923
    <td>[166s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   924
    <td><a href="#grammar-production-VARNAME">VARNAME</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   925
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   926
    <td>( <a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> | [0-9] ) ( <a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> | [0-9] | #x00B7 | [#x0300-#x036F] | [#x203F-#x2040] )*</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   927
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   928
<tr id="grammar-production-prefixID">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   929
    <td>[4t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   930
    <td><a href="#grammar-production-prefixID">prefixID</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   931
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   932
    <td>"<code class="grammar-literal">@prefix</code>" <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a> "<code class="grammar-literal">.</code>"</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   933
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   934
<tr id="grammar-production-graph">
923
cdee523c6f10 Updated grammar w/ negative indexes and AddNew+DeleteAny. Updated text for Slice.
Alexandre Bertails <alexandre@bertails.org>
parents: 918
diff changeset
   935
    <td>[18]</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   936
    <td><a href="#grammar-production-graph">graph</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   937
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   938
    <td><a href="#grammar-production-triples">triples</a> ( '<code class="grammar-literal">.</code>' <a href="#grammar-production-triples">triples</a> )* '<code class="grammar-literal">.</code>'?</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   939
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   940
<tr id="grammar-production-triples">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   941
    <td>[6t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   942
    <td><a href="#grammar-production-triples">triples</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   943
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   944
    <td><a href="#grammar-production-subject">subject</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a> | <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a>?</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
   945
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   946
<tr id="grammar-production-predicateObjectList">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   947
    <td>[7t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   948
    <td><a href="#grammar-production-predicateObjectList">predicateObjectList</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   949
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   950
    <td><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a> ('<code class="grammar-literal">;</code>' (<a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a>)?)*</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   951
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   952
<tr id="grammar-production-objectList">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   953
    <td>[8t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   954
    <td><a href="#grammar-production-objectList">objectList</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   955
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   956
    <td><a href="#grammar-production-object">object</a> ('<code class="grammar-literal">,</code>' <a href="#grammar-production-object">object</a>)*</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   957
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   958
<tr id="grammar-production-verb">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   959
    <td>[9t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   960
    <td><a href="#grammar-production-verb">verb</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   961
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   962
    <td><a href="#grammar-production-predicate">predicate</a> | '<code class="grammar-literal">a</code>'</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   963
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   964
<tr id="grammar-production-subject">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   965
    <td>[10t*]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   966
    <td><a href="#grammar-production-subject">subject</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   967
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   968
    <td><a href="#grammar-production-iri">iri</a> | <a href="#grammar-production-BlankNode">BlankNode</a> | <a href="#grammar-production-collection">collection</a> | <a href="#grammar-production-VAR1">VAR1</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   969
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   970
<tr id="grammar-production-predicate">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   971
    <td>[11t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   972
    <td><a href="#grammar-production-predicate">predicate</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   973
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   974
    <td><a href="#grammar-production-iri">iri</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   975
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   976
<tr id="grammar-production-object">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   977
    <td>[12t*]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   978
    <td><a href="#grammar-production-object">object</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   979
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   980
    <td><a href="#grammar-production-iri">iri</a> | <a href="#grammar-production-BlankNode">BlankNode</a> | <a href="#grammar-production-collection">collection</a> | <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> | <a href="#grammar-production-literal">literal</a> | <a href="#grammar-production-VAR1">VAR1</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   981
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   982
<tr id="grammar-production-literal">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   983
    <td>[13t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   984
    <td><a href="#grammar-production-literal">literal</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   985
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   986
    <td><a href="#grammar-production-RDFLiteral">RDFLiteral</a> | <a href="#grammar-production-NumericLiteral">NumericLiteral</a> | <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   987
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   988
<tr id="grammar-production-blankNodePropertyList">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   989
    <td>[14t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   990
    <td><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   991
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   992
    <td>'<code class="grammar-literal">[</code>' <a href="#grammar-production-predicateObjectList">predicateObjectList</a> '<code class="grammar-literal">]</code>'</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   993
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   994
<tr id="grammar-production-collection">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   995
    <td>[15t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   996
    <td><a href="#grammar-production-collection">collection</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   997
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   998
    <td>'<code class="grammar-literal">(</code>' <a href="#grammar-production-object">object</a>* '<code class="grammar-literal">)</code>'</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
   999
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1000
<tr id="grammar-production-NumericLiteral">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1001
    <td>[16t]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1002
    <td><a href="#grammar-production-NumericLiteral">NumericLiteral</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1003
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1004
    <td><a href="#grammar-production-INTEGER">INTEGER</a> | <a href="#grammar-production-DECIMAL">DECIMAL</a> | <a href="#grammar-production-DOUBLE">DOUBLE</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1005
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1006
<tr id="grammar-production-RDFLiteral">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1007
    <td>[128s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1008
    <td><a href="#grammar-production-RDFLiteral">RDFLiteral</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1009
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1010
    <td><a href="#grammar-production-String">String</a> (<a href="#grammar-production-LANGTAG">LANGTAG</a> | '<code class="grammar-literal">^^</code>' <a href="#grammar-production-iri">iri</a>)?</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1011
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1012
<tr id="grammar-production-BooleanLiteral">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1013
    <td>[133s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1014
    <td><a href="#grammar-production-BooleanLiteral">BooleanLiteral</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1015
    <td>::=</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1016
    <td>'<code class="grammar-literal">true</code>' | '<code class="grammar-literal">false</code>'</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1017
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1018
<tr id="grammar-production-String">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1019
    <td>[17]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1020
    <td><a href="#grammar-production-String">String</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1021
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1022
    <td><a href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE</a> | <a href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE</a> | <a href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE</a> | <a href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1023
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1024
<tr id="grammar-production-iri">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1025
    <td>[135s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1026
    <td><a href="#grammar-production-iri">iri</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1027
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1028
    <td><a href="#grammar-production-IRIREF">IRIREF</a> | <a href="#grammar-production-PrefixedName">PrefixedName</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1029
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1030
<tr id="grammar-production-PrefixedName">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1031
    <td>[136s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1032
    <td><a href="#grammar-production-PrefixedName">PrefixedName</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1033
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1034
    <td><a href="#grammar-production-PNAME_LN">PNAME_LN</a> | <a href="#grammar-production-PNAME_NS">PNAME_NS</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1035
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1036
<tr id="grammar-production-BlankNode">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1037
    <td>[137s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1038
    <td><a href="#grammar-production-BlankNode">BlankNode</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1039
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1040
    <td><a href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a> | <a href="#grammar-production-ANON">ANON</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1041
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1042
<tr id="grammar-production-IRIREF">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1043
    <td>[18]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1044
    <td><a href="#grammar-production-IRIREF">IRIREF</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1045
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1046
    <td>'<code class="grammar-literal"><</code>' ([^#x00-#x20<>"{}|^`\] | <a href="#grammar-production-UCHAR">UCHAR</a>)* '<code class="grammar-literal">></code>' /* #x00=NULL #01-#x1F=control codes #x20=space */</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1047
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1048
<tr id="grammar-production-PNAME_NS">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1049
    <td>[139s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1050
    <td><a href="#grammar-production-PNAME_NS">PNAME_NS</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1051
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1052
    <td><a href="#grammar-production-PN_PREFIX">PN_PREFIX</a>? '<code class="grammar-literal">:</code>'</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1053
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1054
<tr id="grammar-production-PNAME_LN">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1055
    <td>[140s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1056
    <td><a href="#grammar-production-PNAME_LN">PNAME_LN</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1057
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1058
    <td><a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-PN_LOCAL">PN_LOCAL</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1059
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1060
<tr id="grammar-production-BLANK_NODE_LABEL">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1061
    <td>[141s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1062
    <td><a href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1063
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1064
    <td>'<code class="grammar-literal">_:</code>' (<a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> | [0-9]) ((<a href="#grammar-production-PN_CHARS">PN_CHARS</a> | '<code class="grammar-literal">.</code>')* <a href="#grammar-production-PN_CHARS">PN_CHARS</a>)?</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1065
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1066
<tr id="grammar-production-LANGTAG">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1067
    <td>[144s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1068
    <td><a href="#grammar-production-LANGTAG">LANGTAG</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1069
    <td>::=</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1070
    <td>'<code class="grammar-literal">@</code>' [a-zA-Z]+ ('<code class="grammar-literal">-</code>' [a-zA-Z0-9]+)*</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1071
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1072
<tr id="grammar-production-INTEGER">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1073
    <td>[19]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1074
    <td><a href="#grammar-production-INTEGER">INTEGER</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1075
    <td>::=</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1076
    <td>[+-]? [0-9]+</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1077
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1078
<tr id="grammar-production-DECIMAL">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1079
    <td>[20]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1080
    <td><a href="#grammar-production-DECIMAL">DECIMAL</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1081
    <td>::=</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1082
    <td>[+-]? [0-9]* '<code class="grammar-literal">.</code>' [0-9]+</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1083
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1084
<tr id="grammar-production-DOUBLE">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1085
    <td>[21]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1086
    <td><a href="#grammar-production-DOUBLE">DOUBLE</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1087
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1088
    <td>[+-]? ([0-9]+ '<code class="grammar-literal">.</code>' [0-9]* <a href="#grammar-production-EXPONENT">EXPONENT</a> | '<code class="grammar-literal">.</code>' [0-9]+ <a href="#grammar-production-EXPONENT">EXPONENT</a> | [0-9]+ <a href="#grammar-production-EXPONENT">EXPONENT</a>)</td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1089
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1090
<tr id="grammar-production-EXPONENT">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1091
    <td>[154s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1092
    <td><a href="#grammar-production-EXPONENT">EXPONENT</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1093
    <td>::=</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1094
    <td>[eE] [+-]? [0-9]+</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1095
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1096
<tr id="grammar-production-STRING_LITERAL_QUOTE">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1097
    <td>[22]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1098
    <td><a href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1099
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1100
    <td>'<code class="grammar-literal">"</code>' ([^#x22#x5C#xA#xD] | <a href="#grammar-production-ECHAR">ECHAR</a> | <a href="#grammar-production-UCHAR">UCHAR</a>)* '<code class="grammar-literal">"</code>'      /* #x22=" #x5C=\ #xA=new line #xD=carriage return */</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1101
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1102
<tr id="grammar-production-STRING_LITERAL_SINGLE_QUOTE">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1103
    <td>[23]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1104
    <td><a href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE</a></td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1105
    <td>::=</td>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1106
    <td>"<code class="grammar-literal">'</code>" ([^#x27#x5C#xA#xD] | <a href="#grammar-production-ECHAR">ECHAR</a> | <a href="#grammar-production-UCHAR">UCHAR</a>)* "<code class="grammar-literal">'</code>"      /* #x27=' #x5C=\ #xA=new line #xD=carriage return */</td>
905
6ae283919a8a Fixed grammar. Improved UpdateList (not finished).
Alexandre Bertails <alexandre@bertails.org>
parents: 904
diff changeset
  1107
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1108
<tr id="grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1109
    <td>[24]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1110
    <td><a href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1111
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1112
    <td>"<code class="grammar-literal">'''</code>" (("<code class="grammar-literal">'</code>" | "<code class="grammar-literal">''</code>")? ([^'\] | <a href="#grammar-production-ECHAR">ECHAR</a> | <a href="#grammar-production-UCHAR">UCHAR</a>))* "<code class="grammar-literal">'''</code>"</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1113
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1114
<tr id="grammar-production-STRING_LITERAL_LONG_QUOTE">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1115
    <td>[25]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1116
    <td><a href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1117
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1118
    <td>'<code class="grammar-literal">"""</code>' (('<code class="grammar-literal">"</code>' | '<code class="grammar-literal">""</code>')? ([^"\] | <a href="#grammar-production-ECHAR">ECHAR</a> | <a href="#grammar-production-UCHAR">UCHAR</a>))* '<code class="grammar-literal">"""</code>'</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1119
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1120
<tr id="grammar-production-UCHAR">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1121
    <td>[26]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1122
    <td><a href="#grammar-production-UCHAR">UCHAR</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1123
    <td>::=</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1124
    <td>'<code class="grammar-literal">\\u</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> | '<code class="grammar-literal">\\U</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a></td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1125
</tr>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1126
<tr id="grammar-production-ECHAR">
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1127
    <td>[159s]</td>
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bertails <alexandre@bertails.org>
parents: 906
diff changeset
  1128
    <td><a href="#grammar-production-ECHAR">ECHAR</a></td>
880
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1129
    <td>::=</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1130
    <td>'<code class="grammar-literal">\</code>' [tbnrf"'\]</td>
c1500cd2bb5d Updated grammar with Add { triples }
Alexandre Bertails <alexandre@bertails.org>
parents: 794
diff changeset
  1131
</tr>
907
02e57dda7d72 I broke the grammar, my bad. Plus minor fixes.
Alexandre Bert