Реализация сценария вопросов и ответов с базой данных Graph

Я хотел знать, правильно ли я реализую сканирование Graph DB или нет. Я пытаюсь с Titan Graph Database и neo4j

user-1 задал вопрос this is question1 пользователю user-2

user-2 ответил на этот вопрос

user-3 тоже ответил на этот вопрос

Вот картинка Как я это делаю. Я делаю это правильно или есть место для улучшения??

введите здесь описание изображенияЯ хочу получить следующий ответ на запрос с этой картинки:

  • Вопрос, заданный пользователем
  • Вопрос задан пользователю
  • Всем ответ на вопрос.
  • Кто ответил на вопрос (вот мое сомнение в изображении выше, потому что у меня нет прямой связи с пользователем, который ответил. Одним из решений, о котором я думаю, будет ребро от вершины пользователя к вершине вопроса, но я не уверен, что это эффективно или нет)

person Manish Kumar    schedule 07.02.2014    source источник
comment
Я думаю, что уйду сразу после просмотра этого 1.bp.blogspot.com/-J0yE-6wPAbY/URJVjDO9ETI/AAAAAAAAAI28/   -  person Manish Kumar    schedule 07.02.2014


Ответы (1)


Я думаю, что ваша модель разумна

Я показываю несколько примеров операторов Neo4j Cypher для ваших вопросов:

Questions asked by a user
MATCH (u:User {name:{name}})-[:ASKED]->(q:Question) RETURN q
Question asked to a user
MATCH (u:User {name:{name}})<-[:ASKEDTO]-(q:Question) RETURN q
All reply to a question.
MATCH (a:Answer)<-[:REPLYTO]->(q:Question {id:{question}) RETURN a
Who replied to a question
MATCH (u:User)-[:REPLY]->(a:Answer)<-[:REPLYTO]->(:Question {id:{question}) RETURN a,u

Не стесняйтесь ознакомиться с онлайн-курсом Neo4j, чтобы узнать подробности.

person Michael Hunger    schedule 11.02.2014