[ 
https://issues.apache.org/jira/browse/TINKERPOP-2916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17708001#comment-17708001
 ] 

Stephen Mallette commented on TINKERPOP-2916:
---------------------------------------------

More documentation is always a good goal. We've tried to start coming up with 
better provider documentation around Gremlin semantics here:

https://tinkerpop.apache.org/docs/current/dev/provider/#gremlin-semantics

but you can see it is incomplete and progress is slow. I'm not even wholly 
convinced we have the structure for that right in documenting steps so it may 
yet require more change to get that right. I tend to think it better to 
document Gremlin the language rather than the Java implementation for 
describing how steps are meant to work and then enforcing that with the gherkin 
test suite.

As for this issue here, I'm not sure it's good as an issue for JIRA because we 
try to keep the issues created here actionable and this one is really big. 
Realistically, I think the docs will mostly get improved as part of smaller 
bodies of work that involve test improvement, fixes to Gremlin inconsistencies 
and bugs and other similar work on code.

That's not to say we wouldn't like someone to just offer documentation pull 
requests that could help make improvements of the size scoped here though :)

> Documentation of the TinkerPop standard for providers
> -----------------------------------------------------
>
>                 Key: TINKERPOP-2916
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2916
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: language
>    Affects Versions: 3.6.2
>            Reporter: Martin Häusler
>            Priority: Major
>
> As a TinkerPop graph developer, I am often faced with the "internals" of 
> TinkerPop (classes such as {{TraversalRing}} and step classes such as 
> {{CollectingBarrierStep}} which do not appear in the user-level 
> documentation) and I have to do quite a lot of code reading to understand the 
> concepts.
> It would be super helpful to have (at least) class level documentation on how 
> the internal concepts work. Method level documentation would also be nice; 
> for example I only recently fully understood how the {{starts}} field of a 
> traversal really works.
> Alternatively / additionally, a documentation page for TinkerPop providers 
> which explains the non-user-facing (internal) aspects would be nice to have. 
> I know about this page:
> https://tinkerpop.apache.org/docs/current/dev/provider/
> ... and it's good, but it again skips on many internals (for example, it 
> should explain that there are so many different implementations of the 
> Traverser interface because each step has requirements and the requirements 
> of the traversal guide the selection of the traverser class, which have 
> varying capabilities). I've been piecing together this knowledge myself over 
> time, but that's not only tedious, but also somewhat dangerous because I may 
> have got it wrong, or maybe I'm missing some key information. In other words, 
> I feel like we need an RFC-style "standard" which transcends the code itself.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to