Hi all. I wanted to inform the tasks I worked on this week: Jan 09 - Jan 15 .
- Enhance the javadocs documentation. - Replace literal values with constants. - Develop the put() method of the datastore. - Test the put / exists methods. - Write a blog for this week. My code is here: https://github.com/mgov88/gora/tree/GORA-663 Regardss Gaby El lun, 11 de ene. de 2021 a la(s) 09:46, gabriela ortiz ( arqgabyor...@gmail.com) escribió: > Hi > > Thanks for your comments. I will add the missing documentation and thanks > for your reminder I will fill the form now. > > Best regards, > Gaby > > El lun, 11 de ene. de 2021 a la(s) 00:16, John Mora (jhnmora...@gmail.com) > escribió: > >> 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 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>