PHP
构建语义 Web CRUD 操作
创建、读、更新和删除(Create/Read/Update/Delete,CRUD)操作是最基本的数
据库操作,但是它们也是最重要的操作。CRUD 操作通常是使用关系数据库系统中的结
构化查询语言(Structured Query Language,SQL
)完成的。随着 Web 变得更加具
有面向数据特性,因此需要从基于 SQL
的 CRUD
操作转移到基于语义 Web
的 CRUD
操作。了解如何使用 PHP
通过基于语义的 Web
执行 CRUD 操作。
常用缩写词
API — 应用程序编程接口(Application Programming Interface)
CRUD — 创建/读/更新/删除(Create/Read/Update/Delete)
HTTP — 超文本传输协议(Hypertext Transfer Protocol)
MVC —
—
—
模式 视图 控制器(Model-View-Controller)
OOP — 面向对象的编程(Object-Oriented Programming)
RDF — 资源描述框架(Resource Description Framework)
SPARQL —
简单协议和 RDF 查询语言(Simple Protocol and RDF Query
Language)
SQL — 结构化查询语言(Structured Query Language)
UI — 用户界面(User interface)
W3C — 万维网联盟(World Wide Web Consortium)
在开发 Web
应用程序时,为逻辑层和 UI 层创建放置服务器端代码的数据库结
构是一种标准实践。要连接到数据库,服务器端代码需要执行一些基本的创建、更新、删除
—
—
和
最重要的
读取记录等操作。由于 Web 应用程序的后台数据库通常都是关系数据
库,因此这些 CRUD
操作都是使用众所周知的 SQL
语言执行的。但是,随着 Web 开发
越来越多地采用面向对象的编程(OOP),模型也随之发生改变。
资源描述框架(Resource Description Framework,RDF)是描述对象同时保留
数据含义的理想方法。简单协议和 RDF 查询语言(Simple Protocol and RDF Query
Language,SPARQL —
“
发音为 sparkle”)是通常用于针对该数据进行查询的语言,
因为它在语句构成上匹配 RDF 本身的结构。RDF
和 SPARQL
都是所谓 语义 Web 栈
(semantic Web stack)中的技术。
要彻底地应用语义 Web
理念,您可以使用 SPARQL
将传统的 Web 开发技术
应用到 RDF
—
—
数据中。本文将展示如何使用简化的模式 视图 控制器(Model-View-
Controller,MVC)设计模型、PHP
服务器端脚本语言和 SPARQL
连接到 RDF — 与使
用关系数据库系统中的 SQL 相反。
SQL
和 SPARQL CRUD 操作
先决条件
本文假定您基本了解 SQL、PHP
和 Web
应用程序开发。了解语义 Web 也十分
有利。要对基于语义 Web
的数据运行 create、update
和 delete 命令,需要具有支持
SPARQL/Update
规范的语义 Web 数据库。
在使用 SQL
和 SPARQL
进行开发时,需要查看一下 CRUD 操作之间的异同。
清单 1
显示了 read
操作的 SQL 代码。
SELECT realname, dob, locationFROM UserTable WHERE realname = "John Smith";
将这段基于 SQL
的代码与清单 2
中所示的基于 SPARQL 的代码相比较。采用这两个