Regarding your first question, try this in Java:
which should give you a list of Java objects that contain the outgoing and incoming labels for each connection.
In the Gremlin console, you could do this:
mgmt.getEdgeLabel("knows").mappedConnections().incomingVertexLabelwhich is a bit hacky but hopefully shall work. Feel free to create a feature request on GitHub and link to this thread.
Regarding your second question, IIRC there is no such API available.