【问题标题】:Getting the query string out of an rdflib prepared query从 rdflib 准备好的查询中获取查询字符串
【发布时间】:2023-02-08 19:45:57
【问题描述】:

如何从 rdflib preparedQuery 恢复原始字符串。

换句话说,

query_string = "select ?s {?s ?p ?o.}"
q = prepareQuery(query_string)

我想针对 q 运行一些函数来恢复 query_string

【问题讨论】:

  • 这可能是不可能的,因为准备好的语句中的参数通常绑定在数据库本身中,而不是在调用应用程序代码 (Python) 中。

标签: python rdflib


【解决方案1】:

经过一些实验,我找到了如何做到这一点。简单地:

q._original_args

返回用于准备查询的原始参数的元组。

【讨论】:

    【解决方案2】:

    要从 rdflib 准备好的查询中恢复原始字符串,您可以使用 query.asbestos() 方法。

    这是一个例子:

    query_string = "select ?s {?s ?p ?o.}"
    q = prepareQuery(query_string)
    recovered_string = q.asbestos()
    

    asbestos() 方法返回查询的字符串表示形式,它应该与传递给 prepareQuery 的原始查询字符串相同。

    【讨论】:

    • AttributeError: 'Query' object has no attribute 'asbestos'
    猜你喜欢
    • 1970-01-01
    • 2010-09-17
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多