[
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)