Hi Hetui,
in the past I've discussed such kind of system. We came up with a model at
http://i.imgur.com/QprlkJT.png. The basic idea is that you organize schools
in a geo-hierarchic way. Degree is a node representing a student appearing
in a class at a given school year.
grade, schoolYear, lesson and school are basically categorizations. E.g.
for grade you have a node for each available degree (1,2,3,4,5,6 in
Germany). Since the categorizations are independent you can basically ask
any kind of question, e.g. avg grade over for a given lesson in a certain
school district:
MATCH (:District {district:'<name of
district>'})<-[:SCHOOL]-(degree)-[:LESSON]->(:Lesson
{lessonName:{'Graphtheory'})
RETURN AVG(degree.degree)
Cheers,
Stefan
2013/12/18 JDS <[email protected]>
> If you wouldn't mind sharing your current MySQL schema with me I'll be
> happy to help you translate it into Neo4j and give you some examples of the
> difference in syntax and structure, as well as some of the benefits of
> long-term maintenance/modifications with Neo4j.
>
>
> On Wednesday, December 18, 2013 5:30:39 PM UTC, JDS wrote:
>>
>> Personally I think a graphing database like Neo4j would be great for
>> this, you could have Student nodes with properties such as name, grade,
>> age, etc... and you could create test nodes for each test with properties
>> such as subject, length, type (quiz, test, etc...), etc... and you could
>> then attach the students to nodes with relationships such as tested with
>> properties on the relationships such as score, pass status etc... Using the
>> student to test relationships you could calculate average score per test,
>> even score per test per subject or type, average pass/fail rate, and you
>> could use the test nodes to evaluate the relationship properties by average
>> pass/fail per test rate, etc...
>>
>> Hope this helps. Personally I find the graphing nature of Neo4j to be
>> much more flexible for modification if you need to add properties or
>> different relationship types than your typical RDBMS such as MySQL. I was
>> using MySQL for some of our previous projects but we then had to run the
>> results through other analytic engines to gain the graphing relations
>> anyway, so with Neo4j you can move a lot of that work directly into the
>> database using Cypher.
>>
>> Best of luck.
>>
>> On Wednesday, December 18, 2013 12:07:16 PM UTC, Hetul Kothari wrote:
>>>
>>> I am working on a project for preparing report cards for students and
>>> running some basic computations like averages, comparisons etc...
>>>
>>> As an example, I have list of students studying in different classes
>>> (Grade 1 to Grade 10) having a bunch of subjects and they are being
>>> accessed for many tests for each of the subjects throughout the year...
>>>
>>> At the moment I am using a mysql db but I am evaluating if I could get
>>> the same done using a GraphDB like Neo4j? I am just looking for pointers at
>>> the moment... If it is possible, I can devote more time to go through the
>>> documentation and learning it.. but for now I just need help evaluating
>>> this...
>>>
>>> hk
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
--
You received this message because you are subscribed to the Google Groups
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.