spdx_tools.spdx.writer.rdf.extracted_licensing_info_writer
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from rdflib import RDF, RDFS, BNode, Graph, Literal, URIRef 5 6from spdx_tools.spdx.model import ExtractedLicensingInfo 7from spdx_tools.spdx.rdfschema.namespace import SPDX_NAMESPACE 8from spdx_tools.spdx.writer.rdf.writer_utils import add_literal_or_no_assertion, add_optional_literal 9 10 11def add_extracted_licensing_info_to_graph( 12 extracted_licensing_info: ExtractedLicensingInfo, graph: Graph, doc_node, doc_namespace: str 13): 14 if extracted_licensing_info.license_id: 15 extracted_licensing_info_resource = URIRef(f"{doc_namespace}#{extracted_licensing_info.license_id}") 16 graph.add((extracted_licensing_info_resource, RDF.type, SPDX_NAMESPACE.ExtractedLicensingInfo)) 17 else: 18 extracted_licensing_info_resource = BNode() 19 add_optional_literal( 20 extracted_licensing_info.license_id, graph, extracted_licensing_info_resource, SPDX_NAMESPACE.licenseId 21 ) 22 add_optional_literal( 23 extracted_licensing_info.extracted_text, graph, extracted_licensing_info_resource, SPDX_NAMESPACE.extractedText 24 ) 25 add_literal_or_no_assertion( 26 extracted_licensing_info.license_name, graph, extracted_licensing_info_resource, SPDX_NAMESPACE.name 27 ) 28 for cross_reference in extracted_licensing_info.cross_references: 29 graph.add((extracted_licensing_info_resource, RDFS.seeAlso, Literal(cross_reference))) 30 add_optional_literal(extracted_licensing_info.comment, graph, extracted_licensing_info_resource, RDFS.comment) 31 32 graph.add((doc_node, SPDX_NAMESPACE.hasExtractedLicensingInfo, extracted_licensing_info_resource))
def
add_extracted_licensing_info_to_graph( extracted_licensing_info: spdx_tools.spdx.model.extracted_licensing_info.ExtractedLicensingInfo, graph: rdflib.graph.Graph, doc_node, doc_namespace: str):
12def add_extracted_licensing_info_to_graph( 13 extracted_licensing_info: ExtractedLicensingInfo, graph: Graph, doc_node, doc_namespace: str 14): 15 if extracted_licensing_info.license_id: 16 extracted_licensing_info_resource = URIRef(f"{doc_namespace}#{extracted_licensing_info.license_id}") 17 graph.add((extracted_licensing_info_resource, RDF.type, SPDX_NAMESPACE.ExtractedLicensingInfo)) 18 else: 19 extracted_licensing_info_resource = BNode() 20 add_optional_literal( 21 extracted_licensing_info.license_id, graph, extracted_licensing_info_resource, SPDX_NAMESPACE.licenseId 22 ) 23 add_optional_literal( 24 extracted_licensing_info.extracted_text, graph, extracted_licensing_info_resource, SPDX_NAMESPACE.extractedText 25 ) 26 add_literal_or_no_assertion( 27 extracted_licensing_info.license_name, graph, extracted_licensing_info_resource, SPDX_NAMESPACE.name 28 ) 29 for cross_reference in extracted_licensing_info.cross_references: 30 graph.add((extracted_licensing_info_resource, RDFS.seeAlso, Literal(cross_reference))) 31 add_optional_literal(extracted_licensing_info.comment, graph, extracted_licensing_info_resource, RDFS.comment) 32 33 graph.add((doc_node, SPDX_NAMESPACE.hasExtractedLicensingInfo, extracted_licensing_info_resource))