mỘt phƯƠng phÁp chuyỂn ĐỔi mÔ hÌnh...
TRANSCRIPT
MỘT PHƯƠNG PHÁP CHUYỂN ĐỔI MÔ HÌNH TimeER SANG
OWL ONTOLOGY
Nguyễn Văn Toán, Võ Hoàng Liên Minh, Hoàng Quang
Trường Đại học Khoa học, Đại học Huế
77 Nguyễn Huệ, TP. Huế
[email protected], [email protected], [email protected]
Tóm tắt: Việc thiết kế ontology từ mô hình thực thể - mối quan hệ (mô hình ER) là một
trong những cách tiếp cận đã và đang được quan tâm giải quyết. Bài báo đề xuất một
phương pháp chuyển đổi mô hình TimeER sang OWL ontology bằng cách chuyển đổi các
thành phần trên mô hình TimeER thành các thành phần trong ontology được biểu diễn bằng
OWL 2 trên cơ sở cải tiến các phương pháp chuyển đổi mô hình ER sang OWL ontology
trước đây và bổ sung thêm các quy tắc chuyển đổi các thành phần liên quan đến yếu tố thời
gian của mô hình TimeER.
Từ khóa: Web ngữ nghĩa, OWL ontology, TimeER, chuyển đổi mô hình
1 Giới thiệu
Trong những năm gần đây, ontology đã trở thành một thuật ngữ được biết đến nhiều
trong lĩnh vực khoa học máy tính và có ý nghĩa khác xa so với nghĩa ban đầu của nó. Ontology
được xem như là “linh hồn” của web ngữ nghĩa. Chúng giúp con người và máy có thể hợp tác,
cùng làm việc, giúp máy có thể “hiểu” và có khả năng xử lý thông tin hiệu quả [3].
Đích hướng đến của W3C là đưa web hiện tại thành web ngữ nghĩa. Có nhiều cách tiếp
cận trong việc thiết kế ontology cho web ngữ nghĩa. Thiết kế ontology bằng cách chuyển đổi mô
hình thực thể - mối quan hệ sang OWL ontology là cách tiếp cận đã có nhiều nghiên cứu [2, 5, 8,
13]. Kết quả của các chuyển đổi này được biểu diễn dưới dạng OWL 1, một ngôn ngữ chưa hỗ
trợ ràng buộc về khóa như trên mô hình ER nên kết quả của chuyển đổi chưa thỏa mãn ràng
buộc về khóa như ở mô hình ER.
Mô hình TimeER là một mô hình ER có hỗ trợ yếu tố thời gian. So với các mô hình ER có
hỗ trợ yếu tố thời gian khác thì mô hình TimeER hỗ trợ yếu tố thời gian đầy đủ nhất [6]. Hiện
tại, chưa có nghiên cứu nào về việc chuyển mô hình TimeER sang OWL ontology, mặc dù nó
được xem là việc mở rộng của việc chuyển đổi mô hình ER sang OWL ontology nhằm cho phép
thiết kế các OWL ontology có yếu tố thời gian.
Trong bài báo này, chúng tôi đề xuất một phương pháp chuyển đổi mô hình TimeER
sang OWL ontology và kết quả này cho phép bảo toàn các thông tin của mô hình ER, bao gồm
các tập thực thể với ràng buộc khóa, các thuộc tính và các mối quan hệ. Ngoài ra, phương pháp
chuyển đổi còn biểu diễn được các yếu tố thời gian của mô hình TimeER trên OWL ontology.
Theo đó, cấu trúc của bài báo ở những phần tiếp theo như sau: Mục 2 sẽ giới thiệu về mô hình
TimeER và OWL ontology. Tiếp theo, Mục 3 sẽ trình bày phương pháp chuyển đổi mô hình
EER sang OWL ontology đã có, đồng thời bổ sung các quy tắc thêm ràng buộc khóa để OWL
ontology kết quả đảm bảo ràng buộc khóa. Tiếp nữa, Mục 4 sẽ đề xuất một phương pháp
chuyển đổi mô mình TimeER sang OWL ontology. Phương pháp này kế thừa phương pháp
chuyển đổi ở Mục 3 và đồng thời bổ sung thêm các quy tắc để chuyển đổi các thành phần có
yếu tố thời gian trong mô hình TimeER sang OWL ontology. Cuối cùng, trong Mục 5, các kết
luận và các thảo luận về hướng nghiên cứu tiếp theo được đưa ra.
2 Giới thiệu về mô hình TimeER và OWL ontology
2.1 Giới thiệu mô hình TimeER
Mô hình TimeER được xem là một mở rộng của mô hình EER (Extended ER) bằng cách
hỗ trợ các yếu tố thời gian [6]. Mô hình này cho phép hỗ trợ các loại thời gian sau: thời gian
sống (thời gian mà một thực thể tồn tại trong thực tế), thời gian hợp lệ (thời gian mà một sự
kiện được xem là đúng trong thực tế), và thời gian giao tác (thời gian mà một thực thể/sự kiện
là hiện thời trong cơ sở dữ liệu).
Mô hình này quy ước rằng, đối với các thực thể, hệ thống chỉ có thể hỗ trợ thời gian sống
(Life Span, ký hiệu là LS), hoặc thời gian giao tác (Transaction Time, ký hiệu là TT), hoặc cả hai
loại thời gian này (ký hiệu là LT). Còn đối với các thuộc tính, hệ thống chỉ cho phép hỗ trợ thời
gian hợp lệ (Valid Time, ký hiệu là VT), hoặc thời gian giao tác (TT) hoặc cả hai loại thời gian
này (BiTemporal, ký hiệu là BT). Ngoài ra, do một mối quan hệ có thể xem là một kiểu thực thể
hoặc một thuộc tính, nhờ vậy mà người thiết kế có thể xác định các yếu tố thời gian hỗ trợ cho
mối quan hệ đó nếu cần.
2.2 Giới thiệu OWL ontology
OWL (Web Ontology Language) là ngôn ngữ mô tả các lớp, các thuộc tính và các quan hệ
giữa các đối tượng này theo cách mà máy có thể hiểu được nội dung web [3]. OWL chủ yếu mô
tả các lớp (class) và các thuộc tính (property). Lớp mô tả cấu trúc của khái niệm, tương tự như
tập thực thể trong mô hình ER. Có hai loại thuộc tính: thuộc tính dữ liệu (datatype property) và
thuộc tính đối tượng (object property). Thuộc tính được sử dụng để mô tả về lớp được gọi là
thuộc tính dữ liệu. Các thuộc tính này tương tự như các thuộc tính trong mô hình ER. Thuộc
tính để liên kết các lớp với nhau được gọi là thuộc tính đối tượng. Các thuộc tính này tương tự
các mối quan hệ (nhị nguyên, phản xạ) trong mô hình ER. OWL cũng có mối quan hệ kế thừa.
Ngoài ra, OWL cũng hỗ trợ biểu diễn một số các ràng buộc.
OWL 1 được phân thành ba chủng loại với khả năng biểu diễn ngữ nghĩa tăng dần và
khả năng quyết định giảm dần: OWL Lite, OWL DL, OWL Full. Trong đó, OWL DL được xây
dựng trên nền tảng logic mô tả, có khả năng biểu diễn tốt hơn OWL Lite nhưng vẫn bảo đảm
khả năng quyết định [3]. Tuy nhiên, khả năng biểu diễn của OWL DL vẫn còn hạn chế. OWL 2
được xem là một mở rộng của OWL DL bằng cách thêm vào các cú pháp biểu diễn mà vẫn
không làm mất khả năng quyết định [7]. Đặc biệt, OWL 2 có khả năng biểu diễn khóa của lớp
tương tự như khóa của tập thực thể trong mô hình ER.
OWL chỉ hỗ trợ các mối quan hệ nhị phân. Tuy nhiên, trong thực tế vẫn tồn tại các mối
quan hệ có số thành phần tham gia lớn hơn hai. Để biểu diễn các mối quan hệ loại này bằng
OWL, chúng ta có thể phân tách chúng thành các mối quan hệ nhị nguyên.
Trong phần tiếp theo, chúng tôi sẽ trình bày phương pháp chuyển đổi mô hình EER sang
OWL ontology đã có đồng thời thêm các quy tắc ràng buộc về khóa để ontology thu được đảm
bảo được các ràng buộc này như trong mô hình EER.
3 Chuyển đổi mô hình EER sang OWL ontology
Trong phần này, chúng tôi trình bày các quy tắc chuyển đổi mô hình EER sang OWL
ontology. Trong các quy tắc chuyển đổi này, một thành phần trên mô hình EER sẽ được chuyển
đổi thành các thành phần tương ứng trong OWL sao cho các thành phần này phải biểu diễn
được dữ liệu và các ràng buộc trên mô hình EER. Điều này đảm bảo rằng OWL ontology thu
được biểu diễn được dữ liệu và các ràng buộc trên mô hình EER ban đầu.
Phần này sẽ lần lượt trình bày các quy tắc chuyển đổi các thành phần trong mô hình EER:
tập thực thể mạnh và các thành phần hướng đối tượng, thuộc tính của tập thực thể, tập thực thể
yếu, mối quan hệ nhị nguyên, mối quan hệ phản xạ và mối quan hệ đa nguyên.
3.1 Chuyển đổi tập thực thể mạnh và các thành phần hướng đối tượng
3.1.1 Chuyển đổi tập thực thể mạnh
Quy tắc EER1: Mỗi tập thực thể mạnh, tạo thêm một lớp tương ứng trong OWL có định
danh là tên của tập thực thể đó [13]. Hình 1 minh họa cho Quy tắc EER1.
<owl:Class rdf:ID=”EMPLOYEE”/>
Hình 1. Chuyển đổi tập thực thể
3.1.2 Chuyển đổi mối quan hệ kế thừa không kế thừa từ một tổng quát hợp nhất
Quy tắc EER2: Với mỗi mối quan hệ kế thừa không kế thừa từ một tổng quát hợp nhất,
bổ sung ràng buộc lớp con (kế thừa) cho lớp tương ứng của tập thực thể lớp con có lớp cha là
lớp tương ứng với tập thực thể lớp cha [13]. Hình 2 minh họa cho Quy tắc EER2.
<owl:Class rdf:Id=” ENGINEER”>
<rdfs:subClassOf rdf:resource=”#EMPLOYEE”
</owl:Class>
Hình 2. Chuyển đổi mối quan hệ kế thừa không kế thừa từ một tổng quát hợp nhất
3.1.3 Chuyển đổi phân lớp không giao
EMPLOYEE EMPLOYEE
EMPLOYEE
ENGINEER
Quy tắc EER3: Với mỗi tập thực thể lớp con của một phân lớp không giao, bổ sung vào
lớp tương ứng các ràng buộc không giao nhau với các lớp tương ứng với các tập thực thể lớp
con khác cùng kế thừa vào phân lớp không giao đó [13]. Hình 3 minh họa cho Quy tắc EER3.
<owl:Class rdf:Id=” ENGINEER”>
<rdfs:subClassOf rdf:resource=”#EMPLOYEE” />
<owl:complementOf rdf:resource=”#SECRETARY”/>
</owl:Class>
Hình 3. Chuyển đổi phân lớp không giao
3.1.4 Chuyển đổi phân lớp chồng chéo
Quy tắc EER4: Với mỗi phân lớp chồng chéo, bổ sung ràng buộc hợp các lớp tương ứng
với các tập thực thể khác cùng kế thừa vào một phân lớp chồng chéo [5]. Hình 4 minh họa cho
Quy tắc EER4.
<owl:Class rdf:Id=”PERSON”>
<owl:unionOf rdf:parseType=”Collection”
<owl:Class rdf:about=”#STUDENT” />
<owl:Class rdf:about=”#ALUMNUS” />
</ owl:unionOf >
</owl:Class>
Hình 4. Chuyển đổi phân lớp chồng chéo
3.1.5 Chuyển đổi tổng quát hợp nhất
Quy tắc EER5: Với mỗi tập thực thể là con của một tổng quát hợp nhất, bổ sung ràng
buộc hợp cho lớp tương ứng với tập thực thể đó [5]. Các lớp trong ràng buộc là các lớp tương
ứng với các tập thực thể trong tổng quát hợp nhất đó. Hình 5 minh họa cho quy tắc EER5.
<owl:Class rdf:Id=”VEHICLE”>
<owl:unionOf rdf:parseType=”Collection”
<owl:Class rdf:about=”#CAR” />
<owl:Class rdf:about=”#TRUCK” />
</ owl:unionOf >
</owl:Class>
Hình 5. Chuyển đổi tổng quát hợp nhất
EMPLOYEE
ENGINEER SECRETARY
d
PERSON
STUDENT ALUMNUS
o
VEHICLE
CAR TRUCK
U
3.2 Chuyển đổi thuộc tính
Nếu mô hình EER tồn tại thuộc tính phức hợp và đơn trị thì ta biểu diễn thuộc tính này
bằng các thuộc tính đơn và đơn trị của nó. Hình 6 minh họa việc biểu diễn thuộc tính phức hợp
và đơn trị bằng các thuộc tính đơn và đơn trị.
Ta có thể xem thuộc tính phức hợp và đa trị lồng nhau của một tập thực thể như là tập
thực thể yếu của tập thực thể đó nên cách chuyển đổi thuộc tính này giống như cách chuyển đổi
tập thực thể yếu như ở Mục 3.3.
Quy tắc EER6: Với mỗi thuộc tính A của tập thực thể E, tạo thêm một thuộc tính dữ liệu
với định danh là A có phạm vi là kiểu dữ liệu tương ứng trong OWL và miền là lớp E [13]. Hình
7 minh họa cho Quy tắc EER6.
Hình 7. Chuyển đổi thuộc tính của tập thực thể
Quy tắc EER7: Với mỗi thuộc tính A là thuộc tính đơn trị thì ta thiết lập tính chất hàm
cho thuộc tính dữ liệu A [13].
Hình 6. Biểu diễn thuộc tính phức hợp và đơn trị bằng các thuộc tính đơn và đơn trị
<owl:DatatypeProperty rdf:about="#EmployeeID">
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain>
<owl:Restriction>
<owl:onProperty rdf:resource="#EmployeeID"/>
<owl:minQualifiedCardinality
rdf:datatype="&xsd;nonNegativeInteger">1
</owl:minQualifiedCardinality>
<owl:onDataRange rdf:resource="&xsd;string"/>
</owl:Restriction>
</rdfs:domain>
</owl:DatatypeProperty>
Hình 8. Thiết lập tính chất hàm và ràng buộc số lượng cực tiểu cho thuộc tính
EMPLOYEE
EmployeeID
EMPLOYEE
EFirstName ELastName
EMPLOYEE
EName
EFirstName ELastName
xsd:string EMPLOYEE
E
EmployeeID
EMPLOYEE
EmployeeID
Quy tắc EER8: Với mỗi thuộc tính A không cho phép null thì ta thiết lập ràng buộc số
lượng cực tiểu của thuộc tính dữ liệu A là 1 [5]. Hình 8 minh họa cho Quy tắc EER7 và EER8.
Quy tắc EER9: Với mỗi thuộc tính A là thuộc tính khóa của tập thực thể E thì ta bổ sung
thuộc tính dữ liệu A vào tập thuộc tính khóa của lớp E. Hình 9 minh họa cho Quy tắc EER9.
<owl:Class rdf:about="#EMPLOYEE">
<owl:hasKey rdf:parseType="Collection">
<rdf:Description rdf:about="#EmployeeID"/>
</owl:hasKey>
</owl:Class>
Hình 9. Bổ sung thuộc tính vào tập thuộc tính khóa của lớp
3.3 Chuyển đổi tập thực thể yếu
Quy tắc EER10: Với mỗi tập thực thể yếu W của tập thực thể E, tạo thêm lớp có định
danh là W đồng thời tạo thêm hai thuộc tính đối tượng ngược nhau thể hiện quan hệ giữa lớp E
và lớp W có định danh, miền, phạm vi như Bảng 1. Với mỗi giá trị bản số min/max khác 0 và
khác n () trên mối quan hệ định danh, thêm ràng buộc số lượng cực tiểu/cực đại tương ứng
vào thuộc tính đối tượng vừa thêm có miền là lớp tương ứng với tập thực thể có cặp bản số đó.
Bảng 1. Các thuộc tính thêm vào khi chuyển
đổi tập thực thể yếu
Bảng 2. Các thuộc tính thêm vào khi chuyển
mối quan hệ nhị nguyên không có thuộc tính
Định danh Miền Phạm vi
EhasW E W
WOfE W E
Định danh Miền Phạm vi
ARB A B
BRA B A
Lưu ý: Nếu tập thực thể W là tập thực thể yếu của nhiều tập thực thể chủ thì ứng với mỗi
tập thực thể chủ ta thêm hai thuộc tính đối tượng ngược nhau thể hiện quan hệ giữa lớp W và
lớp tương ứng với tập thực thể chủ đó như trên.
Hình 10. Chuyển đổi tập thực thể yếu
EMPLOYEE
DEPENDENT
Dep_of
Name Relationship
EMPLOYEE
DEPENDENT xsd:string
xsd:string
Name
Relationship
:Thuộc tính khóa của lớp DEPENDENT
EMPLOYEE
EmployeeID
Các thuộc tính của tập thực thể yếu cũng được chuyển đổi thành các thuộc tính dữ liệu
của lớp tương ứng và được thực hiện tương tự như việc chuyển đổi các thuộc tính của tập thực
thể mạnh.
Quy tắc EER11: Với mỗi thuộc tính khóa bộ phận của tập thực thể W, bổ sung thuộc tính
dữ liệu tương ứng vào tập các thuộc tính khóa của lớp W.
Quy tắc EER12: Với mỗi thuộc tính đối tượng được sinh ra từ quy tắc EER10 có miền là
lớp W, bổ sung thuộc tính này vào tập thuộc tính khóa của lớp W.
Hình 10 minh họa cho các Quy tắc EER10, EER11 và EER12.
3.4 Chuyển đổi mối quan hệ
3.4.1 Chuyển đổi mối quan hệ nhị nguyên không có thuộc tính
Quy tắc EER13: Với mỗi mối quan hệ nhị nguyên R không có thuộc tính giữa hai tập thực
thể A, B, tạo thêm hai thuộc tính đối tượng ngược nhau thể hiện quan hệ giữa lớp A và lớp B
[13] có định danh, miền và phạm vi như Bảng 2. Với mỗi giá trị bản số min/max khác 0 và khác
n trên mối quan hệ R, thêm ràng buộc số lượng cực tiểu/cực đại tương ứng vào thuộc tính đối
tượng vừa thêm có miền là lớp tương ứng với tập thực thể có cặp bản số đó. Hình 11 minh họa
cho Quy tắc EER13.
Hình 11. Chuyển đổi mối quan hệ nhị nguyên không có thuộc tính
3.4.2 Chuyển đổi mối quan hệ nhị nguyên có thuộc tính
Bảng 3. Các thuộc tính thêm vào khi chuyển mối quan hệ nhị nguyên có thuộc tính
Định danh Miền Phạm vi
AHasR A R
ROfA R A
BHasR B R
ROfB R B
EMPLOYEE
DEPARTMENT
Work_for
EMPLOYEE
DEPARTMENT
Hình 12. Chuyển đổi mối quan hệ nhị nguyên có thuộc tính
Quy tắc EER14: Với mỗi mối quan hệ nhị nguyên R có thuộc tính giữa hai tập thực thể A,
B, tạo thêm một lớp có định danh là R, tạo thêm hai thuộc tính đối tượng ngược nhau: AHasR,
ROfA thể hiện quan hệ giữa lớp R và lớp A như Bảng 3, tạo thêm hai thuộc tính đối tượng
ngược nhau BHasR, ROfB thể hiện quan hệ giữa lớp R và lớp B như Bảng 3. Các thuộc tính của
mối quan hệ R được chuyển thành các thuộc tính dữ liệu của lớp R [13]. Thêm tính chất hàm và
ràng buộc cực tiểu là 1 vào hai thuộc tính: ROfA, ROfB. Với mỗi giá trị bản số min/max khác 0
và khác n trên mối quan hệ R thuộc tập thực thể A, thêm ràng buộc số lượng cực tiểu/cực đại
tương ứng vào thuộc tính đối tượng AHasR. Với mỗi giá trị bản số min/max khác 0 và khác n
trên mối quan hệ R thuộc tập thực thể B, thêm ràng buộc số lượng cực tiểu/cực đại tương ứng
vào thuộc tính đối tượng BHasR. Nếu mối quan hệ nhị nguyên R là mối quan hệ n-n thì bổ sung
hai thuộc tính đối tượng ROfA, ROfB vào tập thuộc tính khóa của lớp R. Hình 12 minh họa cho
Quy tắc EER14.
3.4.3 Mối quan hệ phản xạ
Việc chuyển đổi mối quan hệ phản xạ được thực hiện tương tự như việc chuyển đổi mối
quan hệ nhị nguyên.
Lưu ý: Sử dụng tên vai trò của mối quan hệ đặt định danh cho thuộc tính đối tượng để
phân biệt hai thuộc tính ngược nhau thể hiện quan hệ của lớp mới được tạo ra với chính nó.
3.4.4 Mối quan hệ đa nguyên
Việc chuyển đổi mối quan hệ đa nguyên R giữa các tập thực thể Ei cũng được thực hiện
tương tự như mối quan hệ nhị nguyên có thuộc tính bằng cách tạo thêm một lớp có định danh
là R và các cặp thuộc tính đối tượng ngược nhau thể hiện quan hệ giữa lớp R và các lớp Ei cùng
các ràng buộc số lượng cực đại, cực tiểu. Đồng thời, các thuộc tính của mối quan hệ R được
chuyển thành các thuộc tính dữ liệu của lớp R và bổ sung các thuộc tính đối tượng vừa thêm có
miền là lớp R vào tập thuộc khóa của lớp R.
Lưu ý: Nếu mối quan hệ R tồn tại ràng buộc hàm thì loại bỏ thuộc tính đối tượng có
phạm vi là lớp tương ứng với tập thực thể xuất hiện bên phải ràng buộc hàm ra khỏi tập thuộc
tính khóa của lớp R.
Trong phần tiếp theo, chúng tôi sẽ trình bày phương pháp chuyển đổi các thành phần có
yếu tố thời gian trong mô hình TimeER thành các thành phần tương ứng trong OWL ontology.
4 Chuyển đổi mô hình TimeER sang OWL ontology
Để chuyển đổi mô hình TimeER sang OWL, chúng ta thực hiện theo ba bước:
EMPLOYEE
PROJECT
Works_for
Hours (1, n)
(1, n)
EMPLOYEE
Works_for
PROJECT
:Thuộc tính khóa của lớp Works_for
xsd:unsignedByte Hours
- Bước 1: Chuyển đổi các thành phần không có yếu tố thời gian trên mô hình TimeER (kể
cả tập thực thể) sang OWL. Bước này được thực hiện như Mục 3.
- Bước 2: Tạo OWL ontology biểu diễn các yếu tố thời gian trong mô hình TimeER. Bước
này sẽ tạo một số thành phần trên OWL nhằm mục đích biểu diễn được dữ liệu và các ràng
buộc của các yếu tố thời gian trên mô hình TimeER. Bước này được thực hiện như Mục 4.1.
- Bước 3: Chuyển đổi các thành phần có yếu tố thời gian trên mô hình TimeER sang
OWL. Các thành phần có yếu tố thời gian bao gồm: yếu tố thời gian của tập thực thể, thuộc tính
có yếu tố thời gian, mối quan hệ có yếu tố thời gian và thuộc tính có yếu tố thời gian của mối
quan hệ. Bước này được thực hiện như Mục 4.2.
4.1 Tạo ontology ban đầu biểu diễn yếu tố thời gian
4.1.1 Tạo lớp InstantDateTime
Tạo lớp InstantDateTime thể hiện cho một mốc thời gian. Trong lớp này, tạo một thuộc
tính dữ liệu có tính chất hàm và ràng buộc số lượng cực tiểu là 1 có định danh là hasDateTime có
phạm vi là xsd:dateTime và thuộc tính này là thuộc tính khóa của lớp InstantDateTime. Hình 13
thể hiện lớp InstantDateTime và thuộc tính hasDateTime.
Hình 13. Lớp InstantDateTime
4.1.2 Tạo các thuộc tính đối tượng thể hiện ràng buộc thời gian trong mô hình TimeER
Tạo sáu thuộc tính đối tượng có tính chất hàm và ràng buộc số lượng tối thiểu là 1:
hasVTs, hasVTe, hasLSs, hasLSe, hasTTs, hasTTe biểu diễn các quan hệ giữa lớp owl:Thing với lớp
InstantDateTime cùng có phạm vi là lớp InstantDateTime và có miền là lớp owl:Thing.
4.2 Chuyển đổi các thành phần có yếu tố thời gian trên mô hình TimeER
Bảng 4. Các thuộc tính khóa tương ứng với yếu tố thời gian
Yếu tố thời gian Thuộc tính khóa
VT hasVTs
LS hasLSs
TT hasTTs
LT hasLSs, hasLSe, hasTTs
BT hasVTs, hasVTe, hasTTs
4.2.1 Chuyển đổi yếu tố thời gian của tập thực thể
InstantDateTime xsd:dateTime hasDateTime
Quy tắc TimeER1: Với mỗi yếu tố thời gian XX của một tập thực thể E, tạo thêm lớp có
định danh E_XX, bổ sung hai thuộc tính đối tượng ngược nhau: EHasXX có miền là lớp E và có
phạm vi là lớp E_XX, XXOfE có miền là lớp E_XX và có phạm vi là lớp E, đồng thời XXOfE có
tính chất hàm và có ràng buộc số lượng cực tiểu là 1. Tập thuộc tính khóa của lớp E_XX gồm
thuộc tính XXOfE và một số thuộc tính thể hiện ràng buộc thời gian tùy thuộc vào loại yếu tố
thời gian XX như Bảng 4. Hình 14 minh họa cho Quy tắc TimeER1.
Hình 14. Chuyển đổi yếu tố thời gian của tập thực thể
4.2.2 Chuyển đổi thuộc tính có yếu tố thời gian của tập thực thể
Quy tắc TimeER2: Với mỗi thuộc tính A có yếu tố thời gian XX của tập thực thể E, tạo
thêm lớp có định danh là A_XX, tạo thêm hai thuộc tính đối tượng ngược nhau: AhasXX có
miền là lớp E và phạm vi là lớp A_XX, XXOfA có miền là lớp A_XX và có phạm vi là lớp E,
đồng thời lớp XXOfA có tính chất hàm và có ràng buộc số lượng cực tiểu là 1. Chuyển thuộc
tính A thành thuộc tính dữ liệu của lớp A_XX theo như các quy tắc: EER6, EER7 và EER8 và tập
thuộc tính khóa của lớp A_XX bao gồm thuộc tính XXOfA và một số thuộc tính thể hiện ràng
buộc thời gian tùy thuộc vào loại yếu tố thời gian XX như Bảng 4. Hình 15 minh họa cho Quy
tắc TimeER2.
Hình 15. Chuyển đổi thuộc tính có yếu tố thời gian của tập thực thể
4.2.3 Chuyển đổi mối quan hệ có yếu tố thời gian
Quy tắc TimeER3: Với mỗi mối quan hệ R có yếu tố thời gian XX giữa các tập thực thể Ei,
tạo lớp có định danh là R. Tương ứng với mỗi tập thực thể E tham gia vào mối quan hệ R, tạo
hai thuộc tính đối tượng ngược nhau thể hiện quan hệ giữa lớp R và lớp E: EhasR có miền là lớp
E và có phạm vi là lớp R, RofE có miền là lớp R, có phạm vi là lớp E, có tính chất hàm và có ràng
buộc số lượng cực tiểu là 1, đồng thời, với mỗi giá trị bản số min/max theo thời gian bên tập
thực thể E khác 0 và khác n thêm một ràng buộc số lượng cực tiểu/cực đại tương ứng cho thuộc
tính EHasR. Các thuộc tính phi thời gian của mối quan hệ R được chuyển thành thuộc tính dữ
liệu của lớp R như các quy tắc EER6, EER7 và EER8. Nếu R là mối quan hệ nhị nguyên hoặc
phản xạ 1-1 thì khóa của lớp R bao gồm một trong hai thuộc tính đối tượng vừa thêm có phạm
vi là lớp tương ứng với tập thực thể tham gia vào mối quan hệ R và một số thuộc tính thể hiện
ràng buộc thời gian tùy thuộc vào loại yếu tố thời gian XX như Bảng 4, ngược lại thì khóa của
lớp R bao gồm các thuộc tính đối tượng vừa thêm có phạm vi là lớp tương ứng với tập thực thể
EMPLOYEE LS
EMPLOYEE
EMPLOYEE_LS
LSOfEMPLOYEE
EMPLOYEEHasLS
DEPARTMENT
Profit BT
Profit_BT
DEPARTMENT
xsd:long Profit
ProfitHasBT
BTOfProfit
phía nhiều và một số thuộc tính thể hiện ràng buộc thời gian tùy thuộc vào loại yếu tố thời gian
XX như Bảng 4. Hình 16 minh họa cho Quy tắc TimeER3.
Hình 16. Chuyển đổi mối quan hệ có yếu tố thời gian
Lưu ý: Nếu R là mối quan hệ đa nguyên có ràng buộc hàm thì loại bỏ thuộc tính đối
tượng có phạm vi là lớp tương ứng với tập thực thể xuất hiện bên phải ràng buộc hàm ra khỏi
tập thuộc tính khóa của lớp R.
4.2.4 Chuyển đổi thuộc tính có yếu tố thời gian của mối quan hệ
Quy tắc TimeER4: Với mỗi thuộc tính A có yếu tố thời XX của mối quan hệ R, tạo lớp có
định danh A_XX, tạo hai thuộc tính đối tượng ngược nhau thể hiện quan hệ của lớp R và lớp
A_XX có ràng buộc số lượng cực tiểu là 1: AhasXX có miền là lớp R và có phạm vi là lớp A_XX,
XXOfA có miền là lớp A_XX và có phạm vi là lớp R, đồng thời XXOfA có tính chất hàm.
Chuyển thuộc tính A thành thuộc tính dữ liệu của lớp A_XX theo như các quy tắc: EER6, EER7
và EER8 và khóa của lớp A_XX bao gồm thuộc tính XXOfA và một số thuộc tính thể hiện ràng
buộc thời gian tùy thuộc vào loại yếu tố thời gian XX như Bảng 4. Hình 17 minh họa cho Quy
tắc TimeER4.
Hình 17. Chuyển đổi thuộc tính có yếu tố thời gian của mối quan hệ
5 Ví dụ minh họa
Phần này trình bày một ví dụ hoàn chỉnh về việc chuyển mô hình TimeER sang OWL
ontology. Mô hình TimeER ban đầu là một mô hình khái niệm cho một công ty được trình bày
trong Hình 18.
Works_for
VT
EMPLOYEE
PROJECT
Works_for
EMPLOYEE PROJECT
Income BT
Works_for
Income_BT
Works_for
xsd:long Income
IncomeHasBT BTOfIncome
Hình 18. Mô hình TimeER ban đầu [6]
Quá trình chuyển đổi được thực hiện theo các quy tắc trình bày ở Mục 4 ở trên. Kết quả
của việc chuyển đổi là một OWL ontology. Kết quả này gồm ba phần: danh sách các lớp, danh
sách các thuộc tính đối tượng và danh sách các thuộc tính dữ liệu. Danh sách các lớp kết quả
được trình bày ở Bảng 5, danh sách các thuộc tính đối tượng kết quả được trình bày ở Bảng 6 và
danh sách các thuộc tính dữ liệu kết quả được trình bày ở Bảng 7.
Bảng 5. Các lớp kết quả
Định danh Lớp cha Tập thuộc tính khóa
Employee EmpID
Department Number
Manager Employee
Dependent DependentName, DependentOfEmployee
Project ProID
Belong_to
Manages
InstantDateTime hasDateTime
Employee_LT LTOfEmployee, hasLSs, hasLSe, hasTTs
Salary_BT BTOfSalary, hasVTs, hasVTe, hasTTs
Department_TT TTOfDepartment, hasTTs
Location_VT LocationOfDepartment, hasVTs
Profit_BT ProfitOfDepartment, hasVTs, hasVTe, hasTTs
Employee LT Department TT
Project
Manager
Dependent
Belong_to
Work_for
VT
Resp_for
Manages
Dep_of
EmpName EmpID
Birth_day
Salary BT
Join_date
Number
DepName
Location VT
Profit BT hours/week
Rank
Budget BT
Expences
Income ProID
Type
App_date Relationship DependentName
(1, N)
(1, N)
(1, N)
(0, N)
(1, 1)
(1, 1)
(1, 1)
(1, 1) (1, 1)
(1, 1)
[1, N]
[1, N]
Expences_BT ExpencesOfProject, hasVTs, hasVTe, hasTTs
Income_BT IncomeOfProject, hasVTs, hasVTe, hasTTs
Work_for Work_forOfProject, hasVTs
Bảng 6. Các thuộc tính đối tượng kết quả
Định danh Miền Phạm vi Ràng buộc khác Thuộc tính ngược
EmployeeHasDependent Employee Dependent DependentOfEmployee
DependentOfEmployee Dependent Employee - FunctionalProperty
- min 1 Employee
EmployeeHasDependent
EmployeeHasBelong_to Employee Belong_to - min 1 Belong_to
- max 1 Belong_to
Belong_toOfEmployee
Belong_toOfEmployee Belong_to Employee - FunctionalProperty
- min 1 Employee
EmployeeHasBelong_to
DepartmentHasBelong_to Department Belong_to - min 1 Belong_to Belong_toOfDepartment
Belong_toOfDepartment Belong_to Department - FunctionalProperty
- min 1 Department
DepartmentHasBelong_to
ManagerHasManages Manager Manages - min 1 Manages
- max 1 Manages
ManagesOfManager
ManagesOfManager Manages Manager - FunctionalProperty
- min 1 Manager
ManagerHasManages
ProjectHasManages Project Manages - min 1 Manages
- max 1 Manages
ManagesOfProject
ManagesOfProject Manages Project - FunctionalProperty
- min 1 Project
ProjectHasManages
DepartmentResp_forProject Department Project - min 1 Project ProjectResp_forDepartment
ProjectResp_forDepartment Project Department - min 1 Department
- max 1 Department
DepartmentResp_forProject
EmployeeHasLT Employee Employee_LT LTOfEmployee
LTOfEmployee Employee_LT Employee - FunctionalProperty
- min 1 Employee
EmployeeHasLT
SalaryHasBT Employee Salary_BT BTOfSalary
BTOfSalary Salary_BT Employee - FunctionalProperty
- min 1 Employee
SalaryHasBT
LocationHasVT Department Location_VT VTOfLocation
VTOfLocation Location_VT Department - FunctionalProperty
- min 1 Department
LocationHasVT
ProfitHasBT Department Profit_BT BTOfProfit
BTOfProfit Profit_BT Department - FunctionalProperty
- min 1 Department
ProfitHasBT
ExpencesHasBT Project Expences_BT BTOfExpences
BTOfExpences Expences_BT Project - FunctionalProperty
- min 1 Project
ExpencesHasBT
IncomeHasBT Project Income_BT BTOfIncome
BTOfIncome Income_BT Project - FunctionalProperty
- min 1 Project
IncomeHasBT
DepartmentHasTT Department Department_TT TTOfDepartmant
TTOfDepartmant Department_TT Department - FunctionalProperty
- min 1 Department
DepartmentHasTT
EmployeeHasWork_for Employee Work_for - min 1 Work_for Work_forOfEmployee
Work_forOfEmployee Work_for Employee - FunctionalProperty
- min 1 Employee
EmployeeHasWork_for
ProjectHasWork_for Project Work_for - min 1 Work_for Work_forOfProject
Work_forOfProject Work_for Project - FunctionalProperty
- min 1 Project
ProjectHasWork_for
hasVTs owl:Thing InstantDateTime - FunctionalProperty
- min 1 InstantDateTime
hasVTe owl:Thing InstantDateTime - FunctionalProperty
- min 1 InstantDateTime
hasLSs owl:Thing InstantDateTime - FunctionalProperty
- min 1 InstantDateTime
hasLSe owl:Thing InstantDateTime - FunctionalProperty
- min 1 InstantDateTime
hasTTs owl:Thing InstantDateTime - FunctionalProperty
- min 1 InstantDateTime
hasTTe owl:Thing InstantDateTime - FunctionalProperty
- min 1 InstantDateTime
Bảng 7. Các thuộc tính dữ liệu kết quả
Định danh Miền Phạm vi Ràng buộc khác
EmpID Employee xsd:string - FunctionalProperty
- min 1 xsd:string
EmpName Employee xsd:string - FunctionalProperty
- min 1 xsd:string
Birth_date Employee xsd:dateTime - FunctionalProperty
Salary Salary_BT xsd:long - FunctionalProperty
DependentName Dependent xsd:string - FunctionalProperty
- min 1 xsd:string
Relationship Dependent xsd:string - FunctionalProperty
Rank Manager xsd:string - FunctionalProperty
Join_date Belong_to xsd:dateTime - FunctionalProperty
Number Department xsd:long - FunctionalProperty
- min 1 xsd:long
DepName Department xsd:string - FunctionalProperty
- min 1 xsd:string
Location Location_VT xsd:string - min 1 xsd:string
Profit Profit_BT xsd:long - FunctionalProperty
hours/week Work_for xsd:byte - FunctionalProperty
App_date Manages xsd:dateTime - FunctionalProperty
Type Manages xsd:string - FunctionalProperty
ProID Project xsd:string - FunctionalProperty
- min 1 xsd:string
Expences Expences_BT xsd:long - FunctionalProperty
Income Income_BT xsd:long - FunctionalProperty
hasDateTime InstantDateTime xsd:dateTime - FunctionalProperty
- min 1 xsd:dateTime
6 Kết luận
Bài báo đã đề xuất một phương pháp chuyển đổi mô hình TimeER sang OWL ontology.
Phương pháp này là tổng hợp và cải tiến từ các phương pháp chuyển đổi mô hình ER và EER
sang OWL ontology trước đây, bằng cách cho phép bổ sung ràng buộc về khóa cho các lớp kết
quả. Tiếp đó, phương pháp đề xuất các lớp và các thuộc tính biểu diễn các yếu tố thời gian
tương ứng trên mô hình TimeER khi chuyển đổi các thành phần liên quan đến yếu tố thời gian
trên mô hình TimeER sang OWL ontology.
OWL ontology thu được từ việc chuyển đổi là bảo toàn thông tin trên cơ sở dữ liệu tương
ứng của mô hình TimeER.
OWL ontology kết quả là OWL 2, một mở rộng của OWL DL nên vẫn đảm bảo khả năng
quyết định. Việc chuyển đổi đã được chúng tôi thực hiện thành công với công cụ Protégé 4.3.0
cùng bộ lập luận HermiT 1.3.7. Điều này cho phép chúng tôi có thể thiết kế một hệ chuyển đổi
mô hình TimeER thành OWL ontology một cách tự động trong thời gian đến.
Tài liệu tham khảo
1. Elmasri, Navathe (2011), Fundamentals of Database Systems - Sixth Edition, Addison-Wesley
Publishers, United States of America.
2. Fahad, M (2008) “ER2OWL: Generating OWL Ontology from ER Diagram”, Intelligent Information
Processing IV, IFIP International Federation for Information Processing, Vol. 288, pp.28-37.
3. Hoàng Hữu Hạnh và Lê Mạnh Thạnh (2012), Giáo trình Web ngữ nghĩa, NXB GD, Đà Nẵng.
4. Horridge, Matthew (2011), A practical guide to building OWL ontologies using Protégé 4 and CO-
ODE tools - Edition 1.3, The University of Manchester.
5. Igor Myroshnichenko, M.S. and Murphy, M.C (2009) “Mapping ER schemas to OWL ontologies”,
IEEE International Conference on Semantic Computing, ICSC'09, pp.324-329.
6. Jensen, C.S (2000), Temporal Database Management, Dr.techn. thesis, Aalborg University,
(http://www.cs.auc.dk/~csj/Thesis/).
7. Motik B, Patel-Schneider P.F, Paria B, Bock C, Fokoue A, Haase P, Hoekstra R, Horrocks I,
Ruttenberg A, Sattler U, et al. OWL 2 Web Ontology Language: Structural Specification and
Functional-Style Syn-tax. W3C Recommendation, 27, 2009.
8. Pasapitch Chujai, Nittaya Kerdprasop, and Kittisak Kerdprasop (2014), “On Transforming the ER
Model to Ontology Using Protégé OWL Tool”, International Journal of Computer Theory and
Engineering, Vol. 6, No. 6, pp.484-489.
9. H. Quang, H.T. Thanh (2009), “Extension of Method for Converting TimeER Model to Relational
Model”, Journal of Computer Science and Cybernetics, Vol. 25, No. 3, pp.246-257.
10. Hoang, Q. and Nguyen, V.T. (2013) “Extraction of a temporal conceptual model from a relational
database”, Int. J. Intelligent Information and Database Systems, Vol. 7, No. 4, pp.340–355.
11 Sikha Bagui (2009), “Mapping OWL to the Entity Relationship and Extended Entity Relationship
models”, Int. J. Knowledge and Web Intelligence, Vol.1, No. 1, pp.125-149.
12. Vinu P.V., Sherimon P.C., Reshmy Krishnan, Youssef Saad Takroni (2014), “Parttern
representation model for n-ary relations in ontology”, Journal of Theoretical and Applied Information
Technology, Vol. 60, No. 2, pp.231-236.
13. Upadhyaya, S.R. and Kumar, P.S. (2005) “ERONTO: a tool for extracting ontologies from extended
E/R diagrams”, Proceedings of the 2005 ACM Symposium on Applied Computing, ACM, pp.666-670.
A MAPPING METHOD FROM TimeER MODEL TO OWL
ONTOLOGY
Toan Van Nguyen, Minh Hoang Lien Vo, Quang Hoang
Hue University of Sciences
77 Nguyen Hue, Hue City, Vietnam
[email protected], [email protected], [email protected]
Abstract. Design ontology from Entity - Relationship model (ER model) is one of the
approaches which have done. In this paper, we propose a method to map from the TimeER
model to the OWL ontology by mapping the components from TimeER model to OWL 2
base on improving the mapping methods from ER model to OWL ontology, and adding the
mapping rules for the temporal components of the TimeER model.
Keywords: Semantic web, OWL ontology, TimeER, model mapping