Graph database

Thay gui cac em duong link de doc
<a href=‘http://www.medical-answers.org/hd/index.php?t=Graph+database’ target=‘_blank’>http://www.medical-answers.org/hd/index.php?t=Graph+database&lt;/a&gt;
Ngoai ra ta con co
Neo4j graph database
Day la huong hay
Cac em nhay vao research nhe
Hay de dien dan soi dong len
Thay Phuc

<!–QuoteBegin-CH1001088+29 May 2011, 01:06 PM–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> (CH1001088 @ 29 May 2011, 01:06 PM)</td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–> Kính gởi Thầy Phúc

Theo sự hướng dẫn của thầy, em đang nghiên cứu về Graph Database. Quả thật, đây là vấn đề đang “hot” hiện nay liên quan đến social network. Ngoài Neo4j mà thầy đề cập, em tìm trên internet có SONES cũng là Graph Database có hỗ trợ thêm C#, PHP còn Neo4j hỗ trợ lập trình Java, Python. Em dự định làm bài thu hoạch theo hướng Graph Database có được không thầy. Xin thầy cho em ý kiến.

Cảm ơn thầy
VT <!–QuoteEnd–> </td></tr></table><div class=‘postcolor’> <!–QuoteEEnd–>
Tot qúa Trường ạ.
Đây là hướng nghiên cứu thời sự hiện nay,
Em có thể làm thu hoạch theo hướng này được
Trường cố lên nhé.
Chúc Em thành công,
Thầy Phúc

<!–QuoteBegin-CH1001096+6 Jun 2011, 12:51 PM–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> (CH1001096 @ 6 Jun 2011, 12:51 PM)</td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–> Kính gửi thầy.
Theo em nhận thấy đối với những bài toán nhận dạng ví dụ như nhận dạng khuôn mặt người, nhận dạng dấu vân tay nếu dùng Graph DB làm thì thường có 2 giai đoạn khác nhau.

  1. Chuyển khuôn mặt người (dấu vân tay) về dạng dữ liệu đồ thị.
  2. Nhận dạng đồ thị đó dựa trên dữ liệu đã lưu trữ sẳn. (Similairty search in Graph DB)
    Do đó, em có ý định xây dựng bài tiểu luận từ bước thứ 2 trở đi (bởi vì bước đầu tiên thiên về xử lý ảnh).
    Cụ thể như sau : Em sẽ xây dựng một chương trình dùng để thao tác trên dữ liệu đồ thị chức năng của chương trình là
  • Nhập một đồ thị. Giao diện sẽ hỗ trợ nhập từ file txt (file ma trận kề của đồ thị) hoặc nhập trực tiếp từ giao diện. Hệ thống sẽ vẽ đồ thị đó lên giao diện một cách trực quan để người sử dụng dễ hình dung.
    +Sau khi nhập liệu xong thì người dùng sẽ thao tác trên đồ thị đó. Ví dụ như muốn tìm kiếm xem có đồ thị nào đẳng cấu, tương tự với đồ thị đó không.
  • Sau khi người dụng chọn chức năng cụ thể như tìm kiểm đồ thị đẳng cấu. thì hệ thống sẽ hiển thị số lượng đồ thị tương tự với đồ thị cần tìm và hiển thị ra danh sách (hình vẽ) kết quả.
  • Người dùng có thể thêm đồ thị mới này vào database nếu muốn (ví dụ như trường hợp muốn thêm dấu vân tay mới vào dữ liệu).

Em nghĩ khi hoàn thiện thì chương có thể được xem là 1 plug in cho hệ thống nhận dạng.
Mong thầy góp ý thêm cho em.
ND. <!–QuoteEnd–> </td></tr></table><div class=‘postcolor’> <!–QuoteEEnd–>
Thay dong y
Buoc 1 hoi kho, em can suy nghi
Than
DOPHUC

<!–QuoteBegin-CH1001088+2 Jun 2011, 01:55 PM–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> (CH1001088 @ 2 Jun 2011, 01:55 PM)</td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–> Kính chào thầy Phúc,
Em xin gởi thầy đề cương bài thu hoạch để thầy xem và góp ý cho em thêm.

<b>TÊN ĐỀ TÀI : TÌM HIỂU VÀ XÂY DỰNG MẠNG XÃ HỘI ĐƠN GIẢN VỚI CƠ SỞ DỮ LIỆU ĐỒ THỊ</b>

<b>Chương 1. TỔNG QUAN</b>
I. Lý do chọn đề tài
II. Lịch sử vấn đề
<b>Chương 2. CƠ SỞ DỮ LIỆU ĐỒ THỊ </b>
I. Lý thuyết đồ thị
I.1. Định nghĩa
I.2. Ứng dụng của đồ thị trong tin học
II. Cơ sở dữ liệu đồ thị
II.1. Giới thiệu
II.2. Tại sao sử dụng cơ sở dữ liệu đồ thị
II.3. Các đặc tính của cơ sở dữ liệu đồ thị
II.3.1. Thực thể
II.3.2. Ngôn ngữ DDL
II.3.3. Ngôn ngữ truy vấn DML
II.3.4. Khả năng thay đổi hệ thống
II.3.5. Xử lý câu truy vấn ở mức độ nâng cao
<b>Chương 3. MỘT SỐ ỨNG DỤNG CỦA CƠ SỞ DỮ LIỆU ĐỒ THỊ </b>
I. Mạng xã hội Twitter với FlockDB
II. Điện toán đám mây với InfiniteGraphDB
III. Facebook với Cassandra
<b>Chương 4. XÂY DỰNG ỨNG DỤNG MẠNG XÃ HỘI ĐƠN GIẢN</b>
I. Giới thiệu ứng dụng
II. Phân tích ứng dụng
III. Cài đặt ứng dụng
Kết luận
Tài liệu tham khảo

Ở phần ứng dụng chương 4, em chỉ xây dựng mạng xã hội kết bạn đơn giản để minh họa cách sử dụng cơ sở đồ thị.

Cảm ơn thầy
VT <!–QuoteEnd–> </td></tr></table><div class=‘postcolor’> <!–QuoteEEnd–>
Thay dong y
Thay Phuc

<!–QuoteBegin-CH1001057+5 Jun 2011, 11:06 AM–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> (CH1001057 @ 5 Jun 2011, 11:06 AM)</td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–> <!–QuoteBegin-phucdo+29 May 2011, 03:00 PM–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> (phucdo @ 29 May 2011, 03:00 PM)</td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–>Thay gui cac em duong link de doc
<a href=‘http://www.medical-answers.org/hd/index.php?t=Graph+database’ target=‘_blank’>http://www.medical-answers.org/hd/index.php?t=Graph+database&lt;/a&gt;
Ngoai ra ta con co
Neo4j* graph database
Day la huong hay
Cac em nhay vao research nhe
Hay de dien dan soi dong len
Thay Phuc<!–QuoteEnd–></td></tr></table><div class=‘postcolor’><!–QuoteEEnd–>
chào thầy!
Thầy cho em hỏi là từ một đối tượng hình ảnh, như khuôn mặt người chẳn hạn, muốn biểu diễn trong CSDL thì phải chuyển từ dạng hình ảnh sang đồ thị rồi từ đồ thị mới biểu diễn CSDL phải không ạ! <!–QuoteEnd–> </td></tr></table><div class=‘postcolor’> <!–QuoteEEnd–>
Dung Oanh a.
Ta phai bieu dien doi tuong bang do thi da. sau do moi luu tru do thi
Than
DOPHUC

<!–QuoteBegin-phucdo+29 May 2011, 03:00 PM–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> (phucdo @ 29 May 2011, 03:00 PM)</td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–>Thay gui cac em duong link de doc
<a href=‘http://www.medical-answers.org/hd/index.php?t=Graph+database’ target=‘_blank’>http://www.medical-answers.org/hd/index.php?t=Graph+database&lt;/a&gt;
Ngoai ra ta con co
Neo4j? graph database
Day la huong hay
Cac em nhay vao research nhe
Hay de dien dan soi dong len
Thay Phuc<!–QuoteEnd–></td></tr></table><div class=‘postcolor’><!–QuoteEEnd–>
chào thầy!
Thầy cho em hỏi là từ một đối tượng hình ảnh, như khuôn mặt người chẳn hạn, muốn biểu diễn trong CSDL thì phải chuyển từ dạng hình ảnh sang đồ thị rồi từ đồ thị mới biểu diễn CSDL phải không ạ!

5 graph database examples
This post is part of our ReadWriteCloud channel, which is dedicated to covering virtualization and cloud computing. The channel is sponsored by Intel and VMware. Read the white paper about how Intel Xeon processors help organizations get unprecedented levels of performance.

Of the major categories of NoSQL databases - document-oriented databases, key-value stores and graph databases - we’ve given the least attention to graph databases on this blog. That’s a shame, because as many have pointed out it may become the most significant category.

Graph databases apply graph theory to the storage of information about the relationships between entries. The relationships between people in social networks is the most obvious example. The relationships between items and attributes in recommendation engines is another. Yes, it has been noted by many that it’s ironic that relational databases aren’t good for storing relationship data. Adam Wiggins from Heroku has a lucid explanation of why that is here. Short version: among other things, relationship queries in RDBSes can be complex, slow and unpredictable. Since graph databases are designed for this sort of thing, the queries are more reliable.

Google has its own graph computing system called Pregel (you can find the paper on the subject here), but there are several commercial and open source graph databases available. Let’s look at a few.

Neo4j
This is one of the most popular databases in the category, and one of the only open source options. It’s the product of the company Neo Technologies, which recently moved the community edition of Neo4j from the AGPL license to the GPL license (see our coverage here). However, its enterprise edition is still proprietary AGPL. Neo4j is ACID compliant. It’s Java based but has bindings for other languages, including Ruby and Python.

Neo Technologies cites several customers, though none of them are household names.

Here’s a fun illustration of how relationship data in graph databases works, from an InfoQ article by Neo Technologies COO Peter Neubauer:

FlockDB
FlockDB was created by Twitter for relationship related analytics. Twitter’s Kevin Weil talked about the creation of the database, along with Twitter’s use of other NoSQL databses, at Strange Loop last year. You can find our coverage here.

There is no stable release of FlockDB, and there’s some controversy as to whether it can be truly referred to as a graph database. In a DevWebPro article Michael Marr wrote:

The biggest difference between FlockDB and other graph databases like Neo4j and OrientDB is graph traversal. Twitter’s model has no need for traversing the social graph. Instead, Twitter is only concerned about the direct edges (relationships) on a given node (account). For example, Twitter doesn’t want to know who follows a person you follow. Instead, it is only interested in the people you follow. By trimming off graph traversal functions, FlockDB is able to allocate resources elsewhere.
This lead MyNoSQL blogger Alex Popescu to write: “Without traversals it is only a persisted graph. But not a graph database.”
However, because it’s in use at one of the largest sites in the world, and because it may be simpler than other graph DBs, it’s worth a look.

AllegroGraph
AllegroGraph is a graph database built around the W3C spec for the Resource Description Framework. It’s designed for handling Linked Data and the Semantic Web, subjects we’ve written about often. It supports SPARQL, RDFS++, and Prolog.

AllegroGraph is a proprietary product of Franz Inc., which markets a number of Semantic Web products - including its flagship set of LISP-based development tools. The company claims Pfizer, Ford, Kodak, NASA and the Department of Defense among its AllegroGraph customers.

GraphDB
GraphDB is graph database built in .NET by the German company sones. sones was founded in 2007 and received a new round of funding earlier this year, said to be a “couple million” Euros. The community edition is available under an APL 2 license, while the enterprise edition is commercial and proprietary. It’s available as a cloud-service through Amazon S3 or Microsoft Azure.

InfiniteGraph
InfiniteGraph is a proprietary graph database from Objectivity, the company behind the object database of the same name. Its goal is to create a graph database with “virtually unlimited scalability.”
According to Gavin Clarke at The Register: “InfiniteGraph map is already being used by the CIA and Department of Defense running on top of the existing Objectivity/DB database and analysis engine.”

Others
There are many more graph databases, including OrientDB, InfoGrid and HypergraphDB. Ravel is working on an open source implementation of Pregel. Microsoft is getting into the game with the Microsoft Reasearch project Trinity.

Kính chào thầy Phúc,
Em xin gởi thầy đề cương bài thu hoạch để thầy xem và góp ý cho em thêm.

<b>TÊN ĐỀ TÀI : TÌM HIỂU VÀ XÂY DỰNG MẠNG XÃ HỘI ĐƠN GIẢN VỚI CƠ SỞ DỮ LIỆU ĐỒ THỊ</b>

<b>Chương 1. TỔNG QUAN</b>
I. Lý do chọn đề tài
II. Lịch sử vấn đề
<b>Chương 2. CƠ SỞ DỮ LIỆU ĐỒ THỊ </b>
I. Lý thuyết đồ thị
I.1. Định nghĩa
I.2. Ứng dụng của đồ thị trong tin học
II. Cơ sở dữ liệu đồ thị
II.1. Giới thiệu
II.2. Tại sao sử dụng cơ sở dữ liệu đồ thị
II.3. Các đặc tính của cơ sở dữ liệu đồ thị
II.3.1. Thực thể
II.3.2. Ngôn ngữ DDL
II.3.3. Ngôn ngữ truy vấn DML
II.3.4. Khả năng thay đổi hệ thống
II.3.5. Xử lý câu truy vấn ở mức độ nâng cao
<b>Chương 3. MỘT SỐ ỨNG DỤNG CỦA CƠ SỞ DỮ LIỆU ĐỒ THỊ </b>
I. Mạng xã hội Twitter với FlockDB
II. Điện toán đám mây với InfiniteGraphDB
III. Facebook với Cassandra
<b>Chương 4. XÂY DỰNG ỨNG DỤNG MẠNG XÃ HỘI ĐƠN GIẢN</b>
I. Giới thiệu ứng dụng
II. Phân tích ứng dụng
III. Cài đặt ứng dụng
Kết luận
Tài liệu tham khảo

Ở phần ứng dụng chương 4, em chỉ xây dựng mạng xã hội kết bạn đơn giản để minh họa cách sử dụng cơ sở đồ thị.

Cảm ơn thầy
VT

Kính gởi Thầy Phúc

Theo sự hướng dẫn của thầy, em đang nghiên cứu về Graph Database. Quả thật, đây là vấn đề đang “hot” hiện nay liên quan đến social network. Ngoài Neo4j mà thầy đề cập, em tìm trên internet có SONES cũng là Graph Database có hỗ trợ thêm C#, PHP còn Neo4j hỗ trợ lập trình Java, Python. Em dự định làm bài thu hoạch theo hướng Graph Database có được không thầy. Xin thầy cho em ý kiến.

Cảm ơn thầy
VT

Kính gửi thầy.
Theo em nhận thấy đối với những bài toán nhận dạng ví dụ như nhận dạng khuôn mặt người, nhận dạng dấu vân tay nếu dùng Graph DB làm thì thường có 2 giai đoạn khác nhau.

  1. Chuyển khuôn mặt người (dấu vân tay) về dạng dữ liệu đồ thị.
  2. Nhận dạng đồ thị đó dựa trên dữ liệu đã lưu trữ sẳn. (Similairty search in Graph DB)
    Do đó, em có ý định xây dựng bài tiểu luận từ bước thứ 2 trở đi (bởi vì bước đầu tiên thiên về xử lý ảnh).
    Cụ thể như sau : Em sẽ xây dựng một chương trình dùng để thao tác trên dữ liệu đồ thị chức năng của chương trình là
  • Nhập một đồ thị. Giao diện sẽ hỗ trợ nhập từ file txt (file ma trận kề của đồ thị) hoặc nhập trực tiếp từ giao diện. Hệ thống sẽ vẽ đồ thị đó lên giao diện một cách trực quan để người sử dụng dễ hình dung.
    +Sau khi nhập liệu xong thì người dùng sẽ thao tác trên đồ thị đó. Ví dụ như muốn tìm kiếm xem có đồ thị nào đẳng cấu, tương tự với đồ thị đó không.
  • Sau khi người dụng chọn chức năng cụ thể như tìm kiểm đồ thị đẳng cấu. thì hệ thống sẽ hiển thị số lượng đồ thị tương tự với đồ thị cần tìm và hiển thị ra danh sách (hình vẽ) kết quả.
  • Người dùng có thể thêm đồ thị mới này vào database nếu muốn (ví dụ như trường hợp muốn thêm dấu vân tay mới vào dữ liệu).

Em nghĩ khi hoàn thiện thì chương có thể được xem là 1 plug in cho hệ thống nhận dạng.
Mong thầy góp ý thêm cho em.
ND.