Wordpress cung cấp một ống quản trị nội dung được viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồnserver, dùng đ g i hàm t xa và tr v cho XML-RPC client vói n i dung XML
Trang 1M C L C ỤC LỤC ỤC LỤC
1 Gi i thi u t ng quát v Wordpress ới thiệu tổng quát về Wordpress ệu tổng quát về Wordpress ổng quát về Wordpress ề Wordpress 2
1.1 WordPress Web service XML-RPC 2
1.2 Kích ho t XML-RPC trong wordpress ạt XML-RPC trong wordpress 2
1.3 WordPress XMLRPC Server 3
1.4 XMLRPC Client 4
1.5 Jwordpress 7
2 Framework Jena 9
2.1 RDF API 9
2.2 OWL API 10
2.3 RDF 13
2.4 SPARQL 14
3 Ví d th c hi n ụ thực hiện ực hiện ệu tổng quát về Wordpress 16
3.1 V ng d ng ề Wordpress ứng dụng ụ thực hiện .16
3.2 V k t qu ề Wordpress ết quả ả 16
3.3 Ứng dụng html sử dụng các dữ liệu RDF/XML: ng d ng html s d ng các d li u RDF/XML: ụ thực hiện ử dụng các dữ liệu RDF/XML: ụ thực hiện ữ liệu RDF/XML: ệu tổng quát về Wordpress 18
3.4 Source code 19
Trang 21 Gi i thi u t ng quát v Wordpress ới thiệu tổng quát về Wordpress ệu tổng quát về Wordpress ổng quát về Wordpress ề Wordpress
Wordpress là m t Content Management ( H th ng qu n tr n i dung) đột Content Management ( Hệ thống quản trị nội dung) được viết ệ thống quản trị nội dung) được viết ống quản trị nội dung) được viết ản trị nội dung) được viết ị nội dung) được viết ột Content Management ( Hệ thống quản trị nội dung) được viết ược viếtc vi tết
t t là CMS Được viếtc phát tri n d a trên PHP và MySQL Wordpress cung c p m tển dựa trên PHP và MySQL Wordpress cung cấp một ựa trên PHP và MySQL Wordpress cung cấp một ấp một ột Content Management ( Hệ thống quản trị nội dung) được viếtWebService d a trên XML/RPC cho phép qu n tr trang web c a ngựa trên PHP và MySQL Wordpress cung cấp một ản trị nội dung) được viết ị nội dung) được viết ủa người dùng từ xa ười dùng từ xa.i dùng t xa.ừ xa
1.1 WordPress Web service XML-RPC
WordPress s d ng xmlrpc làm web service m c đ nh cho h th ng mã ngu nử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ặc định cho hệ thống mã nguồn ị nội dung) được viết ệ thống quản trị nội dung) được viết ống quản trị nội dung) được viết ồnwordpress c a nó Xmlrpc là m t cài đ t RPC (Remote Procedure Call) trên n nủa người dùng từ xa ột Content Management ( Hệ thống quản trị nội dung) được viết ặc định cho hệ thống mã nguồn ềngiao th c HTTP, s d ng xml đ mã hóa và trao đ i d li u XML-RPC là m t giaoư ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ổi dữ liệu XML-RPC là một giao ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ột Content Management ( Hệ thống quản trị nội dung) được viết
th c s d ng trong d ch v webức sử dụng trong dịch vụ web ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ị nội dung) được viết ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn SOAP được viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồnc s d ng r ng rãi trong nhi u ngôn ngột Content Management ( Hệ thống quản trị nội dung) được viết ền ữ liệu XML-RPC là một giao
l p trình nh java, android, php, ập trình như java, android, php, ư
Các gói/namespace được viếtc s d ng v i wordpress xml-rpc là: Blogger API,ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ới wordpress xml-rpc là: Blogger API,metaWeblog API, Movable Type API, Pingback API Vì XML-RPC là web server do đó
có 2 ph n: XML-RPC server và XML-RPC client.ần: XML-RPC server và XML-RPC client
V c b n, client s d ng XML đ mã hóa tham s , và g i XML vào XML-RPCền ản trị nội dung) được viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ống quản trị nội dung) được viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồnserver, dùng đ g i hàm t xa và tr v cho XML-RPC client vói n i dung XML đãển dựa trên PHP và MySQL Wordpress cung cấp một ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ừ xa ản trị nội dung) được viết ền ột Content Management ( Hệ thống quản trị nội dung) được viết
được viếtc mã hóa
1.2 Kích ho t XML-RPC trong wordpress ạt XML-RPC trong wordpress
Tính năng XML-RPC trong wordpress b n m c đ nh, đ kích ho t xmlrpc lênị nội dung) được viết ẩn mặc định, để kích hoạt xmlrpc lên ặc định cho hệ thống mã nguồn ị nội dung) được viết ển dựa trên PHP và MySQL Wordpress cung cấp một ạt xmlrpc lên
b n truy c p: Settings->Writing->remote publishing N u option này ch a đạt xmlrpc lên ập trình như java, android, php, ết ư ược viếtc b tập trình như java, android, php,
b n cài plugin “ạt xmlrpc lên Control XML-RPC publishing”
Truy c p l i Settings->Write->Remote publishing with XML-RPC và ch n vàoập trình như java, android, php, ạt xmlrpc lên ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đãEnabled -> nh n Save changes Ok tính năng xmlrpc đã đấp một ược viếtc kích ho t và s n sàngạt xmlrpc lên ẵn sàng
s d ng.ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn
Đ aị nội dung) được viết chỉ endpoint cho website wordpress là: endpoint cho website wordpress là:https://<yourwordpress>/xmlrpc.php
Test k t n i xmlrpc b ng l nhết ống quản trị nội dung) được viết ằng lệnh ệ thống quản trị nội dung) được viết curl Cách làm vi c này gi ng giao th c xmpp.ệ thống quản trị nội dung) được viết ống quản trị nội dung) được viết ức sử dụng trong dịch vụ web
Th c thi công vi c thông qua vi c truy n t i đo n xml lên server b ng phựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ệ thống quản trị nội dung) được viết ền ản trị nội dung) được viết ạt xmlrpc lên ằng lệnh ư ng
Trang 3th c POST, và đây là nguyên lý khi g i hàm Trong ví d sau đây g i n i dung xmlức sử dụng trong dịch vụ web ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ột Content Management ( Hệ thống quản trị nội dung) được viết
ch a thông tin g i hàm vào xmlrpc wordpress server.ức sử dụng trong dịch vụ web ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã
Tham s đống quản trị nội dung) được viết ược viếtc s d ng trong hàm, xác đ nh b i thử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ị nội dung) được viết ởi thẻ ẻ methodName xác định tên phương thức thuộc namespace system params,hàm listMethods không có đ i s do đó cung c p th tr ng <params/>ống quản trị nội dung) được viết ống quản trị nội dung) được viết ấp một ẻ methodName xác định tên phương thức thuộc namespace system ống quản trị nội dung) được viết
Hàm K t qu tr v danh sách cách hàm đết ản trị nội dung) được viết ản trị nội dung) được viết ền ược viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồnc s d ng
1.3 WordPress XMLRPC Server
Đăng ký hàm xmlrpc m iới wordpress xml-rpc là: Blogger API,
Wordpress xmlrpc api có filter xmlrpc_methods giúp b n t o phạt xmlrpc lên ạt xmlrpc lên ư ng th c riêng.ức sử dụng trong dịch vụ webĐăng ký hàm rpc v i đo n code sau, copy vào theme functions.phpới wordpress xml-rpc là: Blogger API, ạt xmlrpc lên
add_filter( 'xmlrpc_methods', 'add_xml_rpc_methods' );
function add_xml_rpc_methods( $methods ) {
$methods['frs.helloWorld'] = 'hello_world'; //Where
frs.helloWorld is the XML-RPC method name, and hello_world is the callback, namespace 'frs' for any you want.
Trang 4*Chú ý: Hàm c n tr v giá tr , giá tr này sẽ đần: XML-RPC server và XML-RPC client ản trị nội dung) được viết ền ị nội dung) được viết ị nội dung) được viết ược viết ấp mộtc l y khi g i hàm Không sọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn
d ng echo, print đ xu t chu i ra màn hình.ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ấp một ỗi ra màn hình
1.4.1 T o l p s lý g i hàm t XMLRPC Server ạt xmlrpc lên ới wordpress xml-rpc là: Blogger API, ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ừ xa
T o l pXMLRPC_Clientạt xmlrpc lên ới wordpress xml-rpc là: Blogger API, v i n i dung sau:ới wordpress xml-rpc là: Blogger API, ột Content Management ( Hệ thống quản trị nội dung) được viết
* Call the XML-RPC method named $method and return
* the results, or die trying!
*
* @param string $method XML-RPC method name
* @param mixed optional variable list of parameters
$method = array_shift( $params );
$post = xmlrpc_encode_request( $method, $params );
Trang 5$ch = curl_init();
// set URL and other appropriate options
curl_setopt( $ch, CURLOPT_URL, $this->url );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
// issue the request
1.4.2 G i hàm rpcọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã
K t n i t i XMLRPC Server s d ng classết ống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn XMLRPC_Client T o instance c aạt xmlrpc lên ủa người dùng từ xa.classXMLRPC_Client và g i hàm rpc trên XMLRPC Server b i phọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ởi thẻ ư ng th cức sử dụng trong dịch vụ web call
ởi thẻ ển dựa trên PHP và MySQL Wordpress cung cấp một ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ết demo.sayHello
$test= $client->call( 'demo.sayHello' );
print_r($test);
1.4.3 Xây d ng hàm RPCựa trên PHP và MySQL Wordpress cung cấp một
Trang 6L y giá tr tham s truy n vào hàmấp một ị nội dung) được viết ống quản trị nội dung) được viết ền
function hello_world( $params ) {
$password = $params[2]; //tham sốK 2
$args = $params[3]; //tham sốK 3
}
Truy n tền ư ng tư ng các tham s vào phống quản trị nội dung) được viết ư ng th cức sử dụng trong dịch vụ web $client->call
$client->call( 'frs.helloWorld', 1, 'xmlrpc-user', 'xmlrpc-pass', array( 'name' => 'Justin' ) );
Nh v yư ập trình như java, android, php, $params[1] có giá tr ‘xmlrpc-user’,ị nội dung) được viết $params[2] = ‘xmlrpc-pass’
và $params[3] là m ng còn l i.ản trị nội dung) được viết ạt xmlrpc lên
Escape giá tr tham s chu i.ị nội dung) được viết ống quản trị nội dung) được viết ỗi ra màn hình
$params[1]=$wp_xmlrpc_server->escape( $params[1] );
1.4.4 X lý l iử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ỗi ra màn hình
M t ví d v cách s lý l i trong hàm rpc, đo n code này ki m tra ngột Content Management ( Hệ thống quản trị nội dung) được viết ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ền ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ỗi ra màn hình ạt xmlrpc lên ển dựa trên PHP và MySQL Wordpress cung cấp một ười dùng từ xa.i dùng
n u không có quy n ch nh s a bài vi t, thì xu t l i 403 kèm theo tin nh n.ết ền ỉ endpoint cho website wordpress là: ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ết ấp một ỗi ra màn hình
function hello_world( $params ) {
.
// check for edit_posts capability (requires contributor role)
// (obviously not required for this simple example, but just for demonstration purposes)
Ví d khác s lý l i 500 (thi u tham s ).ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ỗi ra màn hình ết ống quản trị nội dung) được viết
function hello_world( $params ) {
.
$args = $params[3]; //gia R sưR tham sốK này là ma Rng
// required parameter
Trang 7if ( ! isset( $args['name'] ) ) return new IXR_Error( 500,
( "Missing parameter 'name'" ) );
.
}
Ví d :ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn
$client->call( 'frs.helloWorld', 1, 'xx', 'yy', array( 'age' => '23' ) );
Ví d trên truy n thi u tham s ‘name’ vào hàmụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ền ết ống quản trị nội dung) được viết helloWorld, ->g p l i 500.ặc định cho hệ thống mã nguồn ỗi ra màn hình
1.4.5 T o phiên làm vi c c a user (verify credentials)ạt xmlrpc lên ệ thống quản trị nội dung) được viết ủa người dùng từ xa
WordPress RPC API có đ i tống quản trị nội dung) được viết ược viếtng global $wp_xmlrpc_server giúp hàm s d ng k tử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ết
n i vào h th ng wordpress api Đăng nh p tài kho n user v i phống quản trị nội dung) được viết ệ thống quản trị nội dung) được viết ống quản trị nội dung) được viết ập trình như java, android, php, ản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ư ng th cức sử dụng trong dịch vụ web login
function hello_world( $params ) {
Ví d g i hàmụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã wp.getCommentCount đ đ m comments c a user Nh v y chúngển dựa trên PHP và MySQL Wordpress cung cấp một ết ủa người dùng từ xa ư ập trình như java, android, php,
ta c n s d ng phiên làm vi c c a user.ần: XML-RPC server và XML-RPC client ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ệ thống quản trị nội dung) được viết ủa người dùng từ xa
//requires a WordPress username and password to execute
$client = new XMLRPC_Client(
Trang 8Th c thi actionựa trên PHP và MySQL Wordpress cung cấp một xmlrpc_call v i tên hàm c n g i B ng cách này cho phép g i hàmới wordpress xml-rpc là: Blogger API, ần: XML-RPC server và XML-RPC client ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ằng lệnh ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đãrpc trong hàm rpc, không c n g i thêm m t phần: XML-RPC server và XML-RPC client ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ột Content Management ( Hệ thống quản trị nội dung) được viết ư ng th cức sử dụng trong dịch vụ web $client->call Đi u này r tền ấp một
h u ích vì đôi khi b n c n g i hàm trữ liệu XML-RPC là một giao ạt xmlrpc lên ần: XML-RPC server và XML-RPC client ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ưới wordpress xml-rpc là: Blogger API,c khi s lý đ n 1 l nh ti p theo.ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ết ệ thống quản trị nội dung) được viết ết
function hello_world( $params ) {
Trong bài t p này, ta không s d ng tr c ti p XML/PRC trên Java mà thông quaập trình như java, android, php, ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ựa trên PHP và MySQL Wordpress cung cấp một ết
m t th vi n API nh , mã ngu n m g i là Jwordpress API này đột Content Management ( Hệ thống quản trị nội dung) được viết ư ệ thống quản trị nội dung) được viết ỏ, mã nguồn mở gọi là Jwordpress API này được cung cấp tại ồn ởi thẻ ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ược viếtc cung c p t iấp một ạt xmlrpc lênhttps://code.google.com/p/wordpress-java/
Gi i thích v API đản trị nội dung) được viết ền ược viếtc cung c p t i đấp một ạt xmlrpc lên ười dùng từ xa.ng d n: ẫu: java.googlecode.com/svn/trunk/doc/index.html
Trang 9http://wordpress-2 Framework Jena
Trong xây d ng các ng d ng d a trên công ngh Semantic web, đ có th th cựa trên PHP và MySQL Wordpress cung cấp một ức sử dụng trong dịch vụ web ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ển dựa trên PHP và MySQL Wordpress cung cấp một ển dựa trên PHP và MySQL Wordpress cung cấp một ựa trên PHP và MySQL Wordpress cung cấp một
hi n các thao tác nh đ c/xu t, hay th c hi n các truy v n trên m t tài li u có môệ thống quản trị nội dung) được viết ư ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ấp một ựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ấp một ột Content Management ( Hệ thống quản trị nội dung) được viết ệ thống quản trị nội dung) được viết
t ng nghĩa d ng RDF ta có th s d ng các công c nh Jena ho c Sesame M cản trị nội dung) được viết ữ liệu XML-RPC là một giao ạt xmlrpc lên ển dựa trên PHP và MySQL Wordpress cung cấp một ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ư ặc định cho hệ thống mã nguồn ặc định cho hệ thống mã nguồn
dù hi n nay Sesame đã đệ thống quản trị nội dung) được viết ược viếtc đ y m nh phát tri n và ngày càng đẩn mặc định, để kích hoạt xmlrpc lên ạt xmlrpc lên ển dựa trên PHP và MySQL Wordpress cung cấp một ược viếtc quan tâm từ xa.phía người dùng từ xa ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồni s d ng, nh ng theo chúng tôi, v i tính năng t t và tài li u API rõ ràng,ư ới wordpress xml-rpc là: Blogger API, ống quản trị nội dung) được viết ệ thống quản trị nội dung) được viếtJena v n thích h p trong tri n khai các ng d ng hẫu: ợc viết ển dựa trên PHP và MySQL Wordpress cung cấp một ức sử dụng trong dịch vụ web ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ưới wordpress xml-rpc là: Blogger API,ng đ n công ngh web ngết ệ thống quản trị nội dung) được viết ữ liệu XML-RPC là một giaonghĩa còn m i m này.ới wordpress xml-rpc là: Blogger API, ẻ methodName xác định tên phương thức thuộc namespace system
Jena (http://jena.sourceforge.net) là m t công c mã ngu n m hàng đ u đột Content Management ( Hệ thống quản trị nội dung) được viết ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ồn ởi thẻ ần: XML-RPC server và XML-RPC client ển dựa trên PHP và MySQL Wordpress cung cấp mộttri n khai Web ng nghĩa cho các l p trình viên Java, đển dựa trên PHP và MySQL Wordpress cung cấp một ữ liệu XML-RPC là một giao ập trình như java, android, php, ược viếtc phát tri n b i HP Labsển dựa trên PHP và MySQL Wordpress cung cấp một ởi thẻSemantic Web Research (http://www.hpl.hp.com/semweb) Jena là m t Javaột Content Management ( Hệ thống quản trị nội dung) được viếtFramework dùng đ xây d ng các ng d ng Web ng nghĩa Jena cung c p môiển dựa trên PHP và MySQL Wordpress cung cấp một ựa trên PHP và MySQL Wordpress cung cấp một ức sử dụng trong dịch vụ web ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ữ liệu XML-RPC là một giao ấp một
trười dùng từ xa.ng l p trình cho RDF, RDFS, OWL và SPARQL - ngôn ng truy v n cho RDF Jenaập trình như java, android, php, ữ liệu XML-RPC là một giao ấp mộtbao g m các thành ph n và tính năng sau:ồn ần: XML-RPC server và XML-RPC client
- RDF API: Giao di n l p trình cho RDF.ệ thống quản trị nội dung) được viết ập trình như java, android, php,
- OWL API: Giao di n l p trình cho OWL.ệ thống quản trị nội dung) được viết ập trình như java, android, php,
- Xu t và đ c các file RDF theo d ng RDF/XML, N3 và N-Tribles.ấp một ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ạt xmlrpc lên
- Cho phép l u tr trong b nh , l u tr c đ nh trong các t p tin đ n hay trongư ữ liệu XML-RPC là một giao ột Content Management ( Hệ thống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ư ữ liệu XML-RPC là một giao ống quản trị nội dung) được viết ị nội dung) được viết ập trình như java, android, php, các h qu n tr c s d li u (MySQL, HSQLDB, PostgreSQL, Oracle, Microsoftệ thống quản trị nội dung) được viết ản trị nội dung) được viết ị nội dung) được viết ởi thẻ ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viếtSQL Server)
- H truy v n SPARQL.ệ thống quản trị nội dung) được viết ấp một
RDF API: Jena là m t API trong ngôn ng l p trình Java, t o và x lý các bi u đột Content Management ( Hệ thống quản trị nội dung) được viết ữ liệu XML-RPC là một giao ập trình như java, android, php, ạt xmlrpc lên ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ồnRDF, có th t o m i ho c ch nh s a t nh ng mô hình đã có Jena có các l p đ iển dựa trên PHP và MySQL Wordpress cung cấp một ạt xmlrpc lên ới wordpress xml-rpc là: Blogger API, ặc định cho hệ thống mã nguồn ỉ endpoint cho website wordpress là: ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ừ xa ữ liệu XML-RPC là một giao ới wordpress xml-rpc là: Blogger API, ống quản trị nội dung) được viết
tược viếtng bi u di n ển dựa trên PHP và MySQL Wordpress cung cấp một ễn đ th , tài nguyên và thu c tính, literal và các gói ch a interface t oồn ị nội dung) được viết ột Content Management ( Hệ thống quản trị nội dung) được viết ức sử dụng trong dịch vụ web ạt xmlrpc lên
đ th , dùng t o mô hình d li u RDF, đ c và ghi các file RDF, truy xu t, li t kê cácồn ị nội dung) được viết ạt xmlrpc lên ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ọi hàm từ xa và trả về cho XML-RPC client vói nội dung XML đã ấp một ệ thống quản trị nội dung) được viếtphát bi u trong mô hình d li u RDF.ển dựa trên PHP và MySQL Wordpress cung cấp một ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết
Trang 102.2 OWL API
OWL API: OWL là m r ng c a RDF OWL liên quan t i các l p và giao di n ho cởi thẻ ột Content Management ( Hệ thống quản trị nội dung) được viết ủa người dùng từ xa ới wordpress xml-rpc là: Blogger API, ới wordpress xml-rpc là: Blogger API, ệ thống quản trị nội dung) được viết ặc định cho hệ thống mã nguồn
s d ng các l p, giao di n c a RDF API.ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ới wordpress xml-rpc là: Blogger API, ệ thống quản trị nội dung) được viết ủa người dùng từ xa
- Properties phân ra thành: Datatype properties, Object properties, Symmetric,Functional, InverseFunctional…
- Các tài nguyên ontology: các l p và các th hi n ới wordpress xml-rpc là: Blogger API, ển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết
- Quan h l p cha l p conệ thống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ới wordpress xml-rpc là: Blogger API,
- Quan h tệ thống quản trị nội dung) được viết ư ng đư ng, tách r i (Equivalency/Disjointness)ời dùng từ xa
- Ràng buôc trên các properties (AllValuesFrom, <Min/Max>Cardinalityrestrictions,…)
- OWL API cung c p các l p và giao di n th hi n t t c các lĩnh v c c a ngônấp một ới wordpress xml-rpc là: Blogger API, ệ thống quản trị nội dung) được viết ển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ấp một ản trị nội dung) được viết ựa trên PHP và MySQL Wordpress cung cấp một ủa người dùng từ xa
ng OWL.Các l p và giao di n này n m trong package com.hp.hpl.jena.ontology.ữ liệu XML-RPC là một giao ới wordpress xml-rpc là: Blogger API, ệ thống quản trị nội dung) được viết ằng lệnh
- OntModel là interface ph bi n nh t đổi dữ liệu XML-RPC là một giao ết ấp một ược viếtc s d ng đ qu n lý các ontology.ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ản trị nội dung) được viếtOntModel ch a các ontology statement, đức sử dụng trong dịch vụ web ược viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồnc s d ng đ l y các tài nguyên t nển dựa trên PHP và MySQL Wordpress cung cấp một ấp một ồn
t i (Class, individual, properties) ho c t o m t ontology statement m i.ạt xmlrpc lên ặc định cho hệ thống mã nguồn ạt xmlrpc lên ột Content Management ( Hệ thống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API,
- Các Class được viếtc th hi n b i OntClass đó, các phển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ởi thẻ Ở ví dụ trên, chúng ta đăng ký hàm ư ng th c c a OntClass cóức sử dụng trong dịch vụ web ủa người dùng từ xa
th đển dựa trên PHP và MySQL Wordpress cung cấp một ược viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồnc s d ng đ xem các th hi n, l p con, l p cha, quan h gi a class v iển dựa trên PHP và MySQL Wordpress cung cấp một ển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ới wordpress xml-rpc là: Blogger API, ệ thống quản trị nội dung) được viết ữ liệu XML-RPC là một giao ới wordpress xml-rpc là: Blogger API,
th hi n l p ho c đ xác nh n quan h l p cha l p con Các class có th đển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ập trình như java, android, php, ệ thống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ới wordpress xml-rpc là: Blogger API, ển dựa trên PHP và MySQL Wordpress cung cấp một ược viếtcgán nhãn dưới wordpress xml-rpc là: Blogger API,i các th hi n đển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ược viếtc phân lo i: UnionClass, IntersectionClass,ạt xmlrpc lênEnumeratedClass, ComplementClass OWL API cung c p cách xác đ nh xem m tấp một ị nội dung) được viết ột Content Management ( Hệ thống quản trị nội dung) được viết
l p thu c phân lo i nào trong nhóm trên OntModel cung c p các phới wordpress xml-rpc là: Blogger API, ột Content Management ( Hệ thống quản trị nội dung) được viết ạt xmlrpc lên ấp một ư ng th cức sử dụng trong dịch vụ web
đ xây d ng các đ nh nghĩa ph c t p này.ển dựa trên PHP và MySQL Wordpress cung cấp một ựa trên PHP và MySQL Wordpress cung cấp một ị nội dung) được viết ức sử dụng trong dịch vụ web ạt xmlrpc lên
- Các properties được viếtc th hi n b i OntProperty OntProperty cung c p cácển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ởi thẻ ấp một
phư ng th c xác đ nh các domain và range c a properties cũng nh xác đ nhức sử dụng trong dịch vụ web ị nội dung) được viết ủa người dùng từ xa ư ị nội dung) được viết
FunctionProperty
Ví d v Class: ụ thực hiện ề Wordpress
// Create an empty ontology model
OntModel ontModel = ModelFactory.createOntologyModel();
String ns = new String(“http://www.example.com/onto1#”);
String(“http://www.example.com/onto1”);
Ontology onto = ontModel.createOntology(baseURI);
Trang 11// Create ‘Person’, ‘MalePerson’ and ‘FemalePerson’ classesOntClass person = ontModel.createClass(ns + "Person");
OntClass malePerson = ontModel.createClass(ns +
// Create datatype property 'hasAge'
DatatypeProperty hasAge =
ontModel.createDatatypeProperty(ns + "hasAge");
// 'hasAge' takes integer values, so its range is 'integer'// Basic datatypes are defined in the ‘vocabulary’ packagehasAge.setDomain(person);
Individual bob = malePerson.createIndividual(ns + "Bob");
// Create statement 'John hasAge 20'
Literal age20 =
ontModel.createTypedLiteral("20", XSDDatatype.XSDint);Statement johnIs20 =
ontModel.createStatement(john, hasAge, age20);
ontModel.add(johnIs20);
// Create object property 'hasSibling'
Trang 12ObjectProperty hasSibling =ontModel.createObjectProperty(ns + "hasSibling");
// Domain and Range for 'hasSibling' is 'Person'
hasSibling.setDomain(person);
hasSibling.setRange(person);
// Add statement 'John hasSibling Jane‘
// and 'Jane hasSibling John'
Statement siblings1 = ontModel.createStatement(john,hasSibling, jane);
Statement siblings2 = ontModel.createStatement(jane,hasSibling, john);
ontModel.add(siblings1);
ontModel.add(siblings2);
Ví d v Property Restriction ụ thực hiện ề Wordpress
// Create object property ‘hasSpouse’
ObjectProperty hasSpouse = ontModel.createObjectProperty(ns+ "hasSpouse");
// Create an AllValuesFromRestriction on hasSpouse:
// MalePersons hasSpouse only FemalePerson
AllValuesFromRestriction onlyFemalePerson =
ontModel.createAllValuesFromRestriction(null, hasSpouse,femalePerson);
// A MalePerson can have at most one spouse ->MaxCardinalityRestriction
MaxCardinalityRestriction hasSpouseMaxCard =
ontModel.createMaxCardinalityRestriction(null, hasSpouse,1);
Trang 13// Constrain MalePerson with the two constraints definedabove
malePerson.addSuperClass(onlyFemalePerson);
malePerson.addSuperClass(hasSpouseMaxCard);
Ví d v đ nh nghĩa vi c liên k t gi a các class: ụ thực hiện ề Wordpress ịnh nghĩa việc liên kết giữa các class: ệu tổng quát về Wordpress ết quả ữ liệu RDF/XML:
// Create class ‘MarriedPerson’
OntClass marriedPerson = ontModel.createClass(ns +
"MarriedPerson");
MinCardinalityRestriction mincr =
ontModel.createMinCardinalityRestriction(null, hasSpouse,1);
// A MarriedPerson ó A Person, AND with at least 1 spouse// A list must be created, that will hold the Person class// and the min cardinality restriction
RDFNode[] constraintsArray = { person, mincr };
// ‘MarriedPerson’ is declared as an equivalent of the
// intersection class defined above
marriedPerson.setEquivalentClass(ic);
Thông qua Ontology API, Jena hưới wordpress xml-rpc là: Blogger API,ng t i vi c cung c p giao di n l p trình phùới wordpress xml-rpc là: Blogger API, ệ thống quản trị nội dung) được viết ấp một ệ thống quản trị nội dung) được viết ập trình như java, android, php,
h p cho vi c phát tri n ng d ng ontology đ c l p v i ngôn ng ontology mà b nợc viết ệ thống quản trị nội dung) được viết ển dựa trên PHP và MySQL Wordpress cung cấp một ức sử dụng trong dịch vụ web ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ột Content Management ( Hệ thống quản trị nội dung) được viết ập trình như java, android, php, ới wordpress xml-rpc là: Blogger API, ữ liệu XML-RPC là một giao ạt xmlrpc lênđang s d ng trong ngôn ng l p trình c a b n M t trong nh ng lý do chính xâyử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ữ liệu XML-RPC là một giao ập trình như java, android, php, ủa người dùng từ xa ạt xmlrpc lên ột Content Management ( Hệ thống quản trị nội dung) được viết ữ liệu XML-RPC là một giao
d ng các ng d ng d a trên ontology là s d ng b suy di n đ rút ra nh ng đi uựa trên PHP và MySQL Wordpress cung cấp một ức sử dụng trong dịch vụ web ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ựa trên PHP và MySQL Wordpress cung cấp một ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ột Content Management ( Hệ thống quản trị nội dung) được viết ễn ển dựa trên PHP và MySQL Wordpress cung cấp một ữ liệu XML-RPC là một giao ềnđúng đ n thêm v các khái ni m mà b n đang mô hình hoá Có r t nhi u ki u l pền ệ thống quản trị nội dung) được viết ạt xmlrpc lên ấp một ền ển dựa trên PHP và MySQL Wordpress cung cấp một ập trình như java, android, php,
lu n t đ ng và r t nhi u thu t toán l p lu n khác nhau Jena cũng h tr r tập trình như java, android, php, ựa trên PHP và MySQL Wordpress cung cấp một ột Content Management ( Hệ thống quản trị nội dung) được viết ấp một ền ập trình như java, android, php, ập trình như java, android, php, ập trình như java, android, php, ỗi ra màn hình ợc viết ấp một
Trang 14nhi u b l p lu n thông qua inference API M t đ c đi m chung c a b l p lu nền ột Content Management ( Hệ thống quản trị nội dung) được viết ập trình như java, android, php, ập trình như java, android, php, ột Content Management ( Hệ thống quản trị nội dung) được viết ặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ủa người dùng từ xa ột Content Management ( Hệ thống quản trị nội dung) được viết ập trình như java, android, php, ập trình như java, android, php, Jena là chúng t o ra m t mô hình RDF m i đ ch a các b ba d li u đạt xmlrpc lên ột Content Management ( Hệ thống quản trị nội dung) được viết ới wordpress xml-rpc là: Blogger API, ển dựa trên PHP và MySQL Wordpress cung cấp một ức sử dụng trong dịch vụ web ột Content Management ( Hệ thống quản trị nội dung) được viết ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ược viếtc rút ra từ xa.
vi c suy lu n cũng nh các b ba d li u trong mô hình c b n Ontology API khaiệ thống quản trị nội dung) được viết ập trình như java, android, php, ư ột Content Management ( Hệ thống quản trị nội dung) được viết ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ản trị nội dung) được viếtphá đ c đi m này: các phặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ư ng th c ti n ích mà ontology API cung c p có th truyức sử dụng trong dịch vụ web ệ thống quản trị nội dung) được viết ấp một ển dựa trên PHP và MySQL Wordpress cung cấp một
v n m t mô hình suy di n m r ng nh mô hình RDF ban đ u.ấp một ột Content Management ( Hệ thống quản trị nội dung) được viết ễn ởi thẻ ột Content Management ( Hệ thống quản trị nội dung) được viết ư ần: XML-RPC server và XML-RPC client
Jena cung c p b suy di n trong package com.hp.hpl.jena.reasoner có th đấp một ột Content Management ( Hệ thống quản trị nội dung) được viết ễn ển dựa trên PHP và MySQL Wordpress cung cấp một ược viếtc
g n luôn cùng v i Model OntModel mà không h tr l p lu n thì ch tr l i nh ngới wordpress xml-rpc là: Blogger API, ỗi ra màn hình ợc viết ập trình như java, android, php, ập trình như java, android, php, ỉ endpoint cho website wordpress là: ản trị nội dung) được viết ời dùng từ xa ữ liệu XML-RPC là một giaocâu truy v n thông thấp một ười dùng từ xa.ng đ lây ra các statement Còn OntModel h tr l p lu nển dựa trên PHP và MySQL Wordpress cung cấp một ỗi ra màn hình ợc viết ập trình như java, android, php, ập trình như java, android, php,
sẽ s d ng các statement có đ l p lu n và đ a ra k t qu ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ập trình như java, android, php, ập trình như java, android, php, ư ết ản trị nội dung) được viết
Jena h tr vi c truy xu t d li u đỗi ra màn hình ợc viết ệ thống quản trị nội dung) được viết ấp một ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ược viết ưc l u trong các file RDF.V n đ đ t ra là:ấp một ền ặc định cho hệ thống mã nguồnlàm th nào đ l u tr d li u hi u qu , truy xu t nhanh? Jena cũng h tr chúngết ển dựa trên PHP và MySQL Wordpress cung cấp một ư ữ liệu XML-RPC là một giao ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ệ thống quản trị nội dung) được viết ản trị nội dung) được viết ấp một ỗi ra màn hình ợc viết
ta trong vi c ánh x d file RDF v i c s d li u và ngệ thống quản trị nội dung) được viết ạt xmlrpc lên ữ liệu XML-RPC là một giao ới wordpress xml-rpc là: Blogger API, ởi thẻ ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ược viết ạt xmlrpc lênc l i Vì v y, trong hập trình như java, android, php, ệ thống quản trị nội dung) được viết
th ng mà chúng tôi đang xây d ng, chúng tôi sẽ s d ng c s d li u quan hống quản trị nội dung) được viết ựa trên PHP và MySQL Wordpress cung cấp một ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ởi thẻ ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ệ thống quản trị nội dung) được viếtMySQL đ l u tr d li u nh m t n d ng kh năng l u tr và qu n lý d li u cóển dựa trên PHP và MySQL Wordpress cung cấp một ư ữ liệu XML-RPC là một giao ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết ằng lệnh ập trình như java, android, php, ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ản trị nội dung) được viết ư ữ liệu XML-RPC là một giao ản trị nội dung) được viết ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết
s n c a h qu n tr c s d li u này ẵn sàng ủa người dùng từ xa ệ thống quản trị nội dung) được viết ản trị nội dung) được viết ị nội dung) được viết ởi thẻ ữ liệu XML-RPC là một giao ệ thống quản trị nội dung) được viết
B x lý truy v n SPARQL: Jena s d ng ARQ đ x lý truy v n SPQRQL Cácột Content Management ( Hệ thống quản trị nội dung) được viết ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ấp một ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ấp mộtclass c a ARQ API đủa người dùng từ xa ược viếtc tìm th y trong com.hp.hpl.jena.query:ấp một
- Query: th hi n m t câu truy v n SPARQL đ n.ển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ột Content Management ( Hệ thống quản trị nội dung) được viết ấp một
- Dataset: Tri th c d a trên các câu truy v n đức sử dụng trong dịch vụ web ựa trên PHP và MySQL Wordpress cung cấp một ấp một ược viếtc th c thi(tựa trên PHP và MySQL Wordpress cung cấp một ư ng đư ng v i RDFới wordpress xml-rpc là: Blogger API,Models)
- QueryFactory: Được viếtc s d ng đ sinh ra các đ i tử dụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ụng xmlrpc làm web service mặc định cho hệ thống mã nguồn ển dựa trên PHP và MySQL Wordpress cung cấp một ống quản trị nội dung) được viết ược viếtng Query t các stringừ xa.SPARQL
- QueryExecution: Cung c p các phấp một ư ng th c đ th c thi các câu truy v n.ức sử dụng trong dịch vụ web ển dựa trên PHP và MySQL Wordpress cung cấp một ựa trên PHP và MySQL Wordpress cung cấp một ấp một
- ResultSet: Ch a k t qu l y t câu truy v n đức sử dụng trong dịch vụ web ết ản trị nội dung) được viết ấp một ừ xa ấp một ược viếtc th c thi.ựa trên PHP và MySQL Wordpress cung cấp một
- QuerySolution: th hi n m t dãy các k t qu truy v n.ển dựa trên PHP và MySQL Wordpress cung cấp một ệ thống quản trị nội dung) được viết ột Content Management ( Hệ thống quản trị nội dung) được viết ết ản trị nội dung) được viết ấp một
Trang 15- N u có nhi u câu tr l i cho 1 câu truy v n, m t ResultSet đết ền ản trị nội dung) được viết ời dùng từ xa ấp một ột Content Management ( Hệ thống quản trị nội dung) được viết ược viếtc tr l i sau khiản trị nội dung) được viết ạt xmlrpc lêncâu truy v n đấp một ược viếtc th c thi ResultSet ch a nhi u QuerySolutions.ựa trên PHP và MySQL Wordpress cung cấp một ức sử dụng trong dịch vụ web ền
// Prepare query string
String queryString =
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
"PREFIX : <http://www.example.com/onto1#>\n" +
"SELECT ?married ?spouse WHERE {" +
"?married rdf:type :MarriedPerson.\n" +
"?married :hasSpouse ?spouse." +
"}";
// Use the ontology model to create a Dataset object
// Note: If no reasoner has been attached to the model, noresults
// will be returned (MarriedPerson has no assertedinstances)
Dataset dataset = DatasetFactory.create(ontModel);
// Parse query string and create Query object
Query q = QueryFactory.create(queryString);
// Execute query and obtain result set
// as defined in the query string
QuerySolution row = (QuerySolution)resultSet.next();RDFNode nextMarried = row.get("married");