Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 29 2016 16:37
    Travis bio4j/angulillos (archive/clean/code/90) passed (221)
  • Oct 29 2016 16:35
    codacy-bot commented #90
  • Oct 29 2016 16:35

    eparejatobes on code

    (compare)

  • Oct 29 2016 16:35
    eparejatobes unlabeled #90
  • Oct 29 2016 16:35

    eparejatobes on clean

    (compare)

  • Oct 29 2016 16:35
    eparejatobes closed #90
  • Oct 29 2016 16:35

    eparejatobes on master

    remove unused Optional imports make schema error messages shor… Merge branch 'clean/code/90' (compare)

  • Oct 29 2016 16:34
    eparejatobes commented #90
  • Oct 29 2016 16:34
    eparejatobes commented #90
  • Oct 29 2016 16:33
    eparejatobes synchronize #90
  • Oct 29 2016 16:33

    eparejatobes on code

    make schema error messages shor… (compare)

  • Oct 29 2016 16:32
    Travis bio4j/angulillos@cb70f33 (clean/code/90) passed (218)
  • Oct 29 2016 16:31
    Travis bio4j/angulillos (archive/update/build/88) passed (217)
  • Oct 29 2016 16:31
    eparejatobes labeled #90
  • Oct 29 2016 16:31
    eparejatobes opened #90
  • Oct 29 2016 16:31

    eparejatobes on code

    remove unused Optional imports (compare)

  • Oct 29 2016 16:29

    eparejatobes on build

    (compare)

  • Oct 29 2016 16:29
    eparejatobes unlabeled #88
  • Oct 29 2016 16:29

    eparejatobes on update

    (compare)

  • Oct 29 2016 16:29
    eparejatobes closed #88
Eduardo Pareja Tobes
@eparejatobes
everything should be done on the graph
Alexey Alekhin
@laughedelic
but in any untyped graph API this will be on the vertex
I don't see these methods as behaviour. as I wrote, they are just some shortcuts, that come from the way you defined your edges types.
Eduardo Pareja Tobes
@eparejatobes
it won't be on the vertex
just check the code of any graph db
it will be in the end directed to a transaction
Alexey Alekhin
@laughedelic
tell me how it is Titan? or in Tinkerpop API?
Eduardo Pareja Tobes
@eparejatobes
i.e. a graph
Alexey Alekhin
@laughedelic
I see TitanVertex.query() and what it inherits from tinkerpop: gremlin.structure.Vertex.edges()
when you imlpement it in angulillos-titan, you do it by using these methods on the (raw) source vertex.
Alexey Alekhin
@laughedelic
here these methods are in the end directed to the graph's .outE as well
but Titan doesn't expose an API for doing this from the graph (as there is no point in such API, because if you already have the source vertex, what's the point)
Eduardo Pareja Tobes
@eparejatobes
what do you mean?
all outV/in/whatever
is implemented by delegating to the tx = graph
for example
Alexey Alekhin
@laughedelic
I'm saying that
  • on the level of implementation, it's the same in #54 (everything is done through the graph)
  • and on the level of API, (as far as I see) you cannot do that in Titan from the graph

I don't see the point in this huge code duplication :neutral_face:

If we are talking about the current situation, we have only one half-baked implementation using Titan and it doesn't have any special API for retrieving edges according to their arity.

And if you are talking about extensibility for other implementations, then these methods should be in the untyped graph.

Eduardo Pareja Tobes
@eparejatobes
I don't see any code duplication
you can refine untyped graph later on and add them if needed
if you add them to the untyped graph you create more objects in this case
and again, the whole point is to have all behavior centralized
in the corresponding graph
Alexey Alekhin
@laughedelic
are you going to override these methods in a particular typed graph?
Eduardo Pareja Tobes
@eparejatobes
it's perfectly possible
Alexey Alekhin
@laughedelic
I think that implementations of TypedGraph shouldn't depend on a particular UntypedGraph backend
Eduardo Pareja Tobes
@eparejatobes
they could. There's no other way of doing ad-hoc polymorphism than through subclassing
Alexey Alekhin
@laughedelic
typed graph as well as typed vertex/edge, etc are just a way to declare the graph schema and use the API taking dvantage of this schema