gora-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Mora <jhnmora...@gmail.com>
Subject Re: Outreachy 2020-2021 - Neo4j - Weekly reports.
Date Wed, 06 Jan 2021 21:10:39 GMT
Hi

Thanks for your report.

Some comments:

You are creating a UNIQUE index instead of the NODE KEY you mentioned on
your design document. why?

https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/main/java/org/apache/gora/neo4j/store/Neo4jStore.java#L141

Also, can you write the CREATE CONSTRAINT query with Cypher-DSL?

Please add javadoc documentation and comments on these classes:

https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/main/java/org/apache/gora/neo4j/store/Neo4jConstants.java
https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/main/java/org/apache/gora/neo4j/store/Neo4jParameters.java

Please add a test for the XSD Validation

https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/main/resources/gora-neo4j.xsd

Cheers,
John

El dom, 3 ene 2021 a las 23:12, gabriela ortiz (<arqgabyortiz@gmail.com>)
escribió:

> Hi
>
> I wanted to inform the tasks I worked on this week: Dec 26 - Dec 31
>
> * Develop the Datastore methods: getSchemaName, createSchema, deleteSchema,
> schemaExists
> * Enable tests in Neo4jStoreTest : testCreateSchema ,  testSchemaExists
> * Enhance the implementation of the connection to the backend.
> * Write a blog about my project.
>
> You can find my code in my branch:
>
> https://github.com/mgov88/gora/tree/GORA-663
>
> Best Regards,
> Gaby
>
> El mié, 30 de dic. de 2020 a la(s) 13:28, John Mora (jhnmora000@gmail.com)
> escribió:
>
>> Hi
>>
>> Thanks for your report.
>>
>> The Utils package is specific for each datastore; it is not mandatory.
>> You can move some code there to improve the readability of the core classes
>> of the datastore but it is up to you.
>>
>> I could not find your last changes in your branch in github, please make
>> sure to push the commits, so I can review the code.
>>
>> Cheers,
>> John
>>
>>
>> El mar, 29 dic 2020 a las 1:03, gabriela ortiz (<arqgabyortiz@gmail.com>)
>> escribió:
>>
>>> Hi
>>>
>>> I wanted to inform the tasks I worked on this week: Dec 19 - Dec 25
>>>
>>> * I developed a GoraTestDriver for Neo4j using GenericContainer from
>>> the Test Containers library
>>> * I developed the initialize method from Neo4jStore to establish
>>> connection to the backend (Neo4j)
>>> * I developed a XSD validation file for the XML mapping
>>>
>>> I have a question, I realized that some Datastores have 'utils' packages
>>> in the code, are they obligatory? What kind of code should go in them?
>>>
>>> Best Regards,
>>> Gaby
>>>
>>>
>>>
>>> El lun, 21 de dic. de 2020 a la(s) 15:45, gabriela ortiz (
>>> arqgabyortiz@gmail.com) escribió:
>>>
>>>> Hi John
>>>>
>>>> El sáb, 19 de dic. de 2020 a la(s) 17:13, John Mora (
>>>> jhnmora000@gmail.com) escribió:
>>>>
>>>>> Hi Gaby
>>>>>
>>>>> Thanks for your report and your hard work!
>>>>>
>>>>> I left some comments on your design document please give them a look.
>>>>>
>>>>>
>>>> Thanks you for your comments,
>>>>
>>>>
>>>>> Some comments about your code:
>>>>>
>>>>> IMHO, the attributes unique, exists and index should be optional
>>>>> (default: false) [0].
>>>>>
>>>>
>>>> I agree I will change that
>>>>
>>>>
>>>>> The KeyClassCanonicalName and PersistentClassCanonicalName should be
>>>>> read from the datastore not hard coded [1]
>>>>>
>>>>
>>>> I put that hard coded because I had an error because the Datastore
>>>> methods are not yet implemented, but I will change that.
>>>>
>>>>
>>>>> I think this class [2] should be deleted, there are proper tests for
>>>>> this in the DataStoreTestBase class. If you are using this for your own
>>>>> experiments please do not push it to github.
>>>>>
>>>>>
>>>> yes, I am using this class to temporary test my code, you are right I
>>>> will remove it from github.
>>>>
>>>> Thanks you for your feedback.
>>>>
>>>> Regards,
>>>> Gaby
>>>>
>>>>
>>>>> [0]
>>>>> https://github.com/mgov88/gora/blob/867d06e1fcf29e90b0431b9a42b82810c5409dda/gora-neo4j/src/test/resources/gora-neo4j-mapping.xml
>>>>> [1]
>>>>> https://github.com/mgov88/gora/blob/867d06e1fcf29e90b0431b9a42b82810c5409dda/gora-neo4j/src/main/java/org/apache/gora/neo4j/mapping/Neo4jMappingBuilder.java#L44
>>>>> [2]
>>>>> https://github.com/mgov88/gora/blob/867d06e1fcf29e90b0431b9a42b82810c5409dda/gora-neo4j/src/main/java/org/apache/gora/neo4j/experimental/experiment.java
>>>>>
>>>>> Cheers
>>>>> John
>>>>>
>>>>> El vie, 18 dic 2020 a las 23:06, gabriela ortiz (<
>>>>> arqgabyortiz@gmail.com>) escribió:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> I wanted to inform the tasks I worked on this week: Dec 12 - Dec
18
>>>>>>
>>>>>> * I wrote a blog about the struggles learning CQL of Neo4j :
>>>>>> https://gabycoder88.wordpress.com/2020/12/18/discovering-cypher-everybody-struggles/
>>>>>> * I created the suggested design document (link below ) with details
>>>>>> about the Neo4j datastore.
>>>>>> * I finished creating the structure of the datastore project.
>>>>>> * I developed and tested the parsing of XML mappings for the
>>>>>> datastore from gora-neo4j-mapping.xml
>>>>>> * I developed and tested the read of connection properties from
>>>>>> gora.properties
>>>>>>
>>>>>> My code is here:
>>>>>> https://github.com/mgov88/gora/commits/GORA-663
>>>>>>
>>>>>> My design document:
>>>>>>
>>>>>> https://docs.google.com/document/d/1fQbCHNIFEKxAUlOuwqDRDdnpecLk2S4TkOJSWIk6qCE/edit?usp=sharing
>>>>>>
>>>>>> Best Regards,
>>>>>> Gaby
>>>>>>
>>>>>> El lun, 14 de dic. de 2020 a la(s) 15:25, gabriela ortiz (
>>>>>> arqgabyortiz@gmail.com) escribió:
>>>>>>
>>>>>>> Hi John.
>>>>>>>
>>>>>>> Thanks very much for your feedback. I shall work on the document
and
>>>>>>> the structure of the datastore project.
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Gaby
>>>>>>>
>>>>>>> El sáb, 12 de dic. de 2020 a la(s) 17:43, John Mora (
>>>>>>> jhnmora000@gmail.com) escribió:
>>>>>>>
>>>>>>>> Hi Gaby,
>>>>>>>>
>>>>>>>> Thanks for the update and your hard work.
>>>>>>>>
>>>>>>>> Do  not worry about the paid versions of Neo4j. They all
share a
>>>>>>>> common interface (Cypher Graph Query Language) and connect
using the same
>>>>>>>> protocols, so it is fine that your work only with community
version.
>>>>>>>>
>>>>>>>> Nice to see that you added a basic input/output example working
>>>>>>>> with Neo4j but eventually you should move it to another project.
Now let's
>>>>>>>> create all the packages and resources needed for the structure
of a
>>>>>>>> datastore.
>>>>>>>>
>>>>>>>> I think you should put your ideas in a Google Docs document
and
>>>>>>>> share in the mailing list.
>>>>>>>> * Your UML design* The branch that you are working on.* How
the
>>>>>>>> connection will be implemented.* Which connection parameters
the datastore
>>>>>>>> will need,* How you will set up a testing instance in the
unit test of
>>>>>>>> Gora.* The data type mapping between your datastore and Java
data types.
>>>>>>>> Keep it simple, here [0] you have a document that I made
for the
>>>>>>>> Kudu datastore a couple of years ago.
>>>>>>>>
>>>>>>>> [0]
>>>>>>>> https://docs.google.com/document/d/1colS1ooQZIvuJcnx6DSsZIgesokK8TjwaEfgdygt4mo/edit#heading=h.pcphnswc4uen
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> John
>>>>>>>>
>>>>>>>> El vie, 11 dic 2020 a las 23:06, gabriela ortiz (<
>>>>>>>> arqgabyortiz@gmail.com>) escribió:
>>>>>>>>
>>>>>>>>> Hi all.
>>>>>>>>>
>>>>>>>>> I wanted to inform the tasks I worked on this week: Dec
06 - Dec 11
>>>>>>>>>
>>>>>>>>> - I created a new branch for my project :
>>>>>>>>> https://github.com/mgov88/gora/tree/GORA-663
>>>>>>>>> - I created a new module for datastore gora-neo4j
>>>>>>>>> - I add the maven dependencies for neo4j JDBC and Cypher-DSL
>>>>>>>>> - I read the JDBC and DSL documentation.
>>>>>>>>> - I implemented a example inserting and querying nodes
into neo4j
>>>>>>>>> - I joined the Interns chat session of this week.
>>>>>>>>> - I submitted the forms asked by Outreachy.
>>>>>>>>> - I submitted the initial feedback of Outreachy.
>>>>>>>>>
>>>>>>>>> I have a question, neo4j has many editions (
>>>>>>>>> https://neo4j.com/subscriptions/ ) and the docker that
I have
>>>>>>>>> been using is the community.
>>>>>>>>> Should I be test all the editions, there are demos or
open server
>>>>>>>>> that I can use instead of buying a subscription ?
>>>>>>>>>
>>>>>>>>> Regardss
>>>>>>>>> Gaby
>>>>>>>>>
>>>>>>>>> El sáb, 5 de dic. de 2020 a la(s) 15:21, John Mora (
>>>>>>>>> jhnmora000@gmail.com) escribió:
>>>>>>>>>
>>>>>>>>>> Hi Gaby.
>>>>>>>>>>
>>>>>>>>>> Thanks for your work and  the update of your progress.
>>>>>>>>>>
>>>>>>>>>> Working with docker containers is totally fine, but
take into
>>>>>>>>>> account that you need to expose all the necessary
ports in the container
>>>>>>>>>> for the communication with Apache Gora. Also you
can start checking out
>>>>>>>>>> testcontainers [1] for the unit test of the new datastore.
>>>>>>>>>>
>>>>>>>>>> Your design looks good to me, I noticed that you
plan to use the
>>>>>>>>>> Neo4j driver. If you have some experience working
with JDBC you can also
>>>>>>>>>> use the Neo4j JDBC Driver [2]. But it is up to you,
it should not have any
>>>>>>>>>> impact on the functionality of the datastore.
>>>>>>>>>>
>>>>>>>>>> [1] https://www.testcontainers.org/
>>>>>>>>>> [2] https://github.com/neo4j-contrib/neo4j-jdbc
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> John
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> El sáb, 5 dic 2020 a las 8:20, Madhawa Kasun Gunasekara
(<
>>>>>>>>>> madhawa30@gmail.com>) escribió:
>>>>>>>>>>
>>>>>>>>>>> Hi Gaby,
>>>>>>>>>>>
>>>>>>>>>>> Thanks for the update. Yes, we haven't tested
Gora in java11, So
>>>>>>>>>>> I don't think you should spend time on installing
neo4j locally. docker
>>>>>>>>>>> container is enough.
>>>>>>>>>>> Please add your project proposal to the confluence
page as well
>>>>>>>>>>> [1]. I wish you good luck with this project.
Let me know if you have any
>>>>>>>>>>> questions.
>>>>>>>>>>>
>>>>>>>>>>> [1]
>>>>>>>>>>> https://cwiki.apache.org/confluence/display/GORA/Outreachy%3A+2020+Winter
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Madhawa
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Sat, Dec 5, 2020 at 6:29 AM gabriela ortiz
<
>>>>>>>>>>> arqgabyortiz@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi
>>>>>>>>>>>> I wanted to inform the tasks I worked on
this week: Dec 01 -
>>>>>>>>>>>> Dec 05
>>>>>>>>>>>>
>>>>>>>>>>>> 1. I created a personal Blog for Outreachy
reports:
>>>>>>>>>>>> https://gabycoder88.wordpress.com/
>>>>>>>>>>>> 2. I wrote the first post of my blog titled
'About me':
>>>>>>>>>>>> https://gabycoder88.wordpress.com/2020/11/30/example-post-3/
>>>>>>>>>>>> 3. I joined the Outreachy Zulip server for
the chats.
>>>>>>>>>>>> 4. I installed Neo4j on my computer using
docker * .
>>>>>>>>>>>> 5. I drew a class diagram of my project (attached).
>>>>>>>>>>>> 6. I read the Neo4j documentation about the
Java connector,
>>>>>>>>>>>> Neo4j (Neo4j Driver) syntax and concepts
of graph databases.
>>>>>>>>>>>>
>>>>>>>>>>>> * I tried to install native Neo4j, but I
figured that Neo4j
>>>>>>>>>>>> requires java 11 and apache gora requires
java 8, hence I preferred to
>>>>>>>>>>>> install using docker to avoid any issues
with the java version. Is a docker
>>>>>>>>>>>> container enough or I must install natively?
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Gaby
>>>>>>>>>>>>
>>>>>>>>>>>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message