Repository: pykeen/pykeen
Issue: New feature in the prediction of heads or tails 
Root cause: Unimplemented Feature Gap

**Is your feature request related to a problem? Please describe.**
Suggestion 

**Describe the solution you'd like**

I used PyKEEN and I think it may be good to add a new argument to the two function `get_tail_prediction_df()` and `get_head_prediction_df()` to just produce the new entities with heads or tails with the new relation, for example, if I ask about tails increases by X and not in the training or testing `get_tail_prediction_df (result.model, X, 'increases', remove_known=True , triples_factory=result.training)` but I will get some entities that already have another relation with X than increases. 

**Describe alternatives you've considered**
Add an option to the function to find the new entities that have specific relation with head or tail and at the same time do not have any relation with this head/tail in the KG. 

**Additional context**
Add any other context or screenshots about the feature request here.


For my understanding: Let's assume there is another training triple `(X, contains, Y)`, then you want to filter out `Y` from the predictions of `(X, increases, ?)`?

> For my understanding: Let's assume there is another training triple `(X, contains, Y)`, then you want to filter out `Y` from the predictions of `(X, increases, ?)`?

Yes , exactly 

Okay, I think this is a rather unusual use case for KG link prediction, since KG allow having more than one statement about a pair of entities.

However, since the output of the `predict_*` functions is a pandas dataframe, you can easily remove the unwanted triples, e.g., using https://stackoverflow.com/a/40209800

Sure , I did it already, but I think it may be helpful to add it  to Pykeen because I thought it is more meaningful. 

Furthermore , I used this point after that to implement another function to predict all prediction related to just one entity with all relations instead of the function (get_all_prediction_df) which takes high memory for entities with all relations. 

> Furthermore , I used this point after that to implement another function to predict all prediction related to just one entity with all relations instead of the function (get_all_prediction_df) which takes high memory for entities with all relations.

So here you were looking to predict `(e, ?, ?)`, or at least the top-k scored triples?

> > Furthermore , I used this point after that to implement another function to predict all prediction related to just one entity with all relations instead of the function (get_all_prediction_df) which takes high memory for entities with all relations.
> 
> So here you were looking to predict `(e, ?, ?)`, or at least the top-k scored triples?

Yes , but in both cases head or tail `(e, ? , ?) and (?,? , e)`

It might also be possible to adapt the utility function
https://github.com/pykeen/pykeen/blob/13cf5cdfe831029b7e48c98849536bd78f2546e7/src/pykeen/models/predict.py#L461-L464
to only loop over those triples you are interested in, and write a appropriate score consumer here.

May I can try this also, but I implemented it separately  to find over all relations and over all entities with a specific entity  and then choose for each predicted entity the relation with the highest score and then sort them All.