将rdflib.Graph保存到字典中

问题描述

我想将rdflib.Graph保存到Flask应用程序中的会话字典中,因为我需要从其他路由功能访问它。代码如下。

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
       UITouch *touch = [[event alltouches] anyObject];
       CGPoint touchLocation = [touch locationInView:self.pdfView];
       self->imageview.center = touchLocation;
}

输出以下内容

from rdflib import Graph
from flask import Flask,session
import os


app = Flask(__name__)
UPLOAD_FOLDER = 'static/uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config["allowed_file_extensions"] = ["ttl"]
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
app.secret_key = os.urandom(24)


class API:

    def __init__(self):
        app.run(host="127.0.0.1",port="5000",threaded=True,debug=True)

    @app.route("/")
    def validate_RDF():
        # saving graph to session 
        graph = Graph().parse("valid_mapping.ttl",format="ttl")
        session["graph"] = graph
        return "testing"


if __name__ == "__main__":
    # start api
    API()

任何建议将不胜感激。

解决方法

由于rdf图可能很大,因此我认为尝试将其存储在会话中并不是一个好主意。您应该使用某种三重存储来管理您的rdf信息(例如,一个网站正在使用数据库来存储信息。例如,对于RDFlib 'on disk' store,请参阅Web服务器磁盘上的存储,甚至可以查看生产环境)使用托管在其他位置的三元组存储。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...