def buildGraphFromJson(jsonData): graph = Graph() jsonDict = json.loads(jsonData) for sub, predDict in jsonDict.items(): subToPut = None if sub.startswith("http"): subToPut = URIRef(sub.encode("utf-8")) else: subToPut = BNode(sub.encode("utf-8")) for pred, objDictList in predDict.items(): for objDict in objDictList: if objDict["type"] == "literal" or objDict["value"] == "*": print("{} {} {} ({})".format( subToPut, pred, objDict["value"].encode("utf-8"), objDict["type"])) graph.add((subToPut, URIRef(pred), Literal(objDict["value"].encode("utf-8")))) elif objDict["type"] == "uri": print("{} {} {}".format(subToPut.encode('utf-8'), pred, objDict["value"].encode('utf-8'))) graph.add((subToPut, URIRef(pred), URIRef(objDict["value"].encode("utf-8")))) else: print("{} {} {}".format(subToPut, pred, objDict["value"].encode("utf-8"))) graph.add((subToPut, URIRef(pred), BNode(objDict["value"].encode("utf-8")))) return graph
def buildGraphFromJson(jsonData): graph = Graph() jsonDict = json.loads(jsonData) for sub, predDict in jsonDict.items(): subToPut = None if sub.startswith("http"): subToPut = URIRef(sub.encode("utf-8")) else: subToPut = BNode(sub.encode("utf-8")) for pred, objDictList in predDict.items(): for objDict in objDictList: if objDict["type"] == "literal" or objDict["value"] == "*": print("{} {} {} ({})".format(subToPut, pred, objDict["value"].encode("utf-8"), objDict["type"])) graph.add((subToPut, URIRef(pred), Literal(objDict["value"].encode("utf-8")))) elif objDict["type"] == "uri": print("{} {} {}".format(subToPut.encode('utf-8'), pred, objDict["value"].encode('utf-8'))) graph.add((subToPut, URIRef(pred), URIRef(objDict["value"].encode("utf-8")))) else: print("{} {} {}".format(subToPut, pred, objDict["value"].encode("utf-8"))) graph.add((subToPut, URIRef(pred), BNode(objDict["value"].encode("utf-8")))) return graph