spdx_tools.spdx.writer.rdf.external_document_ref_writer

 1# SPDX-FileCopyrightText: 2023 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4from rdflib import RDF, Graph, URIRef
 5
 6from spdx_tools.spdx.model import ExternalDocumentRef
 7from spdx_tools.spdx.rdfschema.namespace import SPDX_NAMESPACE
 8from spdx_tools.spdx.writer.rdf.checksum_writer import add_checksum_to_graph
 9
10
11def add_external_document_ref_to_graph(
12    external_document_ref: ExternalDocumentRef, graph: Graph, doc_node: URIRef, doc_namespace: str
13):
14    external_document_ref_resource = URIRef(f"{doc_namespace}#{external_document_ref.document_ref_id}")
15    graph.add((external_document_ref_resource, RDF.type, SPDX_NAMESPACE.ExternalDocumentRef))
16    graph.add(
17        (external_document_ref_resource, SPDX_NAMESPACE.spdxDocument, URIRef(external_document_ref.document_uri))
18    )
19    add_checksum_to_graph(external_document_ref.checksum, graph, external_document_ref_resource)
20
21    graph.add((doc_node, SPDX_NAMESPACE.externalDocumentRef, external_document_ref_resource))
def add_external_document_ref_to_graph( external_document_ref: spdx_tools.spdx.model.external_document_ref.ExternalDocumentRef, graph: rdflib.graph.Graph, doc_node: rdflib.term.URIRef, doc_namespace: str):
12def add_external_document_ref_to_graph(
13    external_document_ref: ExternalDocumentRef, graph: Graph, doc_node: URIRef, doc_namespace: str
14):
15    external_document_ref_resource = URIRef(f"{doc_namespace}#{external_document_ref.document_ref_id}")
16    graph.add((external_document_ref_resource, RDF.type, SPDX_NAMESPACE.ExternalDocumentRef))
17    graph.add(
18        (external_document_ref_resource, SPDX_NAMESPACE.spdxDocument, URIRef(external_document_ref.document_uri))
19    )
20    add_checksum_to_graph(external_document_ref.checksum, graph, external_document_ref_resource)
21
22    graph.add((doc_node, SPDX_NAMESPACE.externalDocumentRef, external_document_ref_resource))