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

Horacio Hoyos Rodriguez commented on TINKERPOP-1998:
----------------------------------------------------

I will try to explain myself better.
 * Used "default" to refer to the fact that most tests are happy to use 
"vertex" for vertex labels and "edge" for edge labels.
 * Tests that don't traverse edges use a single label for vertices: "vertex". 
Since these tests don't add edges to the graph, the edge labels are irrelevant.
 * Tests that traverse edges use an existing graph (via @LoadGraphWith), use 
the schema of one of these graphs, or use arbitrary vertex/edge labels.

In the specific case of shouldReadWriteModernToFileWithHelpers: the test 
initially creates a graph called "standard" that expects the following schema:
 * vertex labels: vertex, person, software;
 * edge labels: knows, edge, created
 * relations :knows:person->person, edge:vertex->vertex, 
created:person->software

In the second part of the test, the "readGraph" is created, and this one 
expects (an additional relation):
 * vertex labels: vertex, person, software;
 * edge labels: knows, edge, created
 * relations :knows:person->person, edge:vertex->vertex, 
created:person->software, knows:vertex->vertex

The additional relation is also tricky because it requires the graph to support 
multi-edges (we are missing a supportsMultiEdges() in the GraphFeatures since, 
for example, ArangoDB multi-edges – edges that can connect different type 
(label) of vertices – are not supported).

Other thoughts: If the test is using "person" and "software" vertex labels, why 
does it need/use the vertex and edge ones?

> If you could compile a list and where they are used that would be amazing. In 
> addition to adding that information to the provider documentation, I would 
> likely recommend  
   that we try to collapse those variations down and possibly push them into 
the "sink" data set:

I am writing all my findings on implementing the API and running the tests. 
Once I have managed to run most of them I will publish it somewhere and from 
there we can decide what is the best way to add it to the official docs.



> IoGraphTest use different schemas for standard and readGraph configurations
> ---------------------------------------------------------------------------
>
>                 Key: TINKERPOP-1998
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1998
>             Project: TinkerPop
>          Issue Type: Improvement
>    Affects Versions: 3.3.0
>            Reporter: Horacio Hoyos Rodriguez
>            Priority: Minor
>
> In ArangoDB labels used by vertices and edges must be known in order to 
> create a graph. As a result this information should be available at startup, 
> i.e via configuration. For example _shouldReadWriteModernToFileWithHelpers_ 
> test expects a different schema from the *standard* graph than from the 
> *readGraph*, the latter attempts to create vertices in a (default) vertex 
> collection instead of using the people or software ones that were used for 
> the former. 
> It would also help, for graph technologies that require schemas, to have a 
> document that describe the schemas used/expected in the tests. I am 
> collecting this information atm, but having to run failing tests to capture 
> what label/edges I am missing for each test is a PITA.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to