def preprocess_resource(uri): r = graph.resource(uri) name = uri description = "No description available" for x in r[DOAP.description]: description = x break for x in r[DOAP.name]: name = x break for x in r[FOAF.name]: name = x break p_o = [] for p, o in r.predicate_objects(): if isinstance(o, Resource): o_type = "resource" o_qname = o.identifier o_value = o.identifier else: o_type = "literal" o_qname = None o_value = str(o) p_o.append((str(p.identifier), p.qname(), o_type, o_qname, o_value)) p_o.sort(key=lambda t: t[1]) return {"uri": uri, "name": name, "path": uri.split("/")[3:], "description": description, "p_o": p_o}
def preprocess_resource(uri): r = graph.resource(uri) name = uri description = "No description available" for x in r[DOAP.description]: description = x break for x in r[DOAP.name]: name = x break for x in r[FOAF.name]: name = x break p_o = [] for p, o in r.predicate_objects(): if isinstance(o, Resource): o_type = "resource" o_qname = o.identifier o_value = o.identifier else: o_type = "literal" o_qname = None o_value = str(o) p_o.append((str(p.identifier), p.qname(), o_type, o_qname, o_value)) p_o.sort(key=lambda t: t[1]) return { 'uri': uri, 'name': name, 'path': uri.split('/')[3:], 'description': description, 'p_o': p_o }
def project_view(uri): g = Graph() g.namespace_manager = namespace_manager p = graph.resource(uri) for triple in graph.triples((uri, None, None)): g.add(triple) for k in [x.identifier for x in p[DOAP.release]]: for triple in graph.triples((k, None, None)): g.add(triple) for k in [x.identifier for x in p[DOAP.maintainer]]: for triple in graph.triples((k, None, None)): g.add(triple) for k in [x.identifier for x in p[DOAP.developer]]: for triple in graph.triples((k, None, None)): g.add(triple) for k in [x.identifier for x in p[DOAP.repository]]: for triple in graph.triples((k, None, None)): g.add(triple) return g
def project_view(uri): g = Graph() g.namespace_manager = namespace_manager p = graph.resource(uri) for triple in graph.triples( (uri, None, None) ): g.add(triple) for k in [x.identifier for x in p[DOAP.release]]: for triple in graph.triples( (k, None, None) ): g.add(triple) for k in [x.identifier for x in p[DOAP.maintainer]]: for triple in graph.triples( (k, None, None) ): g.add(triple) for k in [x.identifier for x in p[DOAP.developer]]: for triple in graph.triples( (k, None, None) ): g.add(triple) for k in [x.identifier for x in p[DOAP.repository]]: for triple in graph.triples( (k, None, None) ): g.add(triple) return g