Issue (bug?) with rich relationship directions (GraphQL Java)

Using neo4j-graphql-java (1.5.0):

I have a hierarchical tree of users and "SPONSOR" relationships to form that tree. Each User has a single sponsor (outgoing to 1 User) and a "firstline" (multiple Users - incoming)

This is an excerpt of the schema:

type User {
	uid: ID!
	username: String
	.....
	sponsor: Sponsor
	firstline: [Sponsor]
}

type Sponsor @relation(name: "SPONSOR", from: "user", to: "sponsor") {
	user: User
	sponsor: User

	created: LocalDateTime
	cause: String
	.....
}

Is there a way to specify the direction on a rich relationship where from and to both use the same node type (e.g. in lines 5 and 6 telling the Sponsor type that in one case "this" =="user" and in the other case "this"=="sponsor")?

Because querying the above schema like this:

query {
	user(uid: "${uid}") {
		uid
		username
		.....
		sponsor {
			created
			cause 
			sponsor {
				uid
				.....
			}
		}
		firstline {
			user {
				uid
				.....
			}
		}
	}
}

...Generates this cypher :

MATCH (user:User)
WHERE user.uid = $userUid
CALL {
	WITH user
	OPTIONAL MATCH (user)<-[userSponsor:SPONSOR]-(userSponsorUser:User)
	RETURN userSponsor {
		.created,
		.cause,
		sponsor: userSponsorUser {
			.uid,
			.....
		}
	} AS userSponsor LIMIT 1
}
CALL {
	WITH user
	MATCH (user)<-[userFirstline:SPONSOR]-(userFirstlineUser:User)
	RETURN collect(userFirstline {
		user: userFirstlineUser {
			.uid,
			.....
		}
	}) AS userFirstline
}
RETURN user {
	.uid,
	.....
	sponsor: userSponsor,
	firstline: userFirstline
} AS user

The second subquery would be correct (firstline is INcoming on user) but the first subquery should be outgoing TO the sponsor user.
I thought maybe the match is based on the names ("user" and "sponsor") but it obviously isn't and the queries are always generated as if the relationship is incoming.

How can I work around this?


EDIT:
Allow me to tag on a 2nd question right away because it is related:
How can I order the "firstline" result by a property of the related nodes?

Without the rich relationship type I can query

.....
firstline(orderBy: number_asc) {
	uid
	number
	....
}
.....

But with the rich relationship I can not do something like:

.....
firstline(orderBy: user.number_asc) {
	user {
		uid
		number
		....
	}
}
.....

Is there a way?