Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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