cubicweb/web/views/rdf.py
author Philippe Pepiot <ph@itsalwaysdns.eu>
Tue, 31 Mar 2020 19:15:03 +0200
changeset 12957 0c973204033a
parent 12867 50122959acbc
permissions -rw-r--r--
[server] prevent returning closed cursor to the database pool In since c8c6ad8 init_repository use repo.internal_cnx() instead of repo.system_source.get_connection() so it use the pool and we should not close cursors from the pool before returning it back. Otherwise we may have "connection already closed" error. This bug only trigger when connection-pool-size = 1. Since we are moving to use a dynamic pooler we need to get this fixed. This does not occur with sqlite since the connection wrapper instantiate new cursor everytime, but this occur with other databases.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     1
# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     2
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     3
#
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     4
# This file is part of CubicWeb.
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     5
#
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     6
# CubicWeb is free software: you can redistribute it and/or modify it under the
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     7
# terms of the GNU Lesser General Public License as published by the Free
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     8
# Software Foundation, either version 2.1 of the License, or (at your option)
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     9
# any later version.
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    10
#
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    11
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    13
# FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    14
# details.
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    15
#
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    16
# You should have received a copy of the GNU Lesser General Public License along
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    17
# with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    18
"""base xml and rss views"""
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    19
11767
432f87a63057 flake8 and all
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11057
diff changeset
    20
10666
7f6b5f023884 [py3k] replace '_ = unicode' in global scope (closes #7589459)
Rémi Cardona <remi.cardona@logilab.fr>
parents: 10609
diff changeset
    21
from cubicweb import _
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    22
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    23
from yams import xy
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    24
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    25
from cubicweb.schema import VIRTUAL_RTYPES
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    26
from cubicweb.view import EntityView
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    27
from cubicweb.web.views.xmlrss import SERIALIZERS
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    28
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    29
try:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    30
    import rdflib
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    31
except ImportError:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    32
    rdflib = None
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    33
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    34
if rdflib is not None:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    35
    RDF = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#')
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    36
    CW = rdflib.Namespace('http://ns.cubicweb.org/cubicweb/0.0/')
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    37
    from rdflib import Literal, URIRef, Namespace
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    38
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    39
    def urijoin(item):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    40
        base, ext = item
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    41
        return URIRef(Namespace(base)[ext])
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    42
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    43
    SKIP_RTYPES = VIRTUAL_RTYPES | set(['cwuri', 'is', 'is_instance_of'])
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    44
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    45
    class RDFView(EntityView):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    46
        """rdf view for entities"""
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    47
        __regid__ = 'rdf'
8035
f98012ec7c53 [export views] uniformize titles, much nicer when listing possible views. Closes #2060944
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7987
diff changeset
    48
        title = _('rdf export')
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    49
        templatable = False
10317
b81adb5e32f9 [web/views] add text/n3 rdf view
Julien Cristau <julien.cristau@logilab.fr>
parents: 10234
diff changeset
    50
        binary = True
12867
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
    51
        format = 'xml' # or maybe pretty-xml ?
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
    52
        content_type = 'application/rdf+xml'
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    53
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    54
        def call(self):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    55
            graph = rdflib.Graph()
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    56
            graph.bind('cw', CW)
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    57
            for prefix, xmlns in xy.XY.prefixes.items():
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    58
                graph.bind(prefix, rdflib.Namespace(xmlns))
10609
e2d8e81bfe68 [py3k] import range using six.moves
Rémi Cardona <remi.cardona@logilab.fr>
parents: 10317
diff changeset
    59
            for i in range(self.cw_rset.rowcount):
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    60
                entity = self.cw_rset.complete_entity(i, 0)
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    61
                self.entity2graph(graph, entity)
10317
b81adb5e32f9 [web/views] add text/n3 rdf view
Julien Cristau <julien.cristau@logilab.fr>
parents: 10234
diff changeset
    62
            self.w(graph.serialize(format=self.format))
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    63
7519
4e531c8697f8 [rdf] add method so one can call entity.view('rdf')
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7016
diff changeset
    64
        def entity_call(self, entity):
4e531c8697f8 [rdf] add method so one can call entity.view('rdf')
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7016
diff changeset
    65
            self.call()
4e531c8697f8 [rdf] add method so one can call entity.view('rdf')
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7016
diff changeset
    66
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    67
        def entity2graph(self, graph, entity):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    68
            cwuri = URIRef(entity.cwuri)
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    69
            add = graph.add
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    70
            add( (cwuri, RDF.type, CW[entity.e_schema.type]) )
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    71
            try:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    72
                for item in xy.xeq(entity.e_schema.type):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    73
                    add( (cwuri, RDF.type, urijoin(item)) )
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    74
            except xy.UnsupportedVocabulary:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    75
                pass
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    76
            for rschema, eschemas, role in entity.e_schema.relation_definitions('relation'):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    77
                rtype = rschema.type
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    78
                if rtype in SKIP_RTYPES or rtype.endswith('_permission'):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    79
                    continue
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    80
                for eschema in eschemas:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    81
                    if eschema.final:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    82
                        try:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    83
                            value = entity.cw_attr_cache[rtype]
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    84
                        except KeyError:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    85
                            continue # assuming rtype is Bytes
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    86
                        if value is not None:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    87
                            add( (cwuri, CW[rtype], Literal(value)) )
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    88
                            try:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    89
                                for item in xy.xeq('%s %s' % (entity.e_schema.type, rtype)):
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    90
                                    add( (cwuri, urijoin(item[1]), Literal(value)) )
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    91
                            except xy.UnsupportedVocabulary:
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    92
                                pass
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    93
                    else:
7987
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
    94
                        for related in entity.related(rtype, role, entities=True, safe=True):
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
    95
                            if role == 'subject':
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
    96
                                add( (cwuri, CW[rtype], URIRef(related.cwuri)) )
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
    97
                                try:
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
    98
                                    for item in xy.xeq('%s %s' % (entity.e_schema.type, rtype)):
10234
a12e4459eee5 [web/views/rdf] Take the second element of XY equivalent for non final relation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 8035
diff changeset
    99
                                        add( (cwuri, urijoin(item[1]), URIRef(related.cwuri)) )
7987
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
   100
                                except xy.UnsupportedVocabulary:
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
   101
                                    pass
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
   102
                            else:
0977d9594d3c [rdf] drop buggy (name error) try/except (done using related(safe=True))
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7911
diff changeset
   103
                                add( (URIRef(related.cwuri), CW[rtype], cwuri) )
7016
6665fa16aa45 [web/views] add a generic rdf view
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
   104
10317
b81adb5e32f9 [web/views] add text/n3 rdf view
Julien Cristau <julien.cristau@logilab.fr>
parents: 10234
diff changeset
   105
b81adb5e32f9 [web/views] add text/n3 rdf view
Julien Cristau <julien.cristau@logilab.fr>
parents: 10234
diff changeset
   106
    class RDFN3View(RDFView):
12867
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   107
        __regid__ = 'rdf.n3'
10317
b81adb5e32f9 [web/views] add text/n3 rdf view
Julien Cristau <julien.cristau@logilab.fr>
parents: 10234
diff changeset
   108
        format = 'n3'
12867
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   109
        content_type = 'text/n3' # see https://www.w3.org/TeamSubmission/n3/#mimetype
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   110
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   111
    class RDFTurtleView(RDFView):
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   112
        __regid__ = 'rdf.turtle'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   113
        format = 'turtle'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   114
        content_type = 'text/turtle' # see https://www.w3.org/TR/turtle/#sec-mediaReg
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   115
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   116
    class RDFnquadsView(RDFView):
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   117
        __regid__ = 'rdf.nquads'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   118
        format = 'nquads'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   119
        content_type = 'application/n-quads' # see https://www.w3.org/TR/n-quads/#sec-mediatype
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   120
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   121
    class RDFntriplesView(RDFView):
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   122
        __regid__ = 'rdf.nt'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   123
        format = 'nt'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   124
        content_type = 'application/n-triples' # see https://www.w3.org/TR/n-triples/#n-triples-mediatype
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   125
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   126
    class RDFtrigView(RDFView):
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   127
        __regid__ = 'rdf.trig'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   128
        format = 'trig'
50122959acbc [web/views/rdf] enhance encoding and formats for RDFView
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 12567
diff changeset
   129
        content_type = 'application/trig' # see https://www.w3.org/TR/trig/#sec-mime