Пример #1
0
    def to_rdf(self, subj: BNode, namespace: Namespace, graph: Graph,
               node_cache: NodeCache) -> None:
        """Graph this link on a BNode in a Graph using a given Namespace to create the full
        predicate.

        Args:
             subj: subject portion of triple - graph this link's pred, obj against it.
             namespace: RDF namespace to use for this triple's predicate
             graph: RDF graph
             node_cache: NodeCache to use to find cached nodes.
        """
        link_node = node_cache.setdefault(self.obj, URIRef(self.obj))
        graph.add((subj, getattr(namespace, self.pred), link_node))
Пример #2
0
    def to_rdf(self, namespace: Namespace, graph: Graph, node_cache: NodeCache) -> None:
        """Graph this Resource as a URIRef on a Graph.

        Args:
            namespace: RDF namespace to use for predicates and objects when graphing
                       this resource's links
            graph: RDF graph
            node_cache: NodeCache to use for any cached URIRef lookups
        """
        node = node_cache.setdefault(self.resource_id, URIRef(self.resource_id))
        graph.add((node, RDF.type, getattr(namespace, self.type_name)))
        graph.add((node, getattr(namespace, "id"), Literal(self.resource_id)))
        for link in self.links:
            link.to_rdf(subj=node, namespace=namespace, graph=graph, node_cache=node_cache)