def __init__(self, domain_path=None, base_ontology_path=None, extention_ontology_path=None):
     self.domain_path = domain_path if domain_path is not None else "./Ontologies/smartbuildingprivacyvunl.ttl"
     self.base_ontology_path = base_ontology_path if base_ontology_path is not None else "./Ontologies/privacyvunl.ttl"
     self.extention_ontology_path = extention_ontology_path if extention_ontology_path is not None else "./Ontologies/privacyvunlv2.ttl"
     self.input_util =  InputUtil(self.domain_path, self.base_ontology_path, self.extention_ontology_path)
     self.PRIVVULN = NSUtil.get_namespase_base_ontology()
     self.PRIVVULNV2 = NSUtil.get_namespase_extrantion_ontology()
     self.RDF = NSUtil.get_namespase_rdf()
     self.total_score = 0
 def __init__(self, input_model, base_ontology_url, extention_ontology_url,
              domain_url):
     self.input_model = input_model
     self.PRIVVULN = NSUtil.get_namespase_base_ontology()
     self.PRIVVULNV2 = NSUtil.get_namespase_extrantion_ontology()
     self.RDF = NSUtil.get_namespase_rdf()
     self.base_ontology_url = base_ontology_url
     self.extention_ontology_url = extention_ontology_url
     self.domain_url = domain_url
Exemple #3
0
 def __init__(self, DOMAINNAMESPACE):
     self.RDF = util.get_namespase_rdf()
     self.RDFS = util.get_namespase_rdfs()
     self.OWL = util.get_namespase_owl()
     self.XSD = util.get_namespase_xsd()
     self.PRIVVULN = util.get_namespase_base_ontology()
     self.PRIVVULNV2 = util.get_namespase_extrantion_ontology()
     self.DOMAINNAMESPACE = DOMAINNAMESPACE
     self.graph = Graph()
from rdflib import Graph, Namespace, URIRef, Literal
import rdflib
from Framework.driver import Driver
import Framework.namespace_util as NSUtil


g1 = Graph()

# source namespaces
RDF  = NSUtil.get_namespase_rdf()
RDFS = NSUtil.get_namespase_rdfs()
OWL  = NSUtil.get_namespase_owl()
XSD  = NSUtil.get_namespase_xsd()
PRIVVULN = NSUtil.get_namespase_base_ontology()
PRIVVULNV2 = NSUtil.get_namespase_extrantion_ontology()
SBUILDING = NSUtil.get_namespase_domain_smart_building()

g1.bind('rdf' , RDF)
g1.bind('rdfs', RDFS)
g1.bind('owl' , OWL)
g1.bind('xsd' , XSD)

# custom namespace
g1.bind('privvuln',PRIVVULN)

g1.bind('privvulnv2',PRIVVULNV2)

g1.bind('sbuilding',SBUILDING)

# model namespace
Exemple #5
0
def run_analyses(json):
    g1 = Graph()

    # source namespaces
    RDF = NSUtil.get_namespase_rdf()
    RDFS = NSUtil.get_namespase_rdfs()
    OWL = NSUtil.get_namespase_owl()
    XSD = NSUtil.get_namespase_xsd()
    PRIVVULN = NSUtil.get_namespase_base_ontology()
    PRIVVULNV2 = NSUtil.get_namespase_extrantion_ontology()
    SBUILDING = NSUtil.get_namespase_domain_smart_building()

    g1.bind('rdf', RDF)
    g1.bind('rdfs', RDFS)
    g1.bind('owl', OWL)
    g1.bind('xsd', XSD)

    # custom namespace
    g1.bind('privvuln', PRIVVULN)

    g1.bind('privvulnv2', PRIVVULNV2)

    g1.bind('sbuilding', SBUILDING)

    nodes = json["nodes"]

    links = json["links"]

    namespace = json["namespace"]
    M = Namespace(namespace)
    g1.bind('m', M)

    for node in nodes:
        if "name" not in node and "type" not in node:
            continue
        subject = M[node["name"]]
        g1.add((subject, RDF.type, rdflib.term.URIRef(node["type"])))
        if "superType" in node and node["superType"] != "" and node[
                "superType"] and node["superType"] != str(PRIVVULNV2.Context):
            g1.add((subject, RDF.type, rdflib.term.URIRef(node["superType"])))

        if "attributes" in node:
            for attribute in node["attributes"]:
                if "name" not in attribute and "value" not in attribute and "dataType" not in attribute:
                    continue

                if attribute["dataType"] == "int" or attribute[
                        "dataType"] == "double" or attribute[
                            "dataType"] == "string":
                    if attribute["value"] != '' and attribute["value"] != None:
                        g1.add(
                            (subject,
                             rdflib.term.URIRef(
                                 str(PRIVVULNV2) + attribute["name"]),
                             Literal(attribute["value"],
                                     datatype=rdflib.term.URIRef(
                                         str(XSD) + attribute["dataType"]))))

    for link in links:
        if "subject" not in link and "predicate" not in link and "object" not in link:
            continue
        g1.add((rdflib.term.URIRef(link["subject"]),
                rdflib.term.URIRef(link["predicate"]),
                rdflib.term.URIRef(link["object"])))

    driver = Driver(debug_mode=True)
    print("graph has %s statements." % len(g1))

    g1, risk_results, graph = driver.run_with_output(g1)

    print("graph has %s statements." % len(g1))

    returnJson = {
        'graph': str(graph.source),
        'privacy_report': risk_results,
    }

    return returnJson