【问题标题】:SPARQL extension function , where is added to SPARQL grammar?SPARQL 扩展函数,SPARQL 语法在哪里添加?
【发布时间】:2015-12-24 01:25:24
【问题描述】:

我想知道当我使用 apache jena arq 创建 sparql 扩展函数时,它在哪里添加到语法 sparql 中,用于属性函数和过滤函数。

【问题讨论】:

    标签: sparql grammar jena arq


    【解决方案1】:

    语法不变。

    一个新的表达式函数有一个 URI,它被调用为

    BIND(my:function(?x,?y) AS ?newValue)
    

    或在 FILTER、SELECT 表达式等中

    注册FunctionRegistry.get().put(....)或使用<java:...>自动加载。

    属性函数是三元组模式中的属性:

    ?S my:propertyFunction ?O .
    

    注册PropertyFunctionRegistry.get().put(....)

    【讨论】:

    • 语法 SPARQL 中的 primaryExpression 是什么? sparql 不是扩展函数吗?
    • 完整引用是“PrimaryExpression 语法规则可以是对由 IRI 命名的扩展函数的调用。” IRI 的命名是规则:[128] iriOrFunction ::= iri ArgList? 这是我在答案中使用的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多