Công việc đầu tiên của mô hình hóa cơ sở dữ liệu thực thể là cần xác định các thực thể trong hệ thống. Về mặt trực quan, ta có thể quan sát thấy ngay hệ thống cần
có một danh sách các địa điểm du lịch, ta gọi nó là các Location. Mỗi Location chứa
thông tin địa lý của một điểm hoặc đại diện một vùng trên bản đồ. đối với Location đại diện cho một vùng thì cần lưu thêm thông tin về đường biên. Thêm vào đó, mỗi
Location cần phải chứa thông tin nội dung mà sẽ quảng cáo tới người dùng, ví dụ địa
danh A là một công viên, địa danh B là một trung tâm thương mại lớn nhất Hà Nội.
Mỗi Location thuộc về một Position duy nhất.
Bên cạnh vị trí của Location, cái mà chúng ta cần quản lý ở đây là nội dung của các Location. Nếu tất cả các nội dung được lưu lại tràn lan chỉ thành một danh sách các bản ghi về Location thì rất khó để quản lý nó và sử dụng nó để cung cấp cho người
dùng, nó còn dẫn đến việc dư thừa dữ liệu trong truy vấn. Giải pháp đề ra là phân chia nội dung cần quảng cáo ra thành các chủ đề. Như vậy là phải xây dựng được cây chủ
để để phân loại dữ liệu nội dung ra, ví dụ các Location cho các nhà hàng hải sản thì được gộp lại trong chủ đề ăn uống (Food), hay các Location đại diện cho các rạp chiếu
phim thì sẽ được xếp lại trong chủ đề Giải trí. Tùy thuộc vào nội dung quảng cảo của từng lĩnh vực mà ta có thể tùy chọn cây chủ đề nội dung phân nhánh rộng hay sâu tùy ý.
Khi người dùng đăng ký sử dụng dịch vụ của hệ thống, mỗi người dùng sẽ được
yêu cầu cung cấp các thông tin cá nhân được gọi là Profile của người dùng cho hệ
thống. Trong profile này, người dùng có thể đưa ra các chủ đề mà mình quan tâm, những nội dung thông tin mà người dùng mong muốn được cung cấp. Mỗi người dùng có thể thay đổi profile của mình, điều này đồng nghĩa với việc tương ứng mỗi người dùng có thể có nhiều profile.
Yếu tố lịch sử người dùng cũng góp vai trò quan trọng trong cung cấp thông tin của hệ thống. Lịch sử người dùng là những sự kiện trong quá khứ tham quan của người dùng. Trong sự kiện chứa các thông tin thông tin vị trí, thời gian tham quan.
Từ những thông tin trên, ta xác định được các thực thể trong hệ thống như sau : Location: biểu diễn một điểm hay một khoảng không gian địa lý trên bản đồ.
Object: địa điểm du lịch, thăm quan.
36 Chủ đề: chủ đề trong hệ thống.
User: đại diện cho khách hàng sử dụng hệ thống.
Profile: profile của người sử dụng, chứa các chủ đề mà người dùng quan tâm.
Lịch sử: lịch sử di chuyển và các sự kiện đã nhận của người dùng.
Sự kiện: lưu trữ các sự kiện đã xảy ra trong hệ thống. 4.3.1.2 Xác định mối quan hệ giữa các thực thể
Sau khi các định các thực thể, ta xác định được mối quan hệ giữa các thực thể như sau :
Một Location có chứa nhiều Object, một Object nằm trong một Location.
Một Object có nhiều Items, một Object chỉ thuộc về một Object duy nhất.
Một Topic có nhiều Information, một Information chỉ gắn với một Topic.
Một User có nhiều Profile, một Profile chỉ thuộc về một User.
Một Profile có nhiều Topic, một Topic có thể thuộc nằm trong nhiều Profile.
Một Topic cha có thể có nhiều Topic con, một Topic con thuộc về một Topic
cha.
Một User có một Lịch sử, một Lịch sử chỉ thuộc về một User.
Một Lịch sử có nhiều Event, một Sự kiện chỉ thuộc về một History.
Một Sự kiện xảy ra ở một Location, một Location có nhiều Sự kiện khác nhau.
Một Thông tin chứa nhiều Chi tiết – Item.
Một Item chứa nhiều Item, một Item thuộc về một Item.
Một Sự kiện tham chiếu tới một Location, một Location thuộc về một Event
Một Object chỉ tới một Location, một Location có nhiều Object
Một Object thuộc về một Lớp Semantic, một Lớp Semantic nói về nhiều Object
Một Item là một khởi tạo của một cặp Object – Lớp Semantic. Một cặp Object –
37
4.3.1.3 Sơ đồ quan hệ thực thể
Mô hình được sử dụng trong ứng dụng được miêu tả cụ thể trong Hình 4.4.
Hình 4.4 Sơ đồ quan hệ thực thể ER
Từ kiến sơ đồ thực thể ER ở Hình 4.4, chúng ta phân chia mô hình dữ thành 3 nhóm thực thể khác nhau để thuận tiện cho việc quản lý dữ liệu và xây dựng thuật toán sau này
38
Phần dữ liệu về lịch sử và sự kiện: bao gồm thực thể History và Event. Chứa dữ
liệu về lịch sử đường đi và các địa điểm đã thăm quan của người dùng. Vì lý do quyền bảo mật riêng tư của khách hàng, loại dữ liệu này như đã đề cập ở phần trên thì sẽ được lưu trên thiết bị di động. Người dùng có thể tùy chọn lưu, không lưu lại hoặc xóa bỏ lịch sử di chuyển chuyến tham.
Phần dữ liệu về người sử dụng : bao gồm các thực thể User và Profile. Lưu trữ thông tin về người dùng và các hồ sơ của người dùng.
Phần dữ liệu về nội dung bản đồ: bao gồm các thực thể Location, Object, Item,
Các lớp Semantic sẽ lưu trữ dữ liệu về nội dung của điểm du lịch, vị trí và thông tin
của chúng. Dữ liệu các Object và Item được lấy về từ các trung tâm bản đồ. Trong khi đó, dữ liệu về Thông tin của các Object lại được cập nhật thường xuyên bởi người
quản trị. Chính điều này giúp cho nhà cung cấp thông tâm du lịch có thể đưa ra những thông tin mới nhất, cập nhật tới người dùng. Phần dữ liệu về nội dung bản đồ này được lưu trữ trên server.
4.3.2 Mô hình hóa cơ sở dữ liệu bằng các Ontology
Trong phần này sẽ phân tích và mô tả chi tiết về các ontology dữ liệu để xây dựng các ontology phục vụ cho hệ thống cung cấp thống cung cấp thông tin du lịch theo hướng mở rộng.
4.3.2.1 Ontology dữ liệu Miền
Chiều kích không gian đưa ra khái niệm position với nhiều sự nhập nhằng và mang tính giả định. Hầu hết trong các hệ thống LBS, có giả định rằng position của một đối tượng di chuyển có thể được xác định đơn giản rõ ràng, vì vậy mà nó luôn là yếu tố đã biết và hoàn toàn có thể đo đạc được. Tuy nhiên, điều đó chỉ đúng mà chưa đủ. Trong một số trường hợp, ví dụ, vị trí của một đối tượng là chưa biết đến, ví như khi thiết bị GPS đang trong trạng thái bị bóng (hoặc chưa được cập nhật trên bản đồ).
Trong các nghiên cứu khác, khái niệm về position có ý nghĩa và giá trị khác phụ thuộc vào dữ liệu ứng dụng của LBS, và vì thế không thể xác định position bằng một ký tự đơn giản, và nó chắc chắn không phải là giả định. Vì vậy mà không thể mô tả và đại diện nó bằng một phương pháp hay công nghệ nào đó. Chẳng hạn như trong LBS giao thông, các phương tiện được hỗ trợ với các thiết bị GPS. Giả sử rằng, hiện tại, vị trí của xe là tọa độ (x, y) được truyền đến bởi GPS. Tuy nhiên, vấn đề thực sự của hệ thống là việc dự đoán và miền xung quanh của ách tắc giao thông không chỉ là tại vị trí mà còn là cả một khối hình hoặc miền của 10km trước đó trong mạng lưới giao thông, được đưa ra trong thực tế rằng một bất lợi được thể hiện ở đây.
39
Cũng tương tự với dịch vụ LBS cho khách du lịch khi du khách tới khách du lịch tới thăm vị trí thuộc khảo cổ học, location được mô tả bằng tọa độ thực tế (x, y), và đường biên bao quanh toạn độ đó, và khu vực được bao quanh đường biên sẽ chứa các điểm du lịch mà người dùng thích thú.
Những ví dụ đã nói trên đây chỉ là một trong số rất nhiều những sự việc thực tế về vị trí, nó không chỉ mà luôn luôn là số nhưng nó phụ thuộc vào miền của ứng dụng.
Trong luận văn của chúng ta, chiều không gian trong LBS được mô tả bằng hai khái niệm mới.
- Tọa độ (x, y) của dịch chuyển của đối tượng, được gọi là position
- Vùng bao quanh của vị trí, mà chúng ta gọi là reach – miền giới hạn. Hình dạng
của miềm giới hạn có thể khác nhau, có thể là một hình tròn với bán kính xác định hay một hình eclipse như ví dụ ở Hình 4.5 sau đây:
Hình 4.5 Hình dáng của reach trong không gian
Hình 4.5(a) reach là hình tròn bao quanh vị trí A, A nằm gần đường đi; Hình 4.5(b) reach là hình eclipse với vị trí A nằm trên đường đi.
Trong LBS không chỉ là vấn đề vị trí không gian mà còn là vị trí thời gian, vì vậy
là location liên quan tới thời gian. Thời gian cũng tương tự như location, nó được định
nghĩa bởi:
- Timestamp: biểu diễn thời điểm một hành động hay sự kiện xảy ra.
- time horizon: để chỉ khoảng thời gian các sự kiện hoặc các hành động vẫn có
hiệu lực. Ví dụ trong trường hợp một phương tiện giao thông di chuyển đang cố gắng tránh những chỗ ùn tắc giao thông. Thời điểm hiện tại thì có thể là không ảnh hưởng
tới di chuyển của phương tiện, nhưng time horizon thì có thể ảnh hưởng tới việc
40
Thêm vào đó, phụ thuộc vào sự chính xác của thông tin, hoặc độ chính xác của
thiết bị, các yếu tố position, reach, timestamp, time horizon có một độ không chắc
chắn nhất định, độ không chắc chắn này thường được sử dụng để thể hiện độ lệch so với giá trị chính xác. Sau đây là mô hình ontology của dữ liệu miền.
Hình 4.5 Ontology dữ liệu Miền
Hình 4.5 mô tả một mô hình Ontology cho dữ liệu miền, trong đó bao gồm hai loại lớp chính:
- Lớp ontology không gian: bao gồm các lớp Location, Position, Point, Tọa độ. - Lớp ontology thời gian: bao gồm các lớp Time, Timestamp, Uncertainty, Movement.
41
4.3.2.2 Ontology dữ liệu Nội dung
Nội dung phần này sẽ trình bày về Ontology nội dung của LBS giao thông và LBS du lịch. Dữ liệu của hai ontology này được thể hiện bằng hai phương kháp khác nhau
- Với LBS Giao thông, chúng ta chọn việc sử dụng công nghệ UML để tổ chức lại dữ liệu giao thông lớn. Việc này sinh ra Cơ sử dữ liệu Đối tượng Di chuyển (Moving Object Database MOD), mà bao gồm các đường quỹ đạo, phương tiện và đường đi trong UML mà được chọn dựa vào đó là phổ biến và mức độ đọc hiểu và việc diễn đạt hiệu quả cao. MOD là cốt lõi của hệ thống quản lý giao thông mà trên đó, nhiều môi trường ứng dụng với chức năng khai phá dữ liệu được áp dụng để lấy ra thông tin về việc dự đoán giao thông. Chúng ta có thể có cái nhìn chi tiết hơn về MOD trong nghiên cứu [24].
- Với LBS du lịch, chúng ta tập trung trong việc sử dụng ontolgy. Bằng việc sử dụng các công nghệ khác nhau để mô tả ngữ nghĩa của Dữ liệu Nội dung, chỉ ra tính đa dạng của Dữ liệu Nội dung của LBS và vì vậy ngữ nghĩa khác nhau và yêu cầu khác nhau. Hơn nữa, trên thực tế việc xây dựng chọn thiết kế không thể bao hàm hết công dụng của công nghệ hay công cụ cụ thể nào.
a. Dữ liệu Nội dung của LBS trong lĩnh vực Giao thông
Tổ chức Dữ liệu Nội dung trong, đi chi tiết hơn trong việc hiểu cặn kẽ hơn về các đối tượng, các thuộc tính của các đối tượng và các quan hệ liên quan tới khái niệm của
movement.
Movement trong LBS Giao thông. Xem xét một kịch bản sử dụng một hệ thống quản lý giao thông để điều khiển luồng giao thông trong thành phố Hà Nội. Bằng việc điều khiển di chuyển của các phương tiện giao thông cụ thể (ví dụ như xe tải, phương tiện giao thông công cộng, taxis…) một phương tiện có thể yêu cầu theo các truy vấn sau: “tìm các phương tiện tham gia giao thông trong Hà nội”, hoặc “tìm các phương tiện vừa rời khỏi Hà nội một giờ trước”, hoặc thông tin thường gặp như “tìm vị trí mà mật động phương tiện đông”. Việc thể hiện các đối tượng di chuyển giống như các đối tượng điểm có thể được thể hiện trong Hình 4.6. Đường nét liền trong Hình 4.6(a) thể hiện di chuyển của một đối tượng điểm. Không gian là (x, y) và chiều thời gian (t) được kết hợp với nhau thành dạng miền 3D. Những đường nét đứt chỉ ra đường gióng xuống của chuyển động tới không gian hai chiều (x, y).
42
Hình 4.6 Di chuyển của các đối tượng
Để ghi lại dịch chuyển của một phương tiện, chúng ta cần vị trí của nó và thời gian, ví dụ như trên một chuyển động tiếp diễn. Tuy nhiên, GPD và các công nghệ truyền thông chỉ cho phép chúng ta minh họa trên vị trí của đối tượng, ví dụ như: để có được vị trí tại các khởi tạo rời rạc của thời gian giống như trong một vài giây. Từ đó, sau này, nội suy các ví dụ trên, chúng ta có thể trích rút ra chuyển động của đối tượng. Phương pháp đơn giản nhất là sử dụng đường thẳng nội suy, giống như đối với các phương pháp khác như Đa thức Spline [25]. Vị trí được làm ví dụ sau đó trở thành các điểm kết thúc của các phần đường thẳng của một hình đa đường, và chuyển động của đối tượng được trình bày bởi toàn bộ các đường thẳng trong không gian ba chiều. Trong các tập của địa lý, chuyển động của một đối tượng được tập hợp lại thành một
trajectory; hay nói cách khác, trajectory là một đường theo dõi của một phương tiện
trong thời gian.
Hình 4.6(b) mô tả không gian thời gian (khối hình lập phương mà trong đó là các
đường nét đậm) và một vài đường trajectory (đường nét liền) được chứa trong đó.
Thời gian di chuyển trong hướng đi lên, và đỉnh của hình lập phương là thời gian của vị trí hiện tại trong ví dụ. Các dấu chấm đậm trên đỉnh của hình lập phương là thể hiện sự tiến triển của việc di chuyển sau thời gian (t).
Việc mô tả trajectory đủ để thể hiện các thuộc tính chính và các quan hệ của di
chuyển của đối tượng.
Các thuộc tính trong MOD: trajectory được đặc trưng bởi tập các thuộc tính khác
nhau phụ thuộc vào các yêu cầu của ứng dụng. Một vài trong số các thuộc tính chung là:
43
- tốc độ của di chuyển (được chỉ định bởi độ dốc của trajectory). - hướng của phương tiện.
- miền bao phủ, miền mà phương tiện đi qua trong suốt chuyến du lịch - khoảng cách du lịch
- thời gian của chuyến du lịch.
Dựa trên những nghiên cứu tại [26], [27] đã trình bày ở trên là đầy đủ cho mô hình cơ sở dữ liệu cho mobile, từ đó đưa ra câu trả lời cho những câu hỏi đơn giản như ‘miền mà chiếc xe A-4592 đã đi qua trong suốt hành trình du lịch?’ và có thể là những câu hỏi phức tạp hơn như ‘Những xe đã rời khỏi Athens vào nửa đêm di chuyến tới East và tìm thấy cách đây hai giờ?’.
Các quan hệ trong MOD. Thông qua môi trường, các trajectory liên hệ với môi
trường của chúng theo nhiều cách khác nhau thông qua thời gian. Theo đó, chúng ta
thảo luận về các loại quan hệ, làm thế nào để một trajectory có thể liên hệ với môi trường của nó và tới các trajectory khác.
Quan hệ giữa một trajectory với môi trường không gian. Các trajection có thể có
các mối liên hệ với môi trường không gian. Bao gồm các đối tượng thuộc không gian khác. Chúng có thể là các hạng mục cơ sở hạ tầng giống như đường xá, công viên, các tòa nhà vv, nhưng có thể là cả các thực thể không có thực như đường bao của một