Esempio n. 1
0
            prop = {}
            prop["@id"] = row[cols.index("Property")]
            prop["@type"] = "rdf:Property"
            #prop["rdfs:subClassOf"] = {"@id" : row[cols.index("sameAs")].lower()}

            subClassOf = row[cols.index("sameAs")]
            subClassOf = [f.strip() for f in subClassOf.replace('[', '').replace(']','').split(',')]

            if len(subClassOf) == 1:
                prop["rdfs:sameAs"] = {"@id" : subClassOf[0]}
            else:
                prop["rdfs:sameAs"] = [{"@id" : f} for f in subClassOf]

            prop["rdfs:comment"] = row[cols.index("Description")]
            prop["owl:cardinality"] = row[cols.index("cardinality")]
            prop["marginality"] = row[cols.index("marginality")]
            prop["schema:domainIncludes"] = {"@id" : "outbreak:Protocol"}

            rangeIncludes = row[cols.index("expected type")]
            rangeIncludes = [f.strip() for f in rangeIncludes.replace('[', '').replace(']','').split(',')]

            if len(rangeIncludes) == 1:
                prop["schema:rangeIncludes"] = {"@id" : rangeIncludes[0]}
            else:
                prop["schema:rangeIncludes"] = [{"@id" : f} for f in rangeIncludes]
            

            schema.add_to_props(prop)

schema.render('yaml/yaml_out/protocols.yaml')