#gStore-weekly | gStore最新版本0.9.1之BIND函数的使用

本文介绍了gStore内核版本0.9.1中的BIND函数,该函数用于在SPARQL查询中返回常量值或赋值给参数。通过示例数据和查询,展示了如何使用BIND函数查询Francis和Alice不喜欢的人,并在结果中分类标记。未来将继续完善BIND表达式的功能。
摘要由CSDN通过智能技术生成

gStore最新版本0.9.1之BIND函数的使用

在内核版本v0.9.1中,支持了BIND表达式/函数调用,BIND表达式/函数常用于SPARQL查询中,需要返回某个常量值,或者需要赋值给某个参数并用于后续的过滤条件,其语法如下所示:

BIND(value, name)

参数

value : string类型的字符串值

name : 自定义的参数名称

示例数据

为了更好的演示BIND函数功能,使用以下的数据作为示例数据:

<Alice> <关注> <Bob> .
<Alice> <喜欢> <Bob> .
<Alice> <不喜欢> <Eve> .
<Bob> <关注> <Alice> .
<Bob> <喜欢> <Eve> .
<Carol> <关注> <Bob> .
<Carol> <喜欢> <Bob> .
<Carol> <不喜欢> <Francis> .
<Dave> <关注> <Alice> .
<Dave> <关注> <Eve> .
<Dave> <不喜欢> <Francis> .
<Eve> <喜欢> <Carol> .
<Francis> <喜欢> <Carol> .
<Francis> <不喜欢> <Dave> .
<Francis> <不喜欢> <Eve> .

示例:

查询Francis或Alice不喜欢的人,并在返回的结果中分类标记:

select ?a ?x where
{
   {
       BIND("Francis" as ?a).
       <Francis> <不喜欢> ?x .
   }
   UNION
   {
       BIND("Alice" as ?a).
       <Alice> <不喜欢> ?x. 
   }
}

最终的结果输出如下(为方便阅读,省略了字符串最外层的双引号和内部双引号转义):

{
    "bindings": [
        {
            "a": {"type": "literal", "value": "Francis"},
            "x": {"type": "uri", "value": "Eve"}
        },
        {
            "a": {"type": "literal", "value": "Francis"},
            "x": {"type": "uri", "value": "Dave"}
        },
        {
            "a": {"type": "literal", "value": "Alice"},
            "x": {"type": "uri", "value": "Eve"}
        }
    ]
}

后续还会进一步完善BIND表达式/函数,比如支持实体对象的赋值绑定等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值