@@ -137,6 +137,43 @@ def get_node(self, node_id):
137137
138138 return data
139139
140+ def get_nodes_in (self , node_id ):
141+ """
142+ Retrieves the nodes that link to the OSDF node identified by the
143+ given the node ID.
144+
145+ """
146+ url = "/nodes/{}/in" .format (node_id )
147+ osdf_response = self ._request .get (url )
148+
149+ if osdf_response ["code" ] != 200 :
150+ headers = osdf_response ['headers' ]
151+ self .header_error (headers , 'retrieve' , 'node' )
152+
153+ data = json .loads ( osdf_response ['content' ] )
154+
155+ data = self ._byteify (data )
156+
157+ return data
158+
159+ def get_nodes_out (self , node_id ):
160+ """
161+ Retrieves the OSDF nodes that the given node links to (via it's linkage
162+ field).
163+ """
164+ url = "/nodes/{}/out" .format (node_id )
165+ osdf_response = self ._request .get (url )
166+
167+ if osdf_response ["code" ] != 200 :
168+ headers = osdf_response ['headers' ]
169+ self .header_error (headers , 'retrieve' , 'node' )
170+
171+ data = json .loads ( osdf_response ['content' ] )
172+
173+ data = self ._byteify (data )
174+
175+ return data
176+
140177 def get_node_by_version (self , node_id , version ):
141178 """
142179 Given a numerical version number, retrieves an OSDF node's data
0 commit comments