l Java
API使用示例
import jgsc.GstoreConnector;
public class JavaAPIExample {
public static
void main(String[] args)
{
//初始化一个GstoreConnector类,IP地址可以是域名形式
GstoreConnector
gc = new
GstoreConnector("dbpedia.gstore-pku.com",
80, "endpoint", "123");
//赋值查询的SPARQL语句
String sparql = "SELECT
?v0 WHERE "
+
"{"
+"?v0
<http://dbpedia.org/ontology/associatedBand>
<http://dbpedia.org/resource/LCD_Soundsystem> ."
+"}";
//调用gc的query(_db_name, _format, _sparql)方法得到查询结果
String answer = gc.query("dbpedia_full", "json", sparql);
System.out.println(answer);
}
}
注:
1. 我们提供的查询终端服务均开放了用户:_username=endpoint, _password=123,可通过此用户名和密码调用gc.query()函数
2. 我们只对用户开放查询权限,不开放对数据库的更新权限,INSERT, DELETE操作将返回失败
3. 为保护数据的所有权,避免恶意下载数据,我们限制查询结果数为十万,超过数量限制的查询将只返回前十万条结果
一、
查询结果数据包格式规范
1.
Json输出格式
2.
结果包含如下内容
{
“StatusCode”: “错误码(数值型)”, //查询成功则为0,否则为出错的错误码
“StatusMsg”: “错误描述(字符型)”, //查询成功则为“success”,否则为错误描述
… //(其他)查询成功则为查询结果,否则为空
}
二、
查询操作错误码定义
StatusCode |
StatusMsg |
Description |
0 |
“success” |
操作成功 |
|
|
|
401 |
"Empty
SPARQL." |
查询语句为空 |
403 |
"search
query returns false." |
查询返回出错 |
404 |
"no
query privilege, operation failed." |
无查询权限,查询失败 |
405 |
“no update privilege, update query failed.” |
无更新权限,更新失败 |
三、
查询结果示例
1.
无查询权限,查询失败
{
"StatusCode": 404,
"StatusMsg": "no query
privilege, operation failed."
}
2.
无更新权限,更新失败
{
"StatusCode": 405,
"StatusMsg": "no update
prvilege, update query failed."
}
3.
查询返回出错
{
"StatusCode": 403,
"StatusMsg": "search query
returns false."
}
4.
查询语句为空
{
"StatusCode": 401,
"StatusMsg": "Empty
SPARQL."
}
5.
操作成功
{
"head":
{
"link": [],
"vars":
[
"v0"
]
},
"results":
{
"bindings":
[
{
"v0":
{
"type": "uri",
"value":
"http://dbpedia.org/resource/Arcade_Fire"
}
}
]
},
"StatusCode": 0,
"StatusMsg": "success"
}
Supported
by gStore
Copyright ©
2017 Data Management Lab, Institute of Computer
Science & Technology of Peking University