Ngày nay với một lượng thông tin khá nhiều trên mạng, đồng thời sốlượng
người dùng truy cập trên mạng rất nhiều đã làm cho việc tìm kiếm, trình bày và duy
trì thông tin trên web ngày càng trởnên khó khăn hơn. Đúng lúc này công nghệ
Semantic Web ra đời đã thật sự đem lại niềm hy vọng, một bước phát triển mới cho
thếhệweb hiện tại. Công nghệSemantic Web đã giúp cho con người có thểthêm ngữ
nghĩa vào các tài liệu bằng ngôn ngữmà máy tính có thểhiểu được. Điều này làm cho
máy tính hiểu được thông tin trên Web, từ đó giúp cho việc tìm kiếm được nhanh hơn
và chính xác hơn. Với công nghệSemantic Web dữliệu trên web đã được định nghĩa
và liên kết theo cách mà máy tính có thểhiểu được không chỉcho những mục đích
hiển thịmà còn cho mục đích tự động, tích hợp và tái sửdụng dữliệu qua các ứng
dụng khác nhau.
Semantic Web thật sựmạng lại nhiều thuận lợi nhưvậy nhưng đểthật sựhiểu rõ
và nắm vững Semantic Web là điều không dễdàng. Do vây, mục tiêu của đềtài luận
văn đặt ra gồm hai phần chính nhưsau
242 trang |
Chia sẻ: haianh_nguyen | Lượt xem: 1435 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu, tìm hiểu và xây dựng ứng dụng với Semantic Web, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
competences hiện cĩ trong hệ thống giúp cho
việc tìm kiếm, thống kê và hiển thị danh sách các tài nguyên competences được nhanh
chĩng và thuận lợi.
Nội dung:
File competences.rdf lưu tên (pc:name) và địa chỉ URI (rdfs:seeAlso) của các tài
nguyên persons.
Nội dung như sau :
<rdf:RDF xmlns:rdf=""
xmlns:rdfs=""
xmlns:foaf="" xmlns:dc=""
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
160
xmlns:pc="">
Visual C
.
.
.
.
Visual Basic
8.1.6 Thiết kế file personlist.rdf, grouplist.rdf, competencelist.rdf
8.1.6.1 Mục đích
Các file này được thiết kế nhằm mục địch lưu các địa chỉ URIs của các tài nguyên về
person, group hay competence. Các URIs này khơng chỉ của riêng những tài nguyên
trong hệ thống mà của bất kỳ tài nguyên nào ở bất kỳ đâu trên internet mơ tả cho
person, group hay competence trong trường hợp muốn mở rộng cơ sơ dữ liệu cho hệ
thống. Mơ hình dữ liệu như hình :
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
161
Hình 8-5 Mơ hình dữ liêu cuối cùng.
8.1.6.2 Thiết kế:
8.1.6.2.1 Thiết kế file “ personlist.rdf” :
Lưu địa chỉ URI của tất cả các tài nguyên persons cĩ trong hệ thống( chính là URI của
file persons.rdf trong hệ thống này).
<rdf:RDF
xmlns:rdf=""
xmlns:rdfs=""
xmlns:foaf=""
xmlns:admin="">
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
162
8.1.6.2.2 Thiết kế file “ grouplist.rdf” :
Lưu địa chỉ URI của tất cả các tài nguyên groups cĩ trong hệ thống(chính là URI của
file groups.rdf trong hệ thống).
<rdf:RDF
xmlns:rdf=""
xmlns:rdfs=""
xmlns:foaf=""
xmlns:admin="">
8.1.6.2.3 Thiết kế file “ competencelist.rdf” :
Lưu địa chỉ URI của tất cả các tài nguyên competences cĩ trong hệ thống(chính là
URI của file competences.rdf trong hệ thống này).
<rdf:RDF
xmlns:rdf=""
xmlns:rdfs=""
xmlns:foaf="" >
8.1.7 Thiết kế file XSL để chuyển file RDF sang file SVG
Ứng dụng phải cĩ giao diện đồ họa thể hiện lược đồ biểu diễn cho các tài
nguyên con người, nhĩm và khả năng. Và để trình duyệt web hiển thị được lược đồ
thì ta phải dùng ngơn ngữ SVG. Cơng việc mà hệ thống phải làm là chuyển các định
dạng RDF sang định dạng SVG. Vì thế chúng em sử dụng ngơn ngữ XSLT xây dựng
3 file XSL sau :
Person.xsl : dùng để chuyển các file RDF mơ tả người sang định dạng SVG
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
163
Group.xsl : dùng để chuyển các file RDF mơ tả nhĩm sang định dạng SVG
Competence.xsl : dùng để chuyển các file RDF mơ tả khả năng sang định dạng
SVG
Nội dung của file Person.xsl :
<xsl:stylesheet version="1.0"
xmlns:rdf=""
xmlns:xsl=""
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:foaf=""
xmlns:xlink=""
xmlns:rdfs=""
xmlns:dc=""
xmlns:pc="">
<image x="337" y="320" width="75"
height="65"xlink:href=""/>
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
164
<rect x="60" y="60" width="100" height="25" rx="4" ry="4" style="stroke: white; fill:
none;">
<text x="20" y="20" textLength="100" lengthAdjust="spacingAndGlyphs" style="text-
anchor: middle; stroke:white;" >
<image x="0" y="0" width="75" height="60"
xlink:href="">
<image x="430" y="340" width="170" height="20"
xlink:href="">
<xsl:value-of select="concat('rotate(',
string(((position()+count(//*[name()='pc:knows']))*360) div
(count(//*[name()='pc:knows'])+count(//*[name()='pc:isMemberOf'])+count(//*[name()='foaf:kn
ows']))), ',375,350)')"/>
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
165
<image x="0" y="0" width="55" height="45"
xlink:href="">
<text x="20" y="20" textLength="100" lengthAdjust="spacingAndGlyphs" style="text-
anchor: middle;" >
<image x="430" y="340" width="170" height="20"
xlink:href="">
<xsl:value-of select="concat('rotate(', string((position()*360) div
(count(//*[name()='pc:knows'])+count(//*[name()='pc:isMemberOf'])+count(//*[name()='foaf:kn
ows']))), ',375,350)')"/>
<rect x="60" y="60" width="100" height="25" rx="4" ry="4" style="stroke: green; fill:
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
166
none;">
<xsl:value-of
select="position()+count(//*[name()='pc:knows'])+count(//*[name()='pc:isMemberOf'])"/>
<text x="20" y="20" textLength="100" lengthAdjust="spacingAndGlyphs" style="text-
anchor: middle;" >
<xsl:value-of
select="position()+count(//*[name()='pc:knows'])+count(//*[name()='pc:isMemberOf'])"/>
<image x="0" y="0" width="55" height="45"
xlink:href="">
<image x="430" y="340" width="170" height="20"
xlink:href="">
<xsl:value-of select="concat('rotate(',
string(((position()+count(//*[name()='pc:knows'])+count(//*[name()='pc:isMemberOf']))*360)di
v
(count(//*[name()='pc:knows'])+count(//*[name()='pc:isMemberOf'])+count(//*[name()='foaf:kn
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
167
ows']))), ',375,350)')"/>
<xsl:value-of
select="position()+count(//*[name()='pc:knows'])+count(//*[name()='pc:isMemberOf'])"/>
<rect x="60" y="60" width="100" height="25" rx="4" ry="4" style="stroke: green; fill:
none;">
<text x="375" y="420" style="text-anchor: middle;font-family:Time New Romance;
font-weight: bold; font-size:15;">
Nội dung của file Group.xsl :
<xsl:stylesheet version="1.0"
xmlns:rdf=""
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
168
xmlns:xsl=""
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:foaf=""
xmlns:xlink=""
xmlns:rdfs=""
xmlns:dc=""
xmlns:pc="">
<circle cx="400" cy="350" r="55" style="stroke: green; fill: #cfc; stroke-width:1.5;
"/>
<image x="363" y="320" width="75" height="60"
xlink:href=""/>
<image x="456" y="340" width="200" height="20"
xlink:href="">
<xsl:value-of select="concat('rotate(', string((position()*360) div
(count(//*[name()='pc:knows'])+count(//*[name()='foaf:member']))), ',400,350)')"/>
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
169
<image x="0" y="0" width="55" height="45"
xlink:href="">
<text x="20" y="20" textLength="100" lengthAdjust="spacingAndGlyphs"
style="text-anchor: middle;" >
<rect x="60" y="60" width="100" height="25" rx="4" ry="4" style="stroke: green; fill:
none;">
<image x="456" y="340" width="200" height="20"
xlink:href="">
<xsl:value-of select="concat('rotate(',
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
170
string(((position()+count(//*[name()='pc:knows']))*360) div
(count(//*[name()='pc:knows'])+count(//*[name()='foaf:member']))), ',400,350)')"/>
<image x="0" y="0" width="55" height="45"
xlink:href="">
<text x="20" y="20" textLength="100" lengthAdjust="spacingAndGlyphs"
style="text-anchor: middle;" >
<rect x="60" y="60" width="100" height="25" rx="4" ry="4" style="stroke: green; fill:
none;">
<text x="400" y="380" style="text-anchor: middle;font-family:Time New Romance;
font-size:15; stroke:white;">
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
171
Nội dung của file Competence.xsl :
<xsl:stylesheet version="1.0"
xmlns:rdf=""
xmlns:xsl=""
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:foaf=""
xmlns:xlink=""
xmlns:rdfs=""
xmlns:dc=""
xmlns:pc="">
<circle cx="400" cy="350" r="55" style="stroke: green; fill: #cfc; stroke-width:1.5;
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
172
"/>
<image x="365" y="320" width="75" height="65"
xlink:href=""/>
<image x="456" y="340" width="200" height="20"
xlink:href="">
<xsl:value-of select="concat('rotate(', string((position()*360) div
(count(//*[name()='foaf:Person'])+count(//*[name()='foaf:Group']))), ',400,350)')"/>
<text x="20" y="20" textLength="100" lengthAdjust="spacingAndGlyphs"
style="text-anchor: middle; stroke:white;" >
<rect x="60" y="60" width="100" height="25" rx="4" ry="4" style="stroke: white;
fill: none;">
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
173
<image x="0" y="0" width="75" height="60"
xlink:href="">
<image x="456" y="340" width="200" height="20"
xlink:href="">
<xsl:value-of select="concat('rotate(',
string(((position()+count(//*[name()='foaf:Group']))*360) div
(count(//*[name()='foaf:Person'])+count(//*[name()='foaf:Group']))), ',400,350)')"/>
<image x="0" y="0" width="55" height="45"
xlink:href="">
<xsl:value-of
select="position()+count(//*[name()='foaf:Group'])"/>
<text x="20" y="20" textLength="100" lengthAdjust="spacingAndGlyphs"
style="text-anchor: middle;" >
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
174
<rect x="60" y="60" width="100" height="25" rx="4" ry="4" style="stroke: green;
fill: none;">
<text x="400" y="420" style="text-anchor: middle;font-family:Time New
Romance; font-weight: bold; font-size:20;">
8.2 Thiết kế xử lý
Với các chức năng đã được đặc tả kỹ trong phần 6.2.3 trên chúng em cĩ các các lược
đồ tuần tự( Sequence Diagrams) và các lược đồ cộng tác( Collaboration Diagram) cho
một số chức năng chính như sau :
• Chức năng tìm người (Find Person) :
o Sequence Diagram
Sơ đồ Sequence Diagram cho chức năng tìm người.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
175
Hình 8-6 Sơ đồ Sequence Diagram cho chức năng tìm người.
o Collaboration Diagram
Sơ đồ Collaboration Diagram cho chức năng tìm người.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
176
Hình 8-7 Sơ đồ Collaboration Diagram cho chức năng tìm người.
• Chức năng xem chi tiết thơng tin người (View Person’s Detail) :
o Sequence Diagram
Sơ đồ Sequence Diagram cho chức năng hiển thị thơng tin.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
177
Hình 8-8 Sơ đồ Sequence Diagram cho chức năng hiển thị thơng tin.
o Collaboration Diagram
Sơ đồ Collaboration Diagram cho chức năng hiển thị thơng tin.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
178
Hình 8-9 Sơ đồ Collaboration Diagram cho chức năng hiển thị thơng tin.
• Chức năng thêm người (Add Person) :
o Sequence Diagram
Sơ đồ Sequence Diagram cho chức năng thêm người.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
179
Hình 8-10 Sơ đồ Sequence Diagram cho chức năng thêm người.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
180
o Collaboration Diagram
Sơ đồ Sequence Diagram cho chức năng thêm người.
Hình 8-11 Sơ đồ Sequence Diagram cho chức năng thêm người.
• Chức năng xố người (Delete Person) :
o Sequence Diagram
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
181
Sơ đồ Sequence Diagram cho chức năng thêm một người một người trong hệ thống
Hình 8-12 Sơ đồ Sequence Diagram cho chức năng xĩa người.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
182
o Collaboration Diagram
Sơ đồ Collaboration Diagram cho chức năng xĩa người trong hệ thống.
Hình 8-13 Sơ đồ Collaboration Diagram cho chức năng xĩa người.
• Chức năng cập nhật thơng tin người (Update Person)
o Sequence Diagram
Sơ đồ Sequence Diagram cho chức năng cập nhật người..
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
183
: User : UpdatePerson : PersonFinder : GroupFinder : CompetenceFinder : RdfParser : Person : PersonSerializer : FileUtility : XMLUtility
Enter Person's Name for
Searching
Get a list of all
Person
Get a list of all
Groups
Get a list all
Compet...
12:
13: //Submit Find()
21: //New PersonSerializer()
2: //Get All List
3: //Get All Persons()
4: //Get All Persons()
5: //Get All Groups()
6: //Get All Groups()
7: //Get All Competences()
8: //Get All Competences()
1:
Select
UpdatePerson
Page
14: // Search On FullName()
9: //Create Person CheckBox()
10: //Create Group CheckBox()
11: //Create Competence CheckBox()
Create checkbox
for persons
, groups,
competences
15: //Select Person to Update
16: //Get Detail
17:
Create
Checkbox
18:
Enter new
Information
19: //Update
20: //New Person()
22: //DeleteFromPersonlist()
24: //DeleteFromOthers()
26: //DeletePersonFile()
23: //DeleteFromListFile()
25: //DeleteFromOthersFiles()
27: //DeleteFile()
28: //UpdateGenerate()
29: //SaveToFile()
32: //SaveToPersonList()
35: //SaveToPerson()
38: //SaveToGroup()
41: //SaveToCompetence()
30: //CreatePersonFile()
33: //AppendToFile()
36: //AppendToFile()
39: //AppendToFile()
42: //AppendToFile()
31: //MakeRDFResourceTag()
34: //MakeRDFResourceTag()
37: //MakeRDFResourceTag()
40: //MakeRDFResourceTag()
43: //MakeRDFResourceTag()
Hình 8-14 Sơ đồ Sequence Diagram cho chức năng cập nhật người.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
184
o Collaboration Diagram
Sơ đồ Collaboration Diagram cho chức năng cập nhật người.
Hình 8-15 Sơ đồ Collaboration Diagram cho chức năng cập nhật người.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
185
• Chức năng cập nhật địa chỉ trang liên quan đến nhiều người (Update
Personal Page by URL)
o Sequence Diagram
Sơ đồ Sequence Diagram cho chức năng cập nhật trang Web liên quan cho cá nhân.
Hình 8-16 Sơ đồ Sequence Diagram cho chức năng cập nhật trang Web liên
quan cho cá nhân.
o Collaboration Diagram
Sơ đồ Collaboration Diagram cho chức năng cập nhật người trang Web liên quan.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
186
Hình 8-17 Sơ đồ Collaboration Diagram cho chức năng cập nhật người trang
Web liên quan.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
187
8.3 Thiết kế giao diện
8.3.1 Sơ đồ liên kết các màn hình
MH Chính
Tìm kiếm
Hiển thị chi tiết
Hiển thị lược đồ
Cập nhật
Nhĩm
Cá nhân
Khả năng
Thêm người
Xĩa người
Sửa người
Thêm khả năng
Xĩa khả năng
Sửa khả năng
Thêm nhĩm
Xĩa nhĩm
Sửa nhĩm
Cập nhật
theo URI
Cập nhật
theo tên
Hình 8-18 Sơ đồ liên kết các màn hình.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
188
8.3.2 Một số màn hình chính của ứng dụng:
8.3.2.1 Giao diện chính của phân hệ người dùng :
Hình 8-19 Giao diện chính của hệ thống người dùng.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
189
8.3.2.2 Giao diện chính của phân hệ admin :
Hình 8-20 Giao diện chính của phân hệ admin.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
190
Giao diện của chức năng tìm người:
Hình 8-21 Giao diện tìm người
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
191
Giao diện của chức năng xem thơng tin chi tiết:
Hình 8-22 Giao diện xem thơng tin chi tiết.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
192
Giao diện của chức năng xem thơng tin chi tiết bằng lược đồ:
Hình 8-23 Giao diện thực hiện chức năng xem chi tiết bằng lược đồ
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
193
Giao diện của chức năng cập nhật thơng tin:
Hình 8-24 Giao diện cập nhật thơng tin.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
194
Giao diện của chức năng thêm người:
Hình 8-25 Giao diện thực hiện chức năng thêm người mới vào hệ thống.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
195
Giao diện của chức năng xĩa một người ra khỏi hệ thống:
Hình 8-26 Giao diện thực hiên chức năng xĩa người ra khỏi vào hệ thống.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
196
Giao diện của chức năng sửa thơng tin cá nhân:
Hình 8-27 Giao diện thực hiên chức năng sửa thơng tin một người trong hệ
thống.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
197
Giao diện của chức năng cập nhật thơng tin thơng qua URL:
Hình 8-28 Giao diện của chức năng cập nhật thơng tin thơng qua URL
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
198
Giao diện của chức năng cập nhật thơng tin thơng qua tên:
Hình 8-29 Giao diện của chức năng cập nhật thơng tin thơng qua tên.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
199
Chương 9 KẾT LUẬN VÀ HƯỚNG PHÁT
TRIỂN
9.1 Kết luận
Ngày nay với một lượng thơng tin khá nhiều trên mạng, đồng thời số lượng
người dùng truy cập trên mạng rất nhiều đã làm cho việc tìm kiếm, trình bày và duy
trì thơng tin trên web ngày càng trở nên khĩ khăn hơn. Đúng lúc này cơng nghệ
Semantic Web ra đời đã thật sự đem lại niềm hy vọng, một bước phát triển mới cho
thế hệ web hiện tại. Cơng nghệ Semantic Web đã giúp cho con người cĩ thể thêm ngữ
nghĩa vào các tài liệu bằng ngơn ngữ mà máy tính cĩ thể hiểu được. Điều này làm cho
máy tính hiểu được thơng tin trên Web, từ đĩ giúp cho việc tìm kiếm được nhanh hơn
và chính xác hơn. Với cơng nghệ Semantic Web dữ liệu trên web đã được định nghĩa
và liên kết theo cách mà máy tính cĩ thể hiểu được khơng chỉ cho những mục đích
hiển thị mà cịn cho mục đích tự động, tích hợp và tái sử dụng dữ liệu qua các ứng
dụng khác nhau.
Semantic Web thật sự mạng lại nhiều thuận lợi như vậy nhưng để thật sự hiểu rõ
và nắm vững Semantic Web là điều khơng dễ dàng. Do vây, mục tiêu của đề tài luận
văn đặt ra gồm hai phần chính như sau:
Về lý thuyết: mục tiêu là tìm hiểu, nghiên cứu về Semantic Web bao gồm các
phần như: kiến trúc các tầng trên Semantic Web, các ngơn ngữ được sử dụng trong
Semantic Web, RDF nền tảng của Semantic Web cũng như ngơn ngữ truy vấn trong
RDF .
Về phần ứng dụng minh họa: mục tiêu là nắm vững được các kỹ thuật thao tác
trên dữ liệu RDF: cách tạo một tài liêu RDF cũng như việc lưu trữ và truy vấn trên tài
liệu này. Bên cạnh đĩ ứng dụng yêu cầu xây dựng được một ontology được sử dụng
như một bộ từ điển cho ứng dụng.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
200
Nội dung đề tài đưa ra khá rộng và chỉ được thực hiện trong vịng 6 tháng do
vậy để hồn tất đề tài này chúng em phải gặp rất nhiều khĩ khăn về mặt tìm kiếm tài
liệu, đọc hiểu tài liệu và một số kỹ thuật để vận dụng kiến thức mình đã tìm hiểu được.
Nhưng bù đắp lại những khĩ khăn vất vả đĩ là chúng em đã tiếp thu được rất nhiều
kiến thức mới lạ và rất bổ ích về Semantic Web - một cơng nghệ Web tương lai và kết
quả xứng đáng đĩ chính là chúng em đã hồn thành được những mục tiêu, yêu cầu
đưa ra của đề tài.
9.1.1 Kết quả về mặt nghiên cứu
Qua quá trình nghiên cứu và tìm hiểu về lĩnh vực Semantic Web, chúng em đã
hiểu được và ghi nhận lại một số kết quả đạt được như sau:
• Tìm kiếm được nhiều tài liệu hay và bổ ích về Semantic Web .
• Hiểu được về cơng nghệ Semantic Web, một lĩnh vực đang được đánh giá đầy
tiềm năng, hứa hẹn sẽ mang lại những lợi ích khổng lồ về mặt tri thức cũng
như về mặt kinh tế . Kết quả đạt được khi nghiên cứu về Semantic Web như
sau:
? Nắm rõ về cơng nghệ Semantic Web, so sánh được Semantic Web với Web
hiện tại cũng như những thuận lợi mà Semantic Web mang lại.
? Nắm rõ về kiến trúc Semantic Web và vai trị các lớp trong kiến trúc
Semantic Web .
? Tìm hiểu về RDF , một ngơn ngữ nền tảng và giữ vai trị khá quan trọng
trong kiến trúc Semantic Web bao gồm: lược đồ RDF dùng để mơ tả các tài
nguyên dưới dạng đồ thị, cú pháp RDF/XML dùng để tạo ra một tài liệu
RDF , RDF Schema dùng để định nghĩa các lớp và các thuộc tính , FOAF-
một bộ từ vựng mơ tả thơng tin về con người.
? Tìm hiểu về ngơn ngữ truy vấn trong RDF đĩ là ngơn ngữ SPARQL, cách
tạo ra một câu truy vấn cũng như việc truy vấn dữ liệu trong tài liệu RDF .
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
201
? Ngồi ra, luận văn cũng đã tìm hiểu một số ứng dụng liên quan đến
Semantic Web và các cơng cụ hỗ trợ cho việc phát triển Semantic
Web .Trong đĩ cĩ một ứng dụng hết sức quan trọng trong lĩnh vực quản lý
dữ liệu (tri thức), đĩ là Semantic Search Engine đã và đang được xây dựng
trên thế giới.
9.1.2 Kết quả về chương trình ứng dụng
Đối với ứng dụng minh hoạ chúng em đã hồn tất được mục tiêu của luận văn
đề ra là nắm vững các kỹ thuật : tổ chức, lưu trữ và truy vấn trên dữ liệu RDF. Cách
sử dụng bộ từ vựng FOAF để mơ tả thơng tin về con người và nhĩm người trong hệ
thống. Ngồi ra chúng em cũng đã xây dựng được bộ tự điển (ontology PC) mơ tả
thơng tin của tài nguyên khả năng(competence) và mối quan hệ giữa tài nguyên này
với tài nguyên con người( person) và tài nguyên nhĩm người(group).
Về mặt chương trình kết quả thu được là hai phân hệ chương trình: một phân hệ
dành cho người sử dụng và một phân hệ dành cho người quản trị.
• Đối phân hệ dành cho người dùng: Hỗ trợ việc tìm kiếm thơng tin của một
người, một nhĩm nghiên cứu và khả năng của họ trong một tổ chức cùng với
việc hiển thị thơng tin liên kết với nhau một cách trực quan sinh động thơng
qua việc vẽ lược đồ chi tiết.
• Đối với phân hệ dành cho người quản trị: Hỗ trợ việc cập nhật thơng tin về các
đối tượng trong hệ thống đĩ là con người, nhĩm người, và khả năng của họ
trong một tổ chức. Ngồi ra hệ thống cịn hỗ trợ việc cập nhật thơng qua các
URL và thơng qua việc tìm kiếm trên mạng tồn cầu.
Sau khi hồn tất được ứng dụng chúng em cịn nắm thêm được các kiến thức
về cơng nghệ : .NET, JavaScript, XSLT, SVG và quan trọng hơn cả là chúng em đã
nắm được khả năng lưu trữ ngữ nghĩa của ctài liệu RDF bằng cách dùng URI để mơ tả
các tài nguyên liên quan.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
202
9.2 Hướng phát triển
Luận văn đã được khép lại với những kết quả đạt được theo yêu cầu của đề tài
đưa ra. Tuy nhiên qua quá trình thực hiện đề tài chúng em nhận thấy vẫn cịn nhiều
vấn đề khác liên quan đến lĩnh vực này cần được quan tâm. Do vậy những vấn đề này
chúng em xem như hướng phát triển của đề tài để nghiên cứu tiếp sau này. Sau đây
chúng em xin trình bày những hướng phát triển của đề tài:
• Đối với phần lý thuyết: Chúng em cịn phải nghiên cứu sâu hơn về Semantic
Web, đặc biệt là một số tầng trong kiến trúc Semantic Web ( như tầng Logic
hay là Proof), từ đĩ mới cĩ thể mở rộng ứng dụng thơng qua việc xử lý ngơn
ngữ tự nhiên để đưa tính ngữ nghĩa (semantic) vào trong ứng dụng của mình.
• Đối với ứng dụng đã xây dựng : Vì dữ liệu của ứng dụng chỉ cĩ tính chất minh
họa nên để đạt được những kết quả mà cơng nghệ Semantic mang lại cần tổ
chức dữ liệu phong phú hơn, mở rộng phạm vi của tổ chức ra tồn thế giới.
• Phát triển ứng dụng thành một Semantic Search Engine hỗ trợ tìm kiếm đa
lĩnh vực, cũng như đa thơng tin
• Ứng dụng cũng cần cĩ một bộ từ điển từ đồng nghĩa phong phú và thơng minh
về các lĩnh vực mà ứng dụng hỗ trợ, để hỗ trợ tìm kiếm cĩ ngữ nghĩa tốt hơn.
Hy vọng những hướng phát triển này sẽ được thực hiện trong một tương lai
gần.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
203
TÀI LIỆU THAM KHẢO
????
Semantic Web:
[1] Luận văn cử nhân tin học 2003 -Đỗ Ngọc Toản- Đinh Hiếu Nghĩa
[2] RDF Resource Description Framework, URI:
[3] FOAF Vocabulary Specification - Namespace Document 2 Sept 2004 - FOAF
Galway Edition, URI:
[4] They Rule, URI:
[5] The Friend of a Friend (FOAF) project, URI:
[6] Foaf explorer, URI:
[7] Foafnaut, URI:
[8] Cascading Style Sheets (CSS), URI:
[9] OWL, Ontology Web Language, W3C Recommendation,Feb. 2004, URI:
[10] Berners-Lee, Tim (1998). Semantic Web Road map , URI:
[11] Berners-Lee, Tim (1999). Web Architecture from 50,000 feet, URI:
[12] Bray, Tim (1999). XML Namespaces by Example , URI:
[13] Berners-Lee, T. What the Semantic Web can
represent.URI:
[14] Berners-Lee, T., Hendler, J., and Lassila, O. The Semantic Web. Scientific
American, May 17 2001, 34-43.
[15] Bieber, M. and Kacmar, C. Designing hypertext support for computational
applications. Communications of the ACM.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
204
[16] Hendler, J., Berners-Lee, T., and Miller, E. Integrating Applications on the
Semantic Web, 2002, URI: .
[17] RDF/XML Syntax Specification (Revised), URI:
syntax-grammar\ ,W3C Recommendation, February 10, 2004
Dave Beckett, ed.
[18] RDF Vocabulary Description Language 1.0: RDF Schema, URI:
,W3C Recommendation, February 10, 2004
Dan Brickley, R.V. Guha, eds.
[19] RDF Primer, ,W3C Recommendation,
February 10, 2004 Frank Manola, Eric Miller, eds.
[20] Resource Description Framework (RDF): Concepts and Abstract Syntax, URI:
,W3C Recommendation, February 10,
2004 Graham Klyne, Jeremy Carroll, eds.
[21] RDF Semantics, URI: ,W3C Recommendation,
February 10,2004Patrick Hayes, ed.
[22] RDF Test Cases, ,W3C Recommendation,
February 10,2004 Jan Grant, Dave Beckett, eds.
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
205
[32]
[33]
.html
[34]
[35]
[36]
SVG:
[37] Scalable Vector Graphics (SVG), W3C RecommendationJan. 2003, URI:
[38]
XSLT:
[39]
DAML+OIL:
[40]
[41]
[42]
[43]
[44]
[45]
[46]
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
206
Dịch Vụ Web:
[47]
[48]
soaprdf/?loc=dwmai
[49]
[50]
8000523
[51]
(kostenlose Registrierung erforderlich)
[52]
[53]
[54]
[55]
[56]
[57]
[58]
us/dnglobspec/html/ws-routing.asp
[59]
[60]
[61]
[62]
karlsruhe.de/AIK/veranstaltungen/aik9/presentations/slides/wsmf-aifb.pdf
[63]
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
207
[64]
Hệ Thống Agent:
[65]
[66]
[67]
[68]
[69]
[70]
[71]
[72]
Truy Vấn Dữ Liệu RDF:
[73]
[74]
[75]
[76]
[77]
[78] rdfDB query language ->
[79] RQL by ICS-FORTH ->
a) The RQL User Manual ->
b) RQL: A Declarative Query Language for RDF*
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
208
c) Querying Community Web Portals*
[80] Sesame RQL by Aidministrator Nederland ->
(slightly deviates with original ICS-FORTH RQL)
a) Query Language Definition ->
b) Sesame: A generic Architecture for Storing and Querying RDF and RDF
Schema ->
c) Babysteps in Sesame RQL ->
babysteps.pdf
[81] RDF Squish query language and Java implementation ->
a) Inkling: RDF query using SquishQL ->
b) RDF: Extending and Querying RSS channels ->
c) “Three Implementations of SquishQL, a Simple RDF Query Language” ->
[82] RDQL in Jena toolkit ->
a) Matching RDF Graphs ->
uk.hpl.hp.com/people/jjc/tmp/matching.pdf
b) Jena: Implementing the RDF Model and Syntax Specification ->
uk.hpl.hp.com/people/bwm/papers/20001221-paper/
[83] TRIPLE
[84] TRIPLE-An RDF Query, Inference, and Transformation Language ->
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
209
[85] Intellidimension RDFQL Reference Manual (aka RDFGateway) ->
[86] RDFPath
a) “Transforming RDF with RDFPath”.
osnabrueck.de/QAT/Transform/RDFTransform.pdf
[87] Versa, the RDF query language ->
main.xslt
a) Versa Specification ->
ata/docbook_html1.xslt
b) Versa by Example ->
[88] DAML+OIL Query Language (DQL) Specification ->
[89] A RDF Query Language based on DAML ->
[90] KAON Tool Suite ->
[91] Cerebra: RDF Inference Engine ->
CIDOC/ABC:
[92]
[93]
Amaya/Annotea:
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
210
[94]
[95]
UML và RDF:
[96]
[97]
[98]
[99]
[100]
[101]
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
211
PHỤ LỤC A
CÁC ỨNG DỤNG VÀ DỰ ÁN VỀ Semantic Web
• RDF Gateway của Intellidimension - một bộ ứng dụng semantic web trên nền MS
Windows NT/2000/XP cho phép quản lý dữ liệu dạng RDF. Nĩ cũng được xem là
một application server, web server. Nĩ chứa một hệ CSDL RDF suy diễn.
• Catalogue 4.0 file explorer, Soft Experience. Một tiện ích trên Wins nhằm thu thập
metadata từ HTML, Adobe XMP, MS Office, Staroffice, Mac, PDF, JPEG/TIFF
images, và một số định dạng khác. Nĩ cũng cho phép phát sinh các báo cáo
HTML, XML, hay RDF. Ngồi ra, nĩ cĩ thể phát sinh RDF hay RDF dạng SVG.
• rdftp server viết bởi Vangelis Vassiliadis. Một PHP server dùng cho RDF, hỗ trợ
lưu trữ dữ liệu trên CSDL quan hệ, cho phép truy cập thơng qua truy vấn, và cập
nhật thao tác thơng qua HTTP. Xem online demo.
• RDF Gateway JDBC Driver (RDFJDBC) v0.9.5.1 viết bởi Intellidimension – là
một JDBC driver cho phép truy cập RDF Gateway từ Java.
• Semantic Web Server cung cấp bởi Empolis. Một server chạy trên nền J2EE, hỗ
trợ lưu trữ & truy vấn mơ hình RDF. Nĩ cũng cho phép thao tác trên Topic Maps
& RDF.
• Edutella - Một dự án dựa trên RDF, cung cấp một Cơ sở hạ tầng (infrastructure)
hỗ trợ backup, truy vấn, và phân tán cho các hệ thống JXTA peer-to-peer.
• RDFSuite chứa RDF Query Language (RQL) V1.0, RDF Schema Specific
DataBase (RSSDB) V1.0, và Validating RDF Parser (VRP) V2.0; được viết bởi
Vassilis Christophides và Greg Karvounarakis, Institute of Computer Science.
• Bitzi File Metadata RDF Dump cung cấp bởi Bitzi. Được xem là một nguồn dữ
liệu 200.000 files dạng RDF/XML và cho phép xem miễn phí.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
212
• Online RDF-to-XRDF converter tại University of Essen, được chính phủ Đức hỗ
trợ phát triển.
• Ngơn ngữ CIM/XML hỗ trợ mơ hình hệ thống cao cấp - Một ứng dụng RDF cĩ sử
dụng bộ cú pháp con của XML và RDF Schemas.
• CARA Perl RDF API viết bởi Stefan Kokkelink, University of Osnabrueck,
Germany - phần mềm miễn phí được phát triển trong dự án CARMEN.
• Xpetal tool cho phép chuyển từ UML sang RDF, viết bởi Arnold deVos - một
thành viên của dự án Xmodel. Xpetal tiếp nhận Rational Rose petal model files rồi
phát sinh RDF nếu các thuộc tính UML và các role liên quan là ánh xạ tương ứng
của các thuộc tính RDF.
• Squish – cho phép lập các truy vấn RDF phức tạp trên Java, viết bởi Libby Miller,
ILRT, University of Bristol, UK. Squish là một ngơn ngữ giống SQL, được dùng
để thực hiện các truy vấn trên RDF, được viết trên nền Java RDF API, cho phép
giao tiếp với CSDL SQL hay mơ hình bộ nhớ.
• Universal Learning Format (PDF version) - một tập module các định dạng
XML/RDF nhằm mơ tả các ‘nội dung học được trực tuyến’ trên các định dạng
khác.
• XOTcl RDF, University of Wien, Áo. Hỗ trợ RDF trên ngơn ngữ Extended Object
Tcl (XOTCL).
• Dự án Web Resource Application Framework (WRAF) – cho phép xây dựng các
ứng dụng - các ứng dụng này hồn tồn sử dụng mơ hình dữ liệu RDF để nhận biết
Semantic Web. WRAF được viết bằng ngơn ngữ Perl.
• MusicBrainz Metadata bởi CD Index, một ứng dụng Dublin Core metadata
(RDF/XML), hỗ trợ mơ tả nội dung đĩa CD như tên đĩa, nghệ sĩ, tên bài hát, …
• Leveraging UML in RDF bởi Sergey Melnik. Một bản phát thảo các ý tưởng nhằm
tạo ra một ‘UML tương thich RDF’ để biểu diễn mơ hình quan niệm UML bằng
RDF.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
213
• Ontology Interchange Language (OIL) Project - một dự án nhằm phát triển một
chuẩn cho phép nối các Ontology lại với nhau. Nĩ sử dụng các chuẩn Web như
RDF, RDF Schemas, XML and XML Schemas.
• RDFPic – một cơng cụ cho phép nhúng mơ tả RDF của một image vào chính nĩ
(ảnh kĩ thuật số).
• Zope Project hỗ trợ RDF, là một phần của dự án Mozilla.
• Non-Governmental Organizations Sector Support Program (NGOSS), Moscow,
Nga, dùng RDF để tổ chứa site.
• UK Mirror Service một dịch vụ quốc gia của vương quốc Anh, cho phép thu thập
và lập bản sao các phần mềm và các nguồn dữ liệu trên thế giới.
• The CERES Thesaurus Effort - CERES (California Environmental Resources
Evaluation System) và USGS Biological Resource Division, xây dựng bộ từ điển
từ đồng nghĩa kĩ thuật số.
• XWMF - An eXtensible Web Modeling Framework bởi Alexander Block và
Reinhold Klapsing, University of Essen, Đức. XWMF sử dụng một mơ hình
metadata để xác định nội dung và cấu trúc của một web site, và tạo các statements
về các thành phần của website bằng RDF. Bộ cơng cụ này cung cấp RDF parser
(cho phép xử lý và truy vấn các mơ hình dữ liệu RDF) và trình biên tập đồ họa
GraMToR (để tương tác với mơ hình RDF). Tất cả chúng đều được viết từ các
biến thể của ngơn ngữ Tcl và một số thư viện cần thiết khác.
• perl RDF parser / visualiser bởi Eric Prud'Hommeaux ở W3C, một RDF SAX
parser và một CSDL các triple được viết bằng Perl.
• RDF Query in Javascript demo bởi Dan Brickley, University of Bristol.
• Một prototype RDF Schema editor bởi Jonas Liljegren - một prototype đang được
nghiện cứu thực nghiệm, được viết bằng perl. Nĩ cho phép xem, chỉnh sửa, và
duyệt dữ liệu RDF.
• RDF parser (được viết bằng C) trong XML module tại thư viện của W3C Libwww.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
214
• Cooperative Online Resource Catalog (CORC). CORC là một dự án nhằm chia sẻ
metadata giữa các thư viện. Nĩ dùng RDF/XML, MARC, DC, và Z39.50.
• Dublin Core Metadata Initiative data model, dựa trên mơ hình dữ liệu RDF và DC.
• RDF Parser - một giao diện web cho SiRPAC parser, lưu tại UKOLN.
• RDF Browser tại website W3C. Người dùng chỉ cần gửi file RDF đến server, nĩ
sẽ xác nhận cú pháp file và hiển thị file bằng đồ họa.
• Linux Packages Metadata Mirroring Proposal của Daniel Veillard
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
215
PHỤ LỤC B
MỘT SỐ TOOL VÀ EDITOR
• Delphi/Kylix Open RDF kit bởi Dieter Kưhler. Một tập hợp các thành phần RDF
mã nguồn mở để thao tác trên các đồ thị RDF, phân tích cú pháp N-Triples &
RDF-aware controls nhằm hiển thị các triple.
• Fenfire Loom - Một trình duyệt RDF bằng đồ họa, được viết bằng Java bởi Benja
Fallenstein, một thành viên của Fenfire project.
• 3store persistent RDF knowledgebase bởi Steve Harris, AKT Project, University
of Southampton. Một cơ sở tri thức RDF hiệu quả (được viết bằng C), RDQL, và
giao diện OKBC. Một cơng cụ suy diễn nhằm phân loại subclass và subproperty,
một cơng cụ đánh giá độ phức tạp của câu query, và một cơng cụ thi hành nhanh
các truy vấn RDF. Nĩ dùng MySQL để lưu trữ và cung cấp một Apache module
interface.
• IsaViz Visual Authoring Tool for RDF bởi Emmanuel Pietriga (Xerox Research
Europe/W3C), thuộc dự án W3C Semantic Web Advanced Development (SWAD)
project. Một Java tool dựa trên RDF cĩ sẵn và các hệ thống trực quan nhằm cho
phép chỉnh sửa lược đồ RDF bằng cách vẽ & nhập/xuất RDF/XML, N3, và N-
Triples.
• Redland RDF Application Framework bởi Dave Beckett, Institute for Learning
and Research Technology, University of Bristol - một thư viện C, cung cấp một
giao diện RDF cao cấp nhằm tạo lược đồ RDF từ XML, lưu trữ, truy vấn, và thao
tác trên chúng. Redland bổ sung các khái niệm RDF vào các class của chúng thơng
qua API dựa trên đối tượng, rồi ánh xạ thành các ngơn ngữ API khác như Java,
Perl, PHP, Python, Ruby and Tcl.
• Raptor RDF Parser Toolkit – một thư viện các RDF parsers - RDF/XML và N-
Triples, được thiết kế để tích hợp với Redland.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
216
• ICS-FORTH Validating RDF Parser (VRP) - một RDF parser được viết bằng Java
bởi Alexaki Sophia và Karsten Tolle. VRP cho phép chứng thực các câu RDF dựa
trên RDF Schema và XML Schema Datatype, nĩ cịn hỗ trợ và quản lý bản cấu
trúc nháp về 2003-01-23 RDF/XML.
• Drive RDF Parser for C# bởi Rahul Singh hỗ trợ bản RDF/XML Syntax draft of
23 January 2003.
• Joseki RDF server bởi Andy Seaborne, HP Labs, Bristol. Một ứng dụng nhỏ của
bộ Jena RDF framework, nĩ cho phép server xuất (publish), cập nhật, và truy vấn
các mơ hình RDF trên web bằng cách dùng HTTP & RDQL.
• DR2 MAP, một ứng dụng Java cho phép xuất RDF từ các CSDL quan hệ, viết bởi
Chris Bizer. Nĩ dùng bất kì RDBMS nào cĩ hỗ trợ JDBC hay ODBC và cho phép
người dùng mơ tả sự ánh xạ này bằng ngơn ngữ dựa trên XML.
• RDF API for PHP bởi Chris Bizer. Một PHP package thuần túy nhằm thao tác trên
các mơ hình RDF và phân tích cú pháp RDF/XML.
• Ideagraph bởi Danny Ayers. Một cơng cụ trực quan, viết bằng Java, cho phép tạo
các ánh xạ về tri thức cá nhân (dùng RDF).
• RDF Model Browser bởi Dima Skvortsov. Một ứng dụng web (Servlets 2.2) cho
phép duyệt dữ liệu RDF bằng tree view.
• BrownSauce RDF browser bởi Damian Steer, HP Labs. Một ứng dụng hướng
server (servlet), cho phép duyệt dữ liệu RDF thơng qua giao diện web (HTML và
CSS).
• Python RDFLib bởi Dan Krech. Một thư viện RDF, cung cấp một API để thao tác
trên các lược đồ RDF, phân tích cú pháp RDF, và lưu trữ dữ liệu dạng triple.
• Semantic Markup, Ontology and RDF Editor (SMORE) bởi Aditya Kalyanpur,
MIND-SWAP group, University of Maryland, College Park, USA. Một cơng cụ
cho phép đánh dấu (markup) các tài liệu ở dạng RDF/XML bằng cách dùng các
Ontology và các thuật ngữ mà người dùng định nghĩa.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
217
• KArlsruhe ONtology and Semantic Web infrastructure (KAON) Một Java
semantic web infrastructure hướng đến các ứng dụng kinh doanh. Nĩ bao gồm các
cơng cụ để tạo Ontology, cho phép xây dựng các ứng dụng cĩ hỗ trợ các loại
CSDL hiện cĩ.
• Tucana KnowledgeStore (TKS) bởi Plugged In Software, Brisbane, Áo - Một
CSDL đồ họa, an tồn, phân tán, và khả mở, được tối ưu hĩa nhằm quản lý
metadata. Nĩ cĩ thể quản lý các RDF statements từ 40 triệu (32 bit) – 95 triệu
triples (64 bit).
• Inkling RDF query using SquishQL bởi Libby Miller, ILRT. Sử dụng ngơn ngữ
truy vấn RDF SquishQL, được thực hiện trên nền Java. Nĩ dùng JDBC API để
thao tác CSDL SQL
• RDF Editor (Rensselaer Polytechnic Institute) bởi Orr Bernstein, Mohit Oberoi và
John Punin. Một trình biên tập RDF trên nền Java Swing, cho phép tạo RDF/XML
hay N-Triples.
• TAP Software Kit bởi R.V. Guha và Rob McCool, TAP Project. Gồm các thư viện
được viết bằng Perl & Java, cũng như một TAPache server nhằm sử dụng và cung
cấp GetData Interface.
• FOAFBot: IRC Community Support Agent bởi Edd Dumbill. FOAFBot là một
IRC bot (agent) - cung cấp khả năng truy cập cơ sở tri thức (cơ sở tri thức này
được tạo bằng cách duyệt các FOAF file).
• FOAF-a-matic bởi Leigh Dodds. Một client JavaScript application cho phép tạo
mơ tả FOAF ("Friend-of-A-Friend") bằng RDF.
• RDQL query language for PHP bởi Garland Foster. Một RDQL engine nhằm truy
vấn RDF từ các nguồn dữ liệu khác nhau từ các file trên web, …
• SMORE: Semantic Markup, Ontology and RDF Editor bởi Aditya Kalyanpur,
MIND-SWAP group, ĐH Maryland. Một cơng cụ Java, cho phép đánh dấu
(markup) các trang web hay text ở dạng RDF bằng cách dùng các Ontology & các
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
218
thuật ngữ người dùng. Nĩ cũng chứa một HTML editor and previewer, một
ontology browser và một semantic data tree viewer.
• EEP3 Python Semantic Web API của Sean B. Palmer. Một API (viết bằng python),
chứa một hệ thống truy vấn, lưu trữ, phân tích triple; một hệ suy diễn CWMclone;
một N3 pre-processor; một IRC bot (agent); một Notation3 parser; và một rdfdiff
program.
• RDF Web Scraper của Aditya Kalyanpur, ĐH Maryland, cho phép ánh xạ thành
RDF markup. Xem bản demo và Zip Download.
• Versa RDF query language bởi Mike Olson và Uche Ogbuji, Fourthought. Một
ngơn ngữ truy vấn dựa trên lược đồ RDF.
• TRIPLE RDF-based logic programming language bởi Stefan Decker và Michael
Sintek. Một hệ thống chuyển đổi, suy diễn, và truy vấn RDF. Nĩ cho phép định
nghĩa, sử dụng, và phân loại các ngơn ngữ semantic web như RDFS, DAML+OIL,
UML, Topic Maps.
• Wilbur RDF Toolkit dùng cho RDF và DAML (và XML) bởi Agent Technology
group, Nokia Research Center.
• Profium SIR extractor demonstration: automated metadata extraction. Cĩ thể rút
trích RDF từ các định dạng như Adobe XMP documents, Microsoft Word, Excel,
PowerPoint.
• OntoEdit 2.0 ontology editor bởi ontoprise. Một mơi trường phát triển cho các mơ
hình tri thức, quản lý các khái niệm và mối liên hệ, xuất/nhập RDF, hỗ trợ xây
dựng trên DAML+OIL, và hỗ trợ đa nhãn (label).
• RDFAuthor: a graphical RDF instance data authoring tool dùng cho Mac OSX,
bởi Damian Steer. Với mong muốn tạo ra RDF một cách dễ dàng, và cho phép
xuất dữ liệu dạng SVG. Nĩ được viết bằng Java, cĩ dùng Jena.
• RDFStore RDQL Demonstration bởi Alberto Reggiori.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
219
• SWIPT: An RDF Parser/Tool in Python bởi Sean B. Palmer. Một cơng cụ sử dụng
các chương trình Python nhằm đọc/ghi các cú pháp để tạo RDF graphs.
• Blindfold Semantic Web Toolkit V0.1.1 bởi Sandro Hawke - Một bộ cơng cụ,
chứa một hệ thống ngữ pháp nhằm đọc/ghi hầu hết các định dạng và ngơn ngữ như
thể chúng là RDF/XML.
• RDF Data Query Language (RDQL), bởi Andy Seaborne, HP Labs. Một ngơn ngữ
truy vấn RDF giống SQL, sử dụng hệ thống RDF Java của Jena.
• RDFStore Perl API for RDF Storage bởi Alberto Reggiori. Một package nhằm
quản lý các CSDL dạng RDF. Xem demo và work tại perl rdf api.
• FRODO RDFSViz của Michael Sintek, FRODO team, Đức - Một dịch vụ trực
quan dùng RDF Schemas để hiển thị class, sub-class, và property relationships.
• DAML Validator bởi Dave Rager, kiểm tra cú pháp & lỗi ngữ nghĩa của DAML
markup.
• Redfoot framework for for building distributed data-driven web applications with
RDF and Python bởi James Tauber và Dan Krech. Cung cấp một CSDL RDF, API
truy vấn, ngơn ngữ mẫu, kiến trúc module, editor thơng qua giao diện web.
• W3C RDF Validation Service bởi Art Barstow, W3C/HP - Một dịch vụ cho phép
phân tích cú pháp RDF/XML, tạo các image của các RDF graphs, và hiển thị kết
quả ở dạng triples.
• HyperDAML DAML or RDF/XML schemas to HTML viewer bởi Mike Dean.
• ARP: Another RDF Parser bởi Jeremy Carroll, HP Labs - Một trình phân tích cú
pháp RDF/XML, được thiết kế để tích hợp với Jena.
• Euler proof mechanism / RDF logic demonstrator, bởi Jos De Roo, AGFA. Một hệ
thống java cho phép phát sinh một proof đối với một câu hỏi về các facts & rules.
• Ontomat DAML annotation tool bởi Siegfried Handschuh.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
220
• Extensible Open RDF Toolkit (EOR) bởi OCLC Office of Research và The
Dublin Core Metadata Initiative - Một hệ thống tìm kiếm và quản lý metadata
RDF được viết bằng Java.
Fydra - Decentralised and reliable resource discovery using RDF metadata bởi
Johan Nagels, CoWorks - Một Java servlet, ‘crawl’ web, rồi lưu file metadata kết quả
ở dạng RDF.
RDFedt - RDF Editor dùng cho Windows bởi Jan Winkler. Một trình biên tập
các RDF/XML graphs; quản lý namespaces, schemas, và terms.
XSB tabled logic programming and deductive database system dùng cho Unix
và Windows, version 2.3 cung cấp một libwww-based RDF parser để thêm các RDF
statements.
Representing vCard Objects in RDF/XML, Renato Iannella, IPR Systems.
RDF-Crawler Java-based tool/API, cho phép downloads các phân đoạn
(fragment) của RDF từ Internet, rồi xây dựng một knowledgebase dựa trên đĩ.
Uniform Web Index Maker Program (UWIMP) bởi Sean B. Palmer - Một cơng
cụ đơn giản nhằm thêm RDF vào các file XHTML.
XSLT RDF Extractor for XHTML Files bởi Sean B. Palmer - Một cơng cụ
chuyển XHTML thành RDF (sử dụng XSLT), cho phép lấy dữ liệu RDF từ các trang
XHTML.
XSLT RDF Parser bởi Jason Diamond. Hỗ trợ containers, rdf:value, và
rdf:parseType.
RDF Parsers (Perl and Java) bởi Profium. Theo kiểu Stanford Java API for RDF
(Sergey Melnik).
SVG Linearizer tools - Một cơng cụ nhằm chuyển SVG thành text (bằng java).
RDFDB: An RDF Database bởi R.V. Guha. Một hệ thống cho phép phân tích cú
pháp XML, lưu trữ, lập mơ hình. Nĩ cung cấp một ngơn ngữ truy vấn và một giao
diện server.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
221
Dublin Core Extraction Service, Dan Connolly - Một dịch vụ web, sử dụng
XSLT và dữ liệu XML để tạo RDF.
Rudolf: RDFViz - Exploring tools for RDF Graph Visualisation, Dan Brickley.
Một giao diện web nhằm phát sinh một cách trực quan RDF từ bitmap images, VRML,
và SVG. Nĩ dùng bộ cơng cụ AT&T GraphViz.
DC-Dot Một trình biên tập của Dublin Core, cĩ thể xuất dữ liệu ở dạng RDF và
HTML.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
222
PHỤ LỤC C
CÁC SEMANTIC SEARCH ENGINE HIỆN CĨ
ABS (Activity Based Search) tại ĐH Stanford
Search Engine này áp dụng cơng nghệ Semantic Web để thêm các kết quả
Semantic vào kết quả của Search Engine truyền thống (cụ thể là Google).
Mục đích của Search Engine này là hiểu được việc: các sự kiện khác nhau
của cùng một chuỗi cĩ thể cĩ những ý nghĩa khác nhau. Nĩ phải lọc, sắp xếp, và hiển
thị kết quả tương ứng với ý nghĩa được chọn. Hiện nay, Search Engine này chỉ tập
trung vào lĩnh vực con người.
Nguồn dữ liệu rất quan trọng của ABS là Tap Knowledge Base (TAP KB) –
dù cịn nơng (chưa chuyên sâu), nhưng cũng đã bao hàm được nhiều lĩnh vực như con
người (nhạc sĩ, ca sĩ, vận động viên thể thao, diễn viên, nhà chính trị), các tổ chức
(cơng ty, nhĩm nhạc, đội thể thao), nơi chốn (thành phố, bang, quốc gia), và các sản
phẩm. Đối với mỗi tài nguyên, hệ thống sẽ cung cấp một rdf:type và rdfs:label cho
các object. Tap Knowledge Base cung cấp cho ABS khoảng 65.000 ‘con người’,’ tổ
chức’, ‘nơi chốn’.
Ví dụ, tìm kiếm Yo-Yo Ma, ngồi kết quả từ Search Engine truyền thống, hệ
thống cịn cung cấp các thơng tin về album, hình ảnh,lịch biểu diễn, … của ơng ta.
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
223
Hình 25. Minh họa ABS
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
224
Kết quả bên trái lấy từ Google. Các bảng thơng tin bên phải (nếu cĩ) cĩ từ
Semantic Web, chúng được tìm ra dựa vào ngữ nghĩa (denotation) của các thuật ngữ
tìm kiếm (search term). Các denotation được hỗ trợ bởi TAP KB.
Cĩ thể xem chi tiết và sử dụng Search Engine này tại
&
SPICE
SPICE là một cơng cụ dựa trên web, nĩ được xây dựng dực trên một số bộ
cơng cụ (Protégé, OntoJava, Jakarta Tomcat Apache Server) để cung cấp khả năng
tìm kiếm cho LSDIS Library website.
Protégé được dùng để xây dựng knowledge base.
OntoJava là một trình biên dịch, nĩ tự động ánh xạ các RDF fact, bộ RDFS
Ontology, các rule, và các RuleML vào một CSDL bộ nhớ chính (viết bằng Java).
Hình 26. Nguyên tắc hoạt động của SPICE
Tomcat hỗ trợ Java Servlet và kĩ thuật JSP.
Kiến trúc hệ thống:
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
225
Hình 27. Kiến trúc của SPICE
Giao diện:
Hình 28. Giao diện của SPICE
Một số vấn để cịn tồn tại:
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
226
• Khơng hỗ trợ namespace.
• Khơng hỗ trợ đa thừa kế
• SPICE chỉ được cấu trúc để làm việc với các trang web của LSDIS
Library.
Hiện chưa cĩ thơng tin URL của SSE này.
Mơ hình SSE của Madhan R Arumugam
Input: các keyword (thường là các danh từ), output: các Ontology thích hợp.
Nguyên tắc hoạt đơng:
• Lấy mỗi keyword rồi tìm chúng trong các subject, object, predicate
của Ontology space.
• Lấy tên các Ontology thỏa điều kiện trên và các thơng tin chi tiết.
• Nếu mỗi keyword cho kết quả là một tập hợp gồm nhiều Otology, thì
phải xác định tập Ontology tối thiểu. Điều này nhằm loại bỏ các
Ontology khơng cùng ngữ cảnh với tập các từ khĩa.
Vì dụ người dùng yêu cầu:
“Find all earthquakes with epicenter in a 5000 mile radius of the location at
latitude 60.790 North and longitude 97.570 East and find all tsunamis that
they might have caused.”
Kết quả khi chưa kiểm tra ngữ cảnh:
Keyword Ontologies
Earthquake earthquake.daml, damage.daml
latitude, longitude, location location.daml, weather.daml, earthquake.daml
Epicenter, radius earthquake.daml, circle.daml
Tsunami tsunami.daml
Kết quả sau khi kiểm tra ngữ cảnh:
Keyword Ontologies
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
227
Earthquake earthquake.daml
latitude, longitude, location location.daml, earthquake.daml
Epicenter, radius earthquake.daml
Tsunami tsunami.daml
Hình 29. Giao diện SSE của Madhan R Arumugam
Hiện chưa cĩ thơng tin URL của SSE này.
i-Toolbox
Cho phép gắn SSE vào ứng dụng.
Đặc điểm: tự động lấy nghĩa của các từ T.Anh, T.Pháp; xử lý ngơn ngữ tự
nhiên; tự động lọc kết quả tìm kiếm; tăng phạm vi truy vấn; tự động phát sinh các link
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
228
‘see also’; cĩ từ điển semantic 400.000 từ; cho phép thêm ngơn ngữ mới, thêm lĩnh
vực (domain) mới.
Ưu điểm: truy cập thơng tin chính xác, đơn giản; được tổ chức sao cho truy
cập được nhiều thơng tin nhất, với bất kì ngơn ngữ và định dạng nào.
Chi tiết kĩ thuật: kiến trúc client-server; CGI-BIN, ASP, ISAPI, DBI (perl),
PHP, ODBC, Delphi, Lotus Domino, C++, C, JDBC interfaces; nguồn tài liệu đa
dạng: XML, SGML, Word, HTML, PDF, www, ODBC sources (Access, Oracle,
Sybase, SQL Server, My Sql, PostGreSQL…); mơi trường Server: NT, Windows
2000, Sun, Linux, FreeBSD.
Xem thêm thơng tin tại
Các file đính kèm theo tài liệu này:
- CNTT1035.pdf