dig-team / amie

Mavenized AMIE+Typing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question - Interpretation of != in discovered rules

kliegr opened this issue · comments

When mining with constants, I sometimes get rules that contain "!=" as in

?e  <https://w3id.org/biolink/vocab/interacts_with>  ?b  ?q  <https://w3id.org/biolink/vocab/interacts_with>  ?b  ?e  <https://w3id.org/biolink/vocab/interacts_with>  ?l  ?q  <https://w3id.org/biolink/vocab/interacts_with>  ?l  ?e!=<http://ensembl.org/id/Cx> ?q!=<http://ensembl.org/id/Cx>  => <http://ensembl.org/id/Cx>  <https://w3id.org/biolink/vocab/interacts_with>  ?b	0.2	0.5	0.5	3	6	6	-2

Do I interpret this correctly as non-equality, i.e., variable q must not be bound to "http://ensembl.org/id/Cx"? Is this feature unique to AMIE3? Is it possible to control whether rules containing this pattern will be output?

Hi,

This is non-equality.

If you have the atom <interacts_with> ?b and AMIE adds an atom ?q <interacts_with> ?b then it will also add the atom ?q != . The variable ?q is existential as we only need one instantiation of it per instantiation of ?b to have a match. The case ?q == is not interesting.

The InjectiveMappingsAssistant I told you about in the other thread is doing something similar, adding != atoms behind the scenes.

If you want to remove the atom, you will have to implement your own mining assistant.

Cheers,
Jonathan