研究了研究 发现 RAP 有一个跟 SQL 语法很相似的东西
在SQL: $query="SELECT siren FROM table WHERE 1"
在RDQL 中
$query = 'SELECT ?siren
WHERE (?x ,<v:root>,?siren)
USING v FOR <http://www.baidu.com/#>
';
我先把我 rdf文件贴出来 大家可以参考参考
下面是 自己的 index.php 文件
在上面的语句中 执行的结果就是
我们把 $rdql_query改一下...
执行结果是
Literal("测试ns2输出来的东西")
我们在改一下..
执行结果为
Literal("测试ns4444输出来的东西");
有没有发现上面规律???
下面说说我个人的理解..
以 $rdql_query = 'SELECT ?siren WHERE (?x ,<v:google>,?siren) USING v FOR <http://www.google.com/#>';
为例select 不用说 ..跟SQL 同意
后面的 ?siren 应该就是一个变量 它必须要跟 where 语句里面的 第三个参数对应..多个 可以用 逗号","隔开
例如
$rdql_query = 'SELECT ?siren,?google WHERE (?x ,<v:google>,?siren) ,WHERE (?x ,<v:google>,?google) USING v
FOR <http://www.google.com/#>';
where括号里面的 参数 就是 主语,谓语,宾语,,第一个是主语..随便设置但前面必须要加 "?"问号,
中间的 <v:google> 就是 rdf中的命名空间..这里为什么是v 而不是 <ns4:google> 呢?
这是因为后面的 USING v FOR <http://www.google.com/#> 语句的关系..
在 rd文件里面 是这样的语句
xmlns:ns4="http://www.google.com/#"
USING v FOR <http://www.google.com/#> 语句就是 用v 代替 值为 http://www.google.com/# 的 一个变量吧..
跟 SQL 语句中 select user as v 类似..
目的应该就是把一个长的 名字空间 用一个值代替...
然后 RAP 就会根据 这个语法 去从rdf中取出数据来...
有的时候可以 加上 from 就是
$rdql_query = 'SELECT ?siren from <exaple.rdf> WHERE (?x ,<v:google>,?siren) USING v
FOR <http://www.google.com/#>';
它用来告诉 RAP 源 是哪个文件...因为 程序里面已经定义了文件 所以这里就不用写了
自己理解是这样 高手莫见笑...欢迎大家交流..
分享到:
相关推荐
用于查询RDF的基于Java的GUI,具有可缩放用户界面(ZUI)中的图形结果。 RDQLPlus可以与现有RDF文件和Jena2 RDF数据库一起使用,并带有嵌入式纯Java数据库。
进而使用RFQL查询语言对合作伙伴的数据进行搜素,提出利用支持RDQL的Jena框架进行多条件的复杂检索。提出了基于语义Web的合作伙伴查询的实施框架,实现在整个互联网内进行搜索。本研究对下一代互联网的应用进行了...
SparQL 构建在以前的 RDF 查询语言(例如 rdfDB、RDQL 和 SeRQL)之上,拥有一些有价值的新特性。 而且,SparQL将Web2.0和Semantic web两种新的web技术联系起来了,很有可能成为将来的主流网络数据库的查询语言和...
NVIDIA RTX 2070超级CUDA:10.2参考重量文件yolov5:砝码/drone_survivor.pt :1st_place_medal: 级联rcnn: ://drive.google.com/file/d/1mXANwNMbQU7tmmmhZ81dFaIRvXU6rDQL/view usp sharing 更快的rcnn:...
RDQuery 是一个包装系统,它使语义 Web 应用程序能够使用它们自己的内置功能访问和查询实际存储在关系数据库中的数据。 RDQuery 自动将 SPARQL 和 RDQL 查询转换为 SQL。
3store是一个RDF“三重存储”,用C编写,并由MySQL和Berkeley DB支持。 它是对较旧的三重存储(WebKBC)的优化和移植。 它可以通过RDQL或SPARQL通过HTTP,命令行或C API来访问RDF数据。