-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating repo so that classes extend/implement those defined at bio4j main repository #1
base: master
Are you sure you want to change the base?
Conversation
fine but do it on a different branch |
OK... I like branches so much... 💩 I forgot to ask you, what names should they have?
We could keep Neo4jManager name as it is. |
why not just Vertex and Edge? |
I'm OK with that but in that case we should probably change those at blueprints repository too: |
I just realized that the edge class had such a funny name... perhaps it's the perfect time to name all this with some coherence along Bio4j repositories... 😄 |
OK |
slight problem here: Any ideas? |
but why this is an issue? |
Since in principle I need to find a way to go from a Neo4j node as parameter for a constructor to the underlying blueprints Vertex object in the case we're extending the BasicVertex class at blueprints repo... |
mmm I don't know if I understand you. Just make your neo4j nodes Vertices |
but that would mean that we would have to change everything so that we would be using 100% Blueprints stuff ! 😧 |
what? I see two (or more) options here
|
footnote: I'm bashing Scala a lot lately, but when you see this things in Java, you get some perspective |
I think I'd go for the first option. |
public abstract class Node implements org.neo4j.graphdb.Node, com.tinkerpop.blueprints.Vertex {
// blahblahblah
} |
mmm OK |
not only easier but it actually makes more sense, we want to make use of funky neo4j stuff just as labels and the like |
I'm not sure that I understand your conclusions. The blueprints layer will become useless with neo4j? |
@laughedelic not useless, just not used 👍 |
why is it ok? |
The thing is that in general we will need to change how things are stored at the graph level when implementing technology-specific distributions; given how closely connected to the store level Blueprints is, I don't know if it is possible to have an abstract works-for-everything Blueprints model. And even if it is, that's more or less what the abstract model is for. Right now, I think of the Blueprints layer as a default works-for-every-graph-db distribution. |
ok |
anyway, I'm open to all sort of suggestions about all this |
Summing up then, right now we should update neo4j implementation code so that it implements the interfaces defined at bio4j repo. We'll see in the future what we do so that we can have a tighter direct integration with blueprints repo. Do you both agree on this? |
👍 |
yes, I do |
OK, so I get to work with this |
I just updated the package names in line with bio4j/model. I will finish this tomorrow; @pablopareja once I have this we should start checking if everything goes well with the import etc |
ok 😉 |
hey @pablopareja what I just pushed contains the abstract part for interacting with Neo4j. I implemented a node (not completely) and a rel in this style: |
I cannot get the branch contents.... 😕
I also executed this command trying to get the contents into that new branch but I might have ended up putting them overriding my master contents?
|
git remote update
git checkout <branchname> And yes, you probably merged that branch into your local master. The fastest way out is (if you don't have any local commits) to make a fresh clone |
or |
@pablopareja related with #6 what do you think of this? it will go in the next release, but I don't want to delay it |
Anyway, probably better to wait for the abstract model updates in bio4j/bio4j#36 |
Hey!
We just realized yesterday that we forgot at some point to adapt/update model classes here so that they implement or extends those defined at the main repository by means of the ones in the new and shiny blueprints-specific repository.
So far classes here have been extending those that were defined in the obsolete project BioinfoNeo4j - which were included temporarily in bioinfo-utils repo.
I'm going to create a new set of classes for all this here so that we have something equivalent to what we already got for the Titan implementation.
Let me know if you have any concern/insight on this 😉