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 Sun, 17 Jan 2021 19:39:46 GMT
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 (
arqgabyortiz@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 (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