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 (<[email protected]>) 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 ([email protected]) > 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 (<[email protected]>) >> 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 ( >>> [email protected]) escribió: >>> >>>> Hi John >>>> >>>> El sáb, 19 de dic. de 2020 a la(s) 17:13, John Mora ( >>>> [email protected]) 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 (< >>>>> [email protected]>) 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 ( >>>>>> [email protected]) 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 ( >>>>>>> [email protected]) 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 (< >>>>>>>> [email protected]>) 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 ( >>>>>>>>> [email protected]) 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 (< >>>>>>>>>> [email protected]>) 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 < >>>>>>>>>>> [email protected]> 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 >>>>>>>>>>>> >>>>>>>>>>>

