@@ -130,33 +130,40 @@ def recommendations():
130130 }
131131 BIND(tmr4i:InternallyInteractingRecommendation AS ?irec)
132132 }"""
133-
133+
134134 internal_interactions = sparql (query , strip = True )
135-
135+
136136 deduped_internal_interactions = []
137137 double_interactions = set ()
138138 print len (internal_interactions )
139+
140+ # Go through all detected internal interactions, and remove the duplicates (but retain directedness).
139141 for r in internal_interactions :
140142 if 'rec' and 'internal_rec' in r :
141143 r1 = r ['rec' ]['value' ]
142144 r2 = r ['internal_rec' ]['value' ]
143-
144- if (r2 , r1 ) in double_interactions or ( r1 ,r2 ) in double_interactions :
145+
146+ if (r1 ,r2 ) in double_interactions :
145147 log .debug ("Interaction couple already found" )
148+ elif (r2 , r1 ) in double_interactions :
149+ log .debug ("Interaction couple found in other direction, still adding" )
150+ double_interactions .add ((r1 ,r2 ))
151+ deduped_internal_interactions .append (r )
146152 else :
153+ log .debug ("Interaction couple is fresh! Yum." )
147154 double_interactions .add ((r1 ,r2 ))
148155 deduped_internal_interactions .append (r )
149156 else :
150157 deduped_internal_interactions .append (r )
151158
152159 print len (deduped_internal_interactions )
153-
160+
154161 all_results .extend (deduped_internal_interactions )
155-
162+
156163 query = PREFIXES + """
157- SELECT DISTINCT * WHERE
158- {
159- ?rec tmr4i:partOf <""" + guideline_uri + """> .
164+ SELECT DISTINCT * WHERE
165+ {
166+ ?rec tmr4i:partOf <""" + guideline_uri + """> .
160167 ?rec rdfs:label ?rec_label .
161168 ?rec a owl:NamedIndividual .
162169 ?rec tmr4i:interactsExternallyWith ?external_rec .
0 commit comments