@prefix dc:       <http://purl.org/dc/elements/1.1/> .
@prefix o-docttr: <http://tpl.ottr.xyz/p/docttr/0.1/> .
@prefix ottr:     <http://ns.ottr.xyz/0.4/> .
@prefix rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:     <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos:     <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .

o-docttr:Signature  rdf:type  ottr:Template ;
        ottr:annotation  [ ottr:of      o-docttr:Example ;
                           ottr:values  ( o-docttr:Signature "The template uses an instance of itself to document itself" "2020-08-21T00:00:00Z"^^xsd:dateTime ( <http://folk.uio.no/martige/foaf.rdf#me> ) ottr:none )
                         ] ;
        ottr:annotation  [ ottr:of      o-docttr:Provenance ;
                           ottr:values  ( o-docttr:Signature "2020-08-21T00:00:00Z"^^xsd:dateTime ottr:none ( <http://folk.uio.no/martige/foaf.rdf#me> ) ottr:none )
                         ] ;
        ottr:annotation  [ ottr:of      o-docttr:Version ;
                           ottr:values  ( o-docttr:Signature ottr:draft "0.1.1" ottr:none ottr:none )
                         ] ;
        ottr:annotation  [ ottr:of      o-docttr:Signature ;
                           ottr:values  ( o-docttr:Signature ottr:none "Use to documente a published template, providing descriptions and usage notes." ottr:none ( "The template should be used in combination with other templates in the same package." ) ( o-docttr: ) ( "Suggest to refactor, keeping the signature, but put body in a more generic template as this template could be used for documenting any resource. Align refactoring with a possible refactoring of o-docttr:Parameter." ) )
                         ] ;
        ottr:parameters  ( [ ottr:type      ottr:IRI ;
                             ottr:variable  _:b0
                           ]
                           [ ottr:modifier  ottr:optional ;
                             ottr:type      xsd:string ;
                             ottr:variable  _:b1
                           ]
                           [ ottr:modifier  ottr:nonBlank ;
                             ottr:type      xsd:string ;
                             ottr:variable  _:b2
                           ]
                           [ ottr:modifier  ottr:nonBlank , ottr:optional ;
                             ottr:type      xsd:string ;
                             ottr:variable  _:b3
                           ]
                           [ ottr:modifier  ottr:optional ;
                             ottr:type      ( ottr:NEList xsd:string ) ;
                             ottr:variable  _:b4
                           ]
                           [ ottr:modifier  ottr:optional ;
                             ottr:type      ( ottr:NEList ottr:IRI ) ;
                             ottr:variable  _:b5
                           ]
                           [ ottr:modifier  ottr:optional ;
                             ottr:type      ( ottr:NEList xsd:string ) ;
                             ottr:variable  _:b6
                           ]
                         ) ;
        ottr:pattern     [ ottr:of      ottr:Triple ;
                           ottr:values  ( _:b0
                                          dc:description
                                          _:b2
                                        )
                         ] ;
        ottr:pattern     [ ottr:of      ottr:Triple ;
                           ottr:values  ( _:b0
                                          dc:title
                                          _:b1
                                        )
                         ] ;
        ottr:pattern     [ ottr:of      ottr:Triple ;
                           ottr:values  ( _:b0
                                          rdfs:label
                                          _:b1
                                        )
                         ] ;
        ottr:pattern     [ ottr:of      ottr:Triple ;
                           ottr:values  ( _:b0
                                          skos:scopeNote
                                          _:b3
                                        )
                         ] ;
        ottr:pattern     [ ottr:arguments  ( [ ottr:value  _:b0 ]
                                             [ ottr:value  skos:note ]
                                             [ ottr:modifier  ottr:listExpand ;
                                               ottr:value     _:b4
                                             ]
                                           ) ;
                           ottr:modifier   ottr:cross ;
                           ottr:of         ottr:Triple
                         ] ;
        ottr:pattern     [ ottr:arguments  ( [ ottr:value  _:b0 ]
                                             [ ottr:value  skos:editorialNote ]
                                             [ ottr:modifier  ottr:listExpand ;
                                               ottr:value     _:b6
                                             ]
                                           ) ;
                           ottr:modifier   ottr:cross ;
                           ottr:of         ottr:Triple
                         ] ;
        ottr:pattern     [ ottr:arguments  ( [ ottr:value  _:b0 ]
                                             [ ottr:value  rdfs:seeAlso ]
                                             [ ottr:modifier  ottr:listExpand ;
                                               ottr:value     _:b5
                                             ]
                                           ) ;
                           ottr:modifier   ottr:cross ;
                           ottr:of         ottr:Triple
                         ] .
