Hi. Thanks for the update.
Some comments: Please use constants instead of literal values here: https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/test/java/org/apache/gora/neo4j/GoraNeo4jTestDriver.java#L37 Add javadocs in these classes: https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/test/java/org/apache/gora/neo4j/store/Neo4jStoreTest.java https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/test/java/org/apache/gora/neo4j/GoraNeo4jTestDriver.java Add descriptions for the attributes of these classes: https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/main/java/org/apache/gora/neo4j/mapping/Neo4jMapping.java https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/main/java/org/apache/gora/neo4j/mapping/Property.java Please do not forget to submit your midpoint feedback. It is due Jan. 12 4pm UTC. Cheers, John El sáb, 9 ene 2021 a las 18:18, gabriela ortiz (<arqgabyor...@gmail.com>) escribió: > Hi all. > > I wanted to inform the tasks I worked on this week: Jan 01 - Jan 08 > > - Develop a test for XSD validations. > - Develop methods: exists and delete in the datastore. > - Switch to Neo4j Enterprise from Neo4j Community in the container of the > tests. > - Add comments and javadocs > - Change the UNIQUE indexes for NODE KEY indexes (present in the Neo4j > Enterprise version) > > My code is here: https://github.com/mgov88/gora/tree/GORA-663 > > Regardss > Gaby > > El jue, 7 de ene. de 2021 a la(s) 13:28, gabriela ortiz ( > arqgabyor...@gmail.com) escribió: > >> Hi John >> >> Thanks for your comments. >> >> >> El mié, 6 de ene. de 2021 a la(s) 16:10, John Mora (jhnmora...@gmail.com) >> escribió: >> >>> 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 >>> >>> >> I found this limitation in the Neo4j community version: "Node key >> constraints, node property existence constraints and relationship property >> existence constraints are only available in Neo4j Enterprise Edition". >> >> And, the UNIQUE indexes work in the community version. Should I seek a >> trial version of the enterprise version or work only with the UNIQUE >> indexes of the community version? >> >> >> >>> Also, can you write the CREATE CONSTRAINT query with Cypher-DSL? >>> >>> >> I could not find a API for constraints creation in Cypher DSL. The >> create statements that I found are only for nodes. >> >> 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 >>> >>> I will add the documentation >> >> >>> Please add a test for the XSD Validation >>> >>> >>> https://github.com/mgov88/gora/blob/GORA-663/gora-neo4j/src/main/resources/gora-neo4j.xsd >>> >>> I will add a test for this. >> >> >>> Cheers, >>> John >>> >>> El dom, 3 ene 2021 a las 23:12, gabriela ortiz (<arqgabyor...@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 ( >>>> jhnmora...@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 (< >>>>> arqgabyor...@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 ( >>>>>> arqgabyor...@gmail.com) escribió: >>>>>> >>>>>>> Hi John >>>>>>> >>>>>>> El sáb, 19 de dic. de 2020 a la(s) 17:13, John Mora ( >>>>>>> jhnmora...@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 (< >>>>>>>> arqgabyor...@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 ( >>>>>>>>> arqgabyor...@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 ( >>>>>>>>>> jhnmora...@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 (< >>>>>>>>>>> arqgabyor...@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 ( >>>>>>>>>>>> jhnmora...@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 (< >>>>>>>>>>>>> madhaw...@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 < >>>>>>>>>>>>>> arqgabyor...@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 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>