Skip to content
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

Ophion differences #21

Open
kellrott opened this issue Dec 20, 2017 · 8 comments
Open

Ophion differences #21

kellrott opened this issue Dec 20, 2017 · 8 comments
Assignees

Comments

@kellrott
Copy link
Member

We need to resolving differences from the different versions of the Ophion API.

Current version:
https://github.com/bmeg/ophion/blob/master/proto/ophion.proto

Proposed Next Version (named AQL to avoid namespace collision)
https://github.com/bmeg/arachne/blob/master/aql/aql.proto

@buchanae
Copy link

  • ophion is missing all the service definitions

@prismofeverything
Copy link
Contributor

What is the benefit of google.protobuf.ListValue over repeated?

Seems like the service definitions could be ported straight over. The main difference seems to be the addition of a graph parameter to queries to support multiple graphs, which is a pretty straightforward change.

@buchanae
Copy link

As I understand it, ListValue exists to support dynamically typed list items. Not sure if it applies here though.

@buchanae
Copy link

Seems like potentially the Ophion protobuf doesn't match the actual query schema used by the clients. @prismofeverything Is that true? If so, we'll need to resolve that before AQL can be synced up.

@prismofeverything
Copy link
Contributor

prismofeverything commented Dec 22, 2017 via email

@buchanae
Copy link

I was looking for Traversal.statement.hasLabel. Possibly I'm just reading it wrong though. My plan was to get familiar with the clients so I can get a better feel for the diff.

I guess another approach would be to encode a bunch of queries using only the Protobuf and see what fails.

Is there a definite source of truth I can look at?

@prismofeverything
Copy link
Contributor

prismofeverything commented Dec 22, 2017 via email

@buchanae
Copy link

Here are the items I propose we resolve. I'm viewing AQL as a minimal, experimental proof-of-concept, rather than a full replacement for Ophion, so the items here are aimed at merging interesting features into Ophion. If that's not true, let's discuss that.

  • Ophion adds the concept of multiple graphs.
  • Ophion adds the service API, both query and edit.
  • Ophion is overusing the Labels message type and it's confusing. label is a core concept and shouldn't be used generically, for example, to describe the list of IDs passed to V().
    • Create a new message types for IDs, Marks, etc.
  • Document search
    • why was it added as a new concept over the gremlin spec
    • how is it intended to behave
    • or, consider removing it and making a full proposal for the problem it's intending to solve.
  • Write proposal for resolving diff in Edge message type by removing fromLabel and toLabel from Ophion
  • Write a proposal for the Bundle concept. The proof of concept exists, now it's time to explain it more thoroughly and make it a full proposal.
  • Write a proposal for adding Javascript code execution to Ophion.
  • I'm not sure if AQL is proposing to change the nomenclature of from/to to in/out. If so, write a proposal for it.

Keep in mind that a proposal should...

  • identify and explain the problem
  • propose the solution
  • describe the impact (server, spec, clients, docs, versioning, etc)
  • be discussed and refined before being merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants