gora-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gabriela ortiz <arqgabyor...@gmail.com>
Subject Re: Outreachy 2020-2021 - Neo4j - Weekly reports.
Date Mon, 11 Jan 2021 14:46:34 GMT
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 (jhnmora000@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 (<arqgabyortiz@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 (
>> arqgabyortiz@gmail.com) escribió:
>>
>>> Hi John
>>>
>>> Thanks for your comments.
>>>
>>>
>>> El mié, 6 de ene. de 2021 a la(s) 16:10, John Mora (jhnmora000@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 (<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