def xquery_socket(raw_xml):
"""Function takes raw_xml and converts to BIBFRAME RDF
Args:
raw_xml -- Raw XML
"""
xquery_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
xquery_server.connect(('localhost', 8089))
xquery_server.sendall(raw_xml + b'\n')
rdf_xml = b''
while 1:
data = xquery_server.recv(1024)
if not data:
break
rdf_xml += data
xquery_server.close()
bf_graph = rdflib.Graph()
for namespace in [("bf", "http://bibframe.org/vocab/"),
("schema", "http://schema.org/")]:
bf_graph.namespace_manager.bind(namespace[0], namespace[1])
bf_graph.parse(data=rdf_xml.decode(), format='xml')
return bf_graph
评论列表
文章目录