Example #1
0
    def _neighbours_rdf(self, mimetype):
        query = '''
                 SELECT * WHERE {
                    <%(uri)s>  ?p ?o .
                 }
         ''' % {
            'uri': self.uri
        }
        g = Graph()
        g.bind('prov', Namespace('http://www.w3.org/ns/prov#'))
        for r in _database.query(query)['results']['bindings']:
            if r['o']['type'] == 'literal':
                g.add((URIRef(self.uri), URIRef(r['p']['value']),
                       Literal(r['o']['value'])))
            else:
                g.add((URIRef(self.uri), URIRef(r['p']['value']),
                       URIRef(r['o']['value'])))

        query2 = '''
                 SELECT * WHERE {
                    ?s ?p <%(uri)s> .
                 }
         ''' % {
            'uri': self.uri
        }
        for r in _database.query(query2)['results']['bindings']:
            g.add((URIRef(r['s']['value']), URIRef(r['p']['value']),
                   URIRef(self.uri)))

        return Response(
            g.serialize(format=LDAPI.get_rdf_parser_for_mimetype(mimetype)),
            status=200,
            mimetype=mimetype)
Example #2
0
 def render(self, view, mimetype):
     if mimetype == 'text/html':
         self._get_details()
         return self._html()
     else:
         self._get_details()
         return Response(self._rdf().serialize(
             format=LDAPI.get_rdf_parser_for_mimetype(mimetype)),
                         mimetype=mimetype)
    def _convert_proms_pingback_to_rdf(self):
        PROMS = Namespace('http://promsns.org/def/proms#')
        self.graph.bind('proms', PROMS)

        # type this pingback specifically
        self.graph.add(
            (URIRef(self.named_graph_uri), RDF.type, PROMS.PromsPingback))

        # convert the data to RDF (just de-serialise it)
        self.graph += Graph().parse(data=self.request.data,
                                    format=LDAPI.get_rdf_parser_for_mimetype(
                                        self.request.mimetype))
Example #4
0
 def render(self, view, mimetype):
     if view == 'neighbours':
         if mimetype in LDAPI.get_rdf_mimetypes_list():
             return self._neighbours_rdf(mimetype)
         elif mimetype == 'text/html':
             self._get_details()
             return self._neighbours_html()
     elif view == 'prov':
         if mimetype in LDAPI.get_rdf_mimetypes_list():
             return Response(self._prov_rdf().serialize(
                 format=LDAPI.get_rdf_parser_for_mimetype(mimetype)),
                             status=200,
                             mimetype=mimetype)
         elif mimetype == 'text/html':
             self._get_details()
             return self._prov_html()
Example #5
0
 def render(self, view, mimetype):
     if view == 'reg':
         # is an RDF format requested?
         if mimetype in LDAPI.get_rdf_mimetypes_list():
             # it is an RDF format so make the graph for serialization
             self._make_dpr_graph(view)
             rdflib_format = LDAPI.get_rdf_parser_for_mimetype(mimetype)
             return Response(self.g.serialize(format=rdflib_format),
                             status=200,
                             mimetype=mimetype)
         elif mimetype == 'text/html':
             return render_template(
                 'class_register.html',
                 class_name=self.request.args.get('_uri'),
                 register=self.register)
     else:
         return Response(
             'The requested model model is not valid for this class',
             status=400,
             mimetype='text/plain')
Example #6
0
 def render(self, view, mimetype):
     if view == 'neighbours':
         # no work to be done as we have already loaded the triples
         if mimetype in LDAPI.get_rdf_mimetypes_list():
             return self._neighbours_rdf(mimetype)
         elif mimetype == 'text/html':
             self._get_details()
             return self._neighbours_html()
     elif view == 'prov':
         if mimetype in LDAPI.get_rdf_mimetypes_list():
             return Response(self._prov_rdf().serialize(
                 format=LDAPI.get_rdf_parser_for_mimetype(mimetype)),
                             status=200,
                             mimetype=mimetype)
         # TODO: pre-render the viz.js image and serve static image
         # elif mimetype == 'image/svg':
         #     return Response(
         #
         #     )
         elif mimetype == 'text/html':
             self._get_details()
             return self._prov_html()