使用内容协商输出rdf的烧瓶装饰器

flask_rdf的Python项目详细描述


使用内容协商输出rdf的烧瓶、瓶子或wsgi装饰器。

@flask_rdf@bottle_rdf@wsgi_rdf装饰符应用于 一个视图函数并返回一个rdflib图形对象。烧瓶将自动 根据请求接受的内容,将其格式化为rdf输出格式 头儿说。如果view函数返回一个rdflib图之外的内容, 它将不经修改而通过。

自定义格式可以很容易注册。注册新的 具有rdflib插件支持的序列化程序,使用add_format 方法注册新的mimetype请求以使用新的格式化程序。

这个模块的功能仍然可以帮助其他web框架,甚至 如果还没有一个特定的装饰。format.decide函数将 返回有关要发送的withContent-Type头和内容的信息 要与rdflib一起使用的序列化格式。format.wants_rdf函数 可以在较高级别上用于确定客户机是否需要rdf。

API

  • add_format(mimetype, serialize_format)format.add_format(mimetype, serialize_format)

    注册要识别的新格式以进行内容协商。它 接受参数mimetypeserialize_format,并用于添加 用于内容的自定义rdflib序列化程序插件 谈判。 第三个参数(需要上下文)将此序列化程序限制为 只能由context_aware的图使用。

  • format.decide(accept, context_aware=False)

    给定一个accept头,返回一个(mimetypeformat)元组 最好满足客户的要求。 如果accept头为空,则默认为rdf+xml 如果无法满足accept头,则返回(none,none) 第二个参数,上下文感知,可用于允许格式 需要一个context_aware图。

  • FormatSelector()format.FormatSelector()

    Class to decide serialization formats. It supports using the module-level formats added with ^{tt19}$, but it has its own list of formats added with ^{tt20}$.

  • wants_rdf(accept)format.wants_rdf(accept)FormatSelector.wants_rdf(accept)

    Returns whether the client’s Accept header indicates that the client is prepared to receive RDF data. This can be used in the view to return a pretty HTML page for browsers, for example.

  • @flask_rdf@flask.returns_rdf

    使用烧瓶请求的accept的烧瓶视图函数的decorator 头球。它处理将rdflib图形对象转换为适当的 烧瓶响应,取决于内容协商。其他内容 未经修改即返回。

  • flask.Decorator

    类来充当装饰器,以防需要重写某些行为。 构造函数接受formatSelector对象来执行自定义协商。 decorator对象本身可以用作decorator,而且 支持方法.output.decorate

  • @bottle_rdf@bottle.returns_rdf

    用于瓶子视图函数的decorator,以使用瓶子请求的accept 头球。它处理将rdflib图形对象转换为适当的 瓶子响应,取决于内容协商。其他内容 未经修改即返回。

  • bottle.Decorator

    类来充当装饰器,以防需要重写某些行为。 构造函数接受formatSelector对象来执行自定义协商。 decorator对象本身可以用作decorator,而且 支持方法.output.decorate

  • @wsgi_rdf@wsgi.returns_rdf

    用于wsgi应用程序函数的decorator,以使用wsgi请求的accept 头球。它处理将rdflib图形对象转换为适当的 瓶子响应,取决于内容协商。其他内容 未经修改即返回。 对wsgi的start_response的调用将不加更改地传递数据。做 start_response和返回rdf对象都将导致 输出被返回,所以不要这样做。

  • wsgi.Decorator

    类来充当装饰器,以防需要重写某些行为。 构造函数接受formatSelector对象来执行自定义协商。 decorator对象本身可以用作decorator,而且 支持方法.output.decorate

示例

#!/usr/bin/env pythonfromrdflibimportGraph,BNode,Literal,URIReffromrdflib.namespaceimportFOAFfromflaskimportFlaskfromflask_rdf.flaskimportreturns_rdfimportrandomapp=Flask(__name__)@app.route('/')@app.route('/<path:path>')@returns_rdfdefrandom_age(path=''):graph=Graph('IOMemory',BNode())graph.add((URIRef(path),FOAF.age,Literal(random.randint(20,50))))returngraphif__name__=='__main__':app.run(host='0.0.0.0',debug=True)
Build Status

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过jamod读取控制器的输入状态?   java Back bean方法在使用两个h的单一表单时未调用:selectonemenus和command button   mockitojava中的单元测试Mock继承方法   java在不传递到构造函数的情况下,将一个类的实例使用到另一个类中的最佳方法是什么   java Spring MVC:如何通过API在Dozer的toplevel字段中允许空值?   java hibernate到MSSQL服务器的连接被拒绝:连接   java动态调用现有变量   在java中扩展多个类的泛型   java使用JNA Ptrace获取linux中外部进程的信息?   eclipse获取Java项目中所有构建错误的最快方法是什么?   java将动态数组拆分为多个数组   java安卓:将json保存到sqlite   java获取最近时间Android   java如何为多对多关联编写HQL查询?   java Docker compose for mysql和spring应用程序拒绝访问   java查找数组(如果它是另一个数组的子集)   java如何在另一个具有相同数据类型参数的泛型类(或接口)中使用泛型类(或接口),而无需强制转换   Apache POI java。lang.NoClassDefFoundError:org/apache/commons/compress/utils/InputStreamStatistics   java使用Jackson将JSON反序列化为异构元素列表   使用MapReduce实现java规范化