Đề tài này sẽ xây dựng một hệ thống cơ sở đữ liệu lưu trữ các văn bản pháp luật, các công cụ hỗ trợ quản trị các văn bản, mô tả văn bản cùng công cụ hỗ trợ truy xuất cơ sở đữ liệu luật n
Trang 1
Ä
ĐOÀN THANH NIÊN CỘNG SẢN HÒ CHÍ MINH BAN CHAP HANH TP HO CHi MINH
CONG TRINH DU THI GIAI THUONG “KHOA HỌC SINH VIÊN - EUREKA”
LAN 7 NAM 2005
NGHIEN CUU SEMANTIC WEB UNG DUN G XAY
DỰNG CƠ SỞ DU LIỆU LUẬT VIÊT NAM THUỘC NHÓM NGÀNH: KHOA HỌC TỰ NHIÊN
Trang 2TEN CONG TRINH:
NGHIEN CUU SEMANTIC WEB UNG DUN G XAY
DUNG CO SO DU LIEU LUAT VIET NAM THUỘC NHÓM NGÀNH: KHOA HỌC TỰ NHIÊN
Trang 3CHƯƠNG 2: TÔNG QUAN, CÁC NGHIÊN CUU, UNG DUNG 3
2.1 Các ứng dụng lin quam eecesseessssssssecsssssssessssssussssesssssisessssiscsatitesossseeeceeeseeseeeesecccce 3
2.2 Semantic Web 1a gi? .ccescsssssscssssecsssssesssssssuvessssssssusssssssasessussissessitivessssteseeseeeeeeeeec 4
2.3 Cau trúc phân tang cia Semantic Web .sssssccccsssssssssssessessssesseseeeeeeeeeeeeeeeeecc 5
CHUONG 3: RDF, OWL, JENA 5S no 9
CHƯƠNG 4: HIỆN THỰC, KÉT QUỮA Q ĐQQ QGQQ.nnnnHnnnreec 18
4.1 Phát biểu bài toán tt HH 12 Erererreeeeeeeece 18
4.2 Tổng quan hệ thống văn bản luật Việt Nam nen 18
4.3 Hign thyc dling Semantic Web .cc.cccccscscsssssesssssssessssssssssssssisessaseessuceeteeceeeeeeeeeecccec 20
4.3.3 Cơ sở dữ liệu cho việc lưu trữ cAc VAN DAN voececsessssssesssscssssessssesesteeeeeeeeeeeeecececc 22
4.4.1 Sơ lược về Oracle Text 11112 neo 25
4.4.2 Thiết kế giao diện tre 26
4.5 Xây dựng các chương trình hỗ HƯỢ., ccc.c — tr re 27
CHƯƠNG 5: KẾT LUẬN, HƯỚNG PHÁT TRIỂN 2 2 28
3.2 Đánh giá 5.2.1 Ưu điểm con 2110 0 2 eerrereerrrdeeeseeeeeeee 28
222222221 121111 rreeerreeeeeee 28 5.2.2 Khuyết điểm 222 te Hrrrrrrrrrrreeeeeeeeeeeo 28
5.3 Hướng phát triỂn -222c22L the 29
Phụ lục - Set Hành SE TH TH 30
Tat 1i@u thar Khao: 5M 11L 31
Trang 4
CHƯƠNG I1: GIỚI THIỆU
1.1 Động cơ và mục đích
Hiện nay số lượng các văn bản pháp luật của Việt Nam rất lớn Hằng năm lại bổ sung thêm
nhiều văn bản mới Các văn bản lại có quan hệ với các văn bản khác như quan hệ điều chỉnh
bổ sung, thay thế Bản thân các văn bản lại có kèm theo các biểu mẫu các phụ lục khiến
người dùng khó tìm kiếm Việc sắp xếp và tìm kiếm các văn bản pháp luật gặp nhiều khó
khăn do sô lượng lớn và do các quan hệ giữa các văn bản phức tạp
Đề tài này sẽ xây dựng một hệ thống cơ sở đữ liệu lưu trữ các văn bản pháp luật, các công cụ
hỗ trợ quản trị các văn bản, mô tả văn bản cùng công cụ hỗ trợ truy xuất cơ sở đữ liệu luật này
Ứng dụng này chạy trên môi trường web, nên mọi người có thể truy xuất dễ dàng nhanh
chóng Các văn bản sẽ được thể hiện dưới dạng một trang web, và có các đường liên kết đến
các văn bản liên quan
1.2 Cấu trúc đề tài
Cấu trúc của đề tài gồm các phần sau:
Chương l: trình bày về bài toán xây dựng cơ sở dữ liệu luật Việt Nam
Chương 2: trình bày về các nghiên cứu và các ứng dụng của Semantic Web — một công nghệ
được xem sẽ là cuộc cách mạng về web lần thứ hai Semantic web được ứng dụng vào hệ
thống cơ sở dữ liệu luật Việt Nam
Chương 3: Có nhiều đự án nhằm dua Semantic Web thành hiện thực một trong số đó là bộ
công cụ nguồn mở Jena của hãng HP Chương này sẽ giới thiệu về ngôn ngtt RDF, OWL va
các tính năng của bộ công cụ Jena
Chương 4: trình bày về thiết kế của chương trình, hiện thực phân thiết kế và kết quả thực
nghiệm
Chương 5: sẽ tổng kết và đánh giá những kết quả đạt được và đề ra hướng phát triển mở rộng
của dé tai nay
Trang 5
CHUONG 2: TONG QUAN, CAC NGHIEN CUU, UNG DUNG
2.1 Các ứng dụng liên quan:
Hiện nay trên thị trường có nhiều phần mềm tra cứu văn bản luật xuất bản trên đĩa CD hoặc
tra cứu trực tuyến Nhìn chung các phần mềm này hỗ trợ tốt tra cứu dựa trên tiêu đề hoặc nội
dung, tuy nhiên phần tra cứu nâng cao lại không được tốt Ví dụ như phần mềm Thư viện
pháp luật của công ty VnReview tra cứu với từ “thuế thu nhập” trên tiêu đề cho 227 kết quả
nhưng khi tìm kiếm nâng cao có ràng buộc ngày từ 01/01/1995 đến 01/01/2005 lại báo tìm
thấy 8113 kết quả Hơn nữa, kết quả trả về lại không chính xác liên quan đến từ khóa
- 3 _Công văn 923/TCT/NV2 của Téog cục Thuế về việc 28/02/2002 923/TCT/NV2 => văn
4, Pháp lệnh Thuế thu nhập đối või người có thụ nhập — 07/01/1391 501CT/HĐN _ Pháp lệnh
_ 5 Pháp lệnh Thuế thu nhập đối với người có thu nhập (3/06/1894 —_ 2 Paap | TH n 3 “anv |
Hình 1: Tìm kiếm với từ khóa “thuế thu nhập”
Trang 6
Một ví dụ thứ hai, phần tìm kiếm văn bản luật trực tuyến trên trang web Viện khoa học pháp
lý - Bộ tư pháp (www.ilr-moj.ac.vn) trả về kết quả không đúng ngữ nghĩa khi tìm kiếm Tuy
nhiên trang này có thể hiện mối liên quan giữa các văn bản khá tốt như văn bản căn cứ, văn
bản thay thế
2.2 Semantic Web là gì?
Từ khi được thiết kế, Web được xem là nơi để chứa thông tin, dữ liệu, và mục đích không
những để con người và con người kết nối với nhau, mà còn cho phép máy tính tham gia và trợ
giúp con người Thế nhưng một trong những trở ngại thực tế, đó là thông tin trên Web thực tế
chỉ sử dụng được cho con người Không đề cập đến vấn đề trí tuệ nhân tạo sẽ huấn luyện máy
tính có những hành vi, tư duy giống con người, ý niệm Semantic Web sẽ là ngôn ngữ giúp
cho máy tính có thể tự xử lý trên những luồng thông tin dữ liệu được định nghĩa và tổ chức tốt
Thay vì đòi hỏi máy tính phải hiểu ngôn ngữ của con người, nó sẽ cố gắng đòi hỏi con người
trang bị những thứ mở rộng cho nó
Chúng ta hãy xem xét sự so sánh giữa hai mô hình cấu trúc tài nguyên như sau:
inks Ts Resource
Hình 3: Cấu trúc liên kết tài nguyên Hình 4: Mô hình liên kết tài nguyên theo
Trang 7
- Không bị giới hạn
- Có mối quan hệ
rat khan hiém
liệu một cách hiệu quả
Vậy định nghĩa Semantic Web là: Máy tính có thể hiểu được thông tin, W4 '
Semantic Web la y tưởng của Tim Berners Lee Ông là người phát minh ra WWW, URIs,
HTTP, và HTML Có một nhóm người ở World Wide Web consortium (W3C) dang làm việc
tăng cường, mở rộng và chuẩn hóa các hệ thống ,các ngôn ngữ, đồng thời phát triển các công
cụ và các xuât bản nhắm đưa Semantic Web thành hiện thực
Trust Proof
Logic Framework
Rules Ontology]
RDF M&s| 3 XMI|[Namespaces
Hình 5: Cấu trúc phân tang của Semamtic Web do Tìm Berners Lee dua ra
Tang 1 - URI va Unicode
2.3 Cau tric phan tang ciia Semantic Web
Trang 8
URI là viết tắt của Uniform Resource Identifiiers - định danh tài nguyên đồng nhất
RI cho phép diễn đạt cách truy tìm tài nguyên trên Internet Unicode là bộ mã tiêu chuẩn quốc tế cho phép thể hiện hầu hết ngôn ngữ trên thế giới
RDF là một đồ thị giống như mạng ngữ nghĩa để mô tả các thực thể
RDF Schema (RDFS): là ngôn ngữ dùng để mô tả từ vựng RDF RDES có thể mô tả
cây phân cấp lớp và cây phân cấp thuộc tính RDFS được dùng để thể hiện mối quan
hệ giữa các lớp hon 1a dé rang buộc cấu trúc như XML Schema
Tang 4 - Ontoloty Web Language (OWL):
OWL mô tả ý nghĩa của từ vựng và quan hệ giữa các từ vựng với nhau OWL cung cấp nhiều tính nang hon RDFS
Tang 5 - Rules (các luật)
Tang Rules cho phép ta suy luận tri thức mới và ra quyết định Tầng Rules cung cấp cách thức chuẩn để truy vấn và lọc RDF Hiện nay mọi người đang thí nghiệm với các công cụ xử lý RDE dùng luật nhưng chưa có chuẩn thống nhất
Tầng Rules là một dạng logic “căn bản”, trong khi Logic Framework sẽ là logic “nâng cao”
Tang Logic framework cho phép các chứng cứ logic (formal logic proofS) được chia sẽ Cuối
cùng, với sự hỗ trợ của các chimg cir manh (robust proofs), tang Trust cé thé duoc thiét lập
Trang 9
= 9 =| senity-class name = "House"> mm ‘fe oe "DORE T" a <fiastname>
£5 ws, 8 E <entity-instance ID="10_0"> <attr attlD= "ZIP_CODE“> Ee 8 towed ae ken oy S2 & | <person> ee <name> oO =
=8 Jd a 5 s " <CDATA| 5223PT]i> a 8 | «distance ‘tance oO " = x
= 5 fan? cụ a from= "2342S" —
= E „ */entity instance> tes s E to="224 1RE" = †
Ȏ <Jentily-class> S kra = "150" &
[ x | x XMLIRDF query
XML query ~ XML query BATA
bo DATA DATA eel
= oe se tater g SE sess os TƯ ae ik ee
`
REF query RDF query ROF query
PDA Mobile P62 Pere
Hình 6: Cấu trúc cơ bản của việc tích hợp ngữ nghĩa từ nhiều nguồn tài nguyên:
Hato 2
Trang 10Phân Lớp Mo ta
hoặc đối tượng của cơ sở dữ liệu, trang HTML, nguon XML, hoặc RDF gôc Chương trình sẽ tổng hợp hoàn toàn những nguồn chung này, thông qua Web Yêu câu chính của tài nguyên là có khả năng chuyền đổi sang dạng XML
XML Instance Layer | XML instance layer sẽ lây đữ liệu XML tuần tự này từ layer
trước đó Đôi khi hai lớp này được xem là một
layer với Mediator RDF Khi có một truy vấn từ lớp Mediator, việc ánh xạ trong XML2RDF sẽ được thực hiện và ngược lại
Trang 11
CHUONG 3: RDF, OWL, JENA
3.1 RDF
3.1.1 Khai niém RDF va RDF schema
at RDF là ngôn ngữ biểu diễn, mô tả thông tin tài nguyên của World Wide Web Thông
tin được mô tả ví dụ bao gồm tựa đề trang, tác giả, ngày cập nhật, bản quyền liên quan đến trang web đó, hoặc để có khả năng triển khai chiến lược chia sẻ tài nguyên Ngoài ra
RDF còn có thể được dùng mô tả những thông tin có thể nhận dạng trên Web, ngay cả những
thông tin này có thể không được lấy trực tiếp từ trang web RDF sẽ được dùng ở nơi thông tin
được xử lý bởi nhiều trình ứng dụng, hơn là nơi chỉ xuất thông tin cho người xem
RDF cung cấp một nền tang chung (common framework) cho phép trao d6i thông tin giữa hai
chương trình khác nhau mà ngữ nghĩa không bị thay đổi Khả năng trao đổi thông tin giữa hai
chương trình có nghĩa là thông tin này sẽ được chương trình bên kia hiểu được ngay khi thông
tin được tạo ra Từ nền táng chung này, sẽ là đòn bẩy để những nhà thiết kế ứng dụng có thé
phát triển những trình phân tích (parser) RDE chung và những công cụ xử lý
Xét ví dụ RDE:
"Nguyễn Dư”
hasName
“Truyện Kiêu"
Hình 7: ví dụ đồ thị mô tả
RDF cũng cung cấp một dạng đồ vật hóa (reification) để một phat biéu RDF có thể là một đối
tượng hoặc giá trị của một phát biểu khác Điều này có nghĩa các đồ thị có thể gộp lại như
một chuỗi xích Một phát biểu của ai đó không rõ ràng, ta có thể mô tả nó thuộc loại gì ví dụ
như phát biểu “ISBN0001047588§” có kiểu là Book, Book được định nghĩa trong RDF schema
Trang 12
10
Mô hình RDF và cú pháp dựa trên cú pháp XML thể hiện mô tả trên như sau:
<rdf:Description rdf:about="http: //www thinhanvn.org/NguyenDu">
RDF Schema là một kỹ thuật cho phép định nghĩa từ vựng riêng cho đữ liệu RDF (ví đụ như
hasWritten) và các loại đối tượng đặc biệt để gán cho thuộc tính (ví dụ như Writer) RDF
Schema dùng các thuật ngữ đã được định nghĩa trước như Class, subClassOf và
Property, dé tao luge dé RDF Schema cũng dùng để kiểm hợp lệ các phát biểu RDF Sự
khác nhau giữa phát biểu RDF “thông thường” và RDF Schema là RDF Schema tạo ngữ
nghĩa cho thuật ngữ và giải thích các phát biểu Ví dụ, thuộc tính subC1assO£ cho phép định
nghĩa phân cấp lớp Các đối tượng có thể cho biết kiểu bằng cách dùng thuộc tính type Các
thuộc tính domain và range có thể dùng để xây dựng ràng buộc giữa các lớp thuộc tính
subClassOf
| FamousWriter |
i Schema type type Dữ liệu
Hình 8: Méi quan hé giita dit liéu RDF va RDF Schema
Trên đường nét đứt trong hình trên, chúng ta thay vi du RDF schema định nghĩa từ vựng cho
ví dụ RDF ở trên: Book, Writer và FamousWriter là các lớp, và hasWritten là thuộc
tính Một thể hiện bên đưới đường nét đứt được mô tả bằng các thuật ngữ của từ vựng trên
Trang 13
roperty
Thuộc tinh RDF/RDFS
Trang 14
12
3.2 OWL
a) Tai sao can OWL
Semantic Web 1a tuong lai cua Web mà thông tin được gắn với ý nghĩa, tức làm cho thông tin
dễ xử lý và tích hợp thông tin trong Web Semantic Web dựa trên khả năng của XML để định
nghĩa các khuôn mẫu thẻ và RDF để thể hiện dữ liệu Cấp đầu tiên trên RDF trong mô hình
phân cấp Semantic Web là ngôn ngữ bản thể (ontology language) có thể mô tả ý nghĩa của
thuật ngữ dùng trong các tài liệu Web RDF Schema là bảng từ vựng để mô tả các thuộc tính
(property) và lớp của tài nguyên RDE, với một ngữ nghĩa cho cây khái quát hóa của thuộc
tính và lớp OWL đưa thêm vào từ vựng để mô tả thuộc tinh va lớp như: quan hệ giữa các lớp
(Vd: disjointness), số lượng phần tử (Vd: "exactly one")
OWL bao gồm bốn khái niệm:
e Lớp
e Méi quan hé giữa các lớp
e Thuôc tính của lớp
e_ Ràng buộc trên mối quan hệ giữa thuộc tính và lớp
OWL đã được tổ chức W3C chuẩn hóa từ tháng hai năm 2004
b) Ba ngôn ngữ của OWL
OWL cung cấp 3 ngôn ngữ được thiết kế để nhà phát triển và người dùng sử dụng cho các
mục đích riêng
° OWL Lite hé tro cho ngudi dùng các yêu cầu chính yếu cần hệ phân cấp và các ràng
buộc đơn giản Ví dụ, nó hỗ trợ ràng buộc số lượng phần tử cho phép giá trị là 0 hoặc
1 Việc cung cấp các công cụ hỗ trợ OWL Lite sẽ đơn giản hơn so với cho các ngôn ngữ tương đương khác
năng máy tính toán và khả năng ra quyết định OWL DL bao gồm tất cả thành tố của
ngôn ngữ OWL, nhưng chỉ có thể dùng trong các giới hạn (Vd, một lớp có thể là lớp
con của một hay nhiều lớp, một lớp không thể là một đối tượng (instance) của lớp
khác)
Trang 15
13
nhưng không đảm bảo tính toán được Ví dụ, trong OWL Full một lớp có thể đồng
thời được coi là tập hợp của các cá thể dưới đanh nghĩa một đơn thể OWL Full cho phép một bản thê gia cố ý nghĩa của từ vựng Nó không bảo đảm các phần mềm suy
luận sẽ hoàn toàn hỗ trợ mọi tính năng của OWL Full
Các ngôn ngữ có quan hệ nhau như sau (quan hệ một chiều)
¢ Moi ban thé OWL Lite hop 1é thi cing 1a ban thé OWL DL hop lệ
‹ _ Mọi bản thể OWL DL hợp lệ thì cũng là bản thể OWL Full hợp lệ
‹ Moi két nan OWL Lite hợp lệ thì cũng là kết luận OWL DL hợp lệ
¢ Moi kết luận OWL DL hợp lệ thì cũng là kết luận OWL Full hợp lệ
OWL Full có thể xem như phần mở rộng của RDE, trong khi OWL Lite và OWL DL có thể
xem như mở rộng có giới hạn của RDE Mọi tài liệu OWL (Lite, DL, Full) cũng là tài liệu
RDE, và mọi tài liệu RDF là một tài liệu OWL Full, nhưng chỉ một số tài liệu RDF sẽ là tài
liệu OWL Lite hoặc OWL DL hợp lệ Vì vậy phải cần thận khi muốn chuyển tài liệu RDE
Day là mô tả về lớp ResourceMovement, lớp này có thuộc tính #movementType và đối
tượng của lớp ResourceMovement chỉ được phép có một và chỉ một thuộc tính
#movementTvpe
Trang 16
14
3.3 Jena
3.3.1 Gidi thiéu
Jena là một Java framework nguồn mé do céng ty Hewlett-Packard phát triển dé viết các ứng
dụng Semantic Web Jena có các tính năng sau:
RDF API
e Cac phuong thitc xt ly RDF model nhu 1a tap cac triples
« Cac phương thức xử lý RDF model như là tập các tài nguyên resources với thuộc tính
¢ H6 tro RDF containers - bag, alt va seq
e Cac thư viện tiện ích
« - Tích hợp bộ phân tích và ghi RDF/XML (ARP), N3 và N-TRIPLES
« - Hỗ trợ các kiểu đữ liệu literal
Persistence
Jena cung cấp phần mở rộng cho lớp Jena Model cho phép lưu các model trong cơ sở
đữ liệu Jena chính thức hỗ trợ cơ sở đữ liệu PostgreSQL, MySQL, Oracle
Hệ thống lý luận (Reasoning Subsystem)
Hệ thông lý luận gồm các luật chung dựa trên động cơ suy luận cùng với các luật cầu hinh cho RDFS va cho OWL Lite Hé ly luận này có thể được dùng để xây dung cac inference models — thé hién cdc phát biểu đã trải qua lý luận Hệ này được thiết kế để
có thể mở rộng nên có thể gắn thêm các suy luận vào Jena
Query ::= SelectClause ( SourceClause )? TriplePatternClause
Trang 17SelectClause SourceClause
Var ::
PrefixesClause PrefixDecl
NumericalLogical InclusiveOrExpression
ExclusiveOrExpression
AndExpression
ArithmeticCondition EqualityExpression
RelationalExpression
NumericExpression ShiftExpression
15
( ConstraintClause )? ( PrefixesClause )?
= (<SELECT> Var ( CommaOpt Var )* | <SELECT> "*" )
= (<SOURCE> | <FROM?> ) SourceSelector ( CommaOpt SourceSelector )*
= URL
= <WHERE> TriplePattern (CommaOpt TriplePattern )*
= <SUCHTHAT> Expression ( (<COMMA> |
= <PREFIXES> PrefixDecl ( CommaOpt PrefixDecl )*
= Identifier <FOR> QuotedURI
= ConditionalOrExpression ::= ConditionalXorExpression (<SC_OR>
ConditionalXorExpression )*
:= ConditionalAndExpression
= ValueLogical (<SC_AND> ValueLogical )*
= StringEqualityExpression
= NumericalLogical (<STR_EQ> NumericalLogical |
<STR_NE> NumericalLogical | <STR_MATCH>
PatternLiteral | <STR_NMATCH> PatternLiteral )*
::= InclusiveOrExpression := ExclusiveOrExpression ( <BIT_OR>