swh.indexer.citation.codemeta_data module#

swh.indexer.citation.codemeta_data.TMP_ROOT_URI_PREFIX = 'https://www.softwareheritage.org/schema/2022/indexer/tmp-node/'#

IRI used for skolemization.

See <https://www.w3.org/TR/rdf11-concepts/#section-skolemization>.

class swh.indexer.citation.codemeta_data.CodeMetaData(id: str | None = None, swhid: QualifiedSWHID | None = None, address: str | None = None, affiliation: list[CodeMetaPerson] | None = None, applicationCategory: str | None = None, applicationSubCategory: str | None = None, author: list[CodeMetaPerson] | None = None, buildInstructions: str | None = None, citation: str | None = None, codeRepository: str | None = None, continuousIntegration: str | None = None, contributor: str | None = None, copyrightHolder: str | None = None, copyrightYear: str | None = None, dateCreated: str | None = None, dateModified: str | None = None, datePublished: str | None = None, description: str | None = None, developmentStatus: str | None = None, downloadUrl: str | None = None, editor: list[CodeMetaPerson] | None = None, email: str | None = None, embargoEndDate: str | None = None, encoding: str | None = None, endDate: str | None = None, familyName: str | None = None, fileFormat: str | None = None, fileSize: str | None = None, funder: str | None = None, funding: str | None = None, givenName: str | None = None, hasPart: str | None = None, hasSourceCode: str | None = None, identifier: list[str] | None = None, installUrl: str | None = None, isAccessibleForFree: str | None = None, isPartOf: str | None = None, isSourceCodeOf: str | None = None, issueTracker: str | None = None, keywords: str | None = None, license: list[str] | None = None, maintainer: str | None = None, memoryRequirements: str | None = None, name: str | None = None, operatingSystem: list[str] | None = None, permissions: str | None = None, position: str | None = None, processorRequirements: str | None = None, producer: str | None = None, programmingLanguage: list[str] | None = None, provider: str | None = None, publisher: list[CodeMetaPerson] | None = None, readme: str | None = None, referencePublication: str | None = None, relatedLink: str | None = None, releaseNotes: str | None = None, review: str | None = None, reviewAspect: str | None = None, reviewBody: str | None = None, roleName: str | None = None, runtimePlatform: str | None = None, sameAs: str | None = None, softwareHelp: str | None = None, softwareRequirements: str | None = None, softwareSuggestions: str | None = None, softwareVersion: str | None = None, sponsor: str | None = None, startDate: str | None = None, storageRequirements: str | None = None, supportingData: str | None = None, targetProduct: str | None = None, url: str | None = None, version: str | None = None)[source]#

Bases: object

Class to store data extracted from a codemeta.json

id: str | None = None#
swhid: QualifiedSWHID | None = None#
address: str | None = None#
affiliation: list[CodeMetaPerson] | None = None#
applicationCategory: str | None = None#
applicationSubCategory: str | None = None#
author: list[CodeMetaPerson] | None = None#
buildInstructions: str | None = None#
citation: str | None = None#
codeRepository: str | None = None#
continuousIntegration: str | None = None#
contributor: str | None = None#
copyrightHolder: str | None = None#
copyrightYear: str | None = None#
dateCreated: str | None = None#
dateModified: str | None = None#
datePublished: str | None = None#
description: str | None = None#
developmentStatus: str | None = None#
downloadUrl: str | None = None#
editor: list[CodeMetaPerson] | None = None#
email: str | None = None#
embargoEndDate: str | None = None#
encoding: str | None = None#
endDate: str | None = None#
familyName: str | None = None#
fileFormat: str | None = None#
fileSize: str | None = None#
funder: str | None = None#
funding: str | None = None#
givenName: str | None = None#
hasPart: str | None = None#
hasSourceCode: str | None = None#
identifier: list[str] | None = None#
installUrl: str | None = None#
isAccessibleForFree: str | None = None#
isPartOf: str | None = None#
isSourceCodeOf: str | None = None#
issueTracker: str | None = None#
keywords: str | None = None#
license: list[str] | None = None#
maintainer: str | None = None#
memoryRequirements: str | None = None#
name: str | None = None#
operatingSystem: list[str] | None = None#
permissions: str | None = None#
position: str | None = None#
processorRequirements: str | None = None#
producer: str | None = None#
programmingLanguage: list[str] | None = None#
provider: str | None = None#
publisher: list[CodeMetaPerson] | None = None#
readme: str | None = None#
referencePublication: str | None = None#
releaseNotes: str | None = None#
review: str | None = None#
reviewAspect: str | None = None#
reviewBody: str | None = None#
roleName: str | None = None#
runtimePlatform: str | None = None#
sameAs: str | None = None#
softwareHelp: str | None = None#
softwareRequirements: str | None = None#
softwareSuggestions: str | None = None#
softwareVersion: str | None = None#
sponsor: str | None = None#
startDate: str | None = None#
storageRequirements: str | None = None#
supportingData: str | None = None#
targetProduct: str | None = None#
url: str | None = None#
version: str | None = None#
class swh.indexer.citation.codemeta_data.CodeMetaPerson(names: tuple[str, ...] = (), given_names: tuple[str, ...] = (), family_names: tuple[str, ...] = (), is_organization: bool = False)[source]#

Bases: object

names: tuple[str, ...] = ()#
given_names: tuple[str, ...] = ()#
family_names: tuple[str, ...] = ()#
is_organization: bool = False#
swh.indexer.citation.codemeta_data.rdf_str_values(graph: Graph, subject: Node, predicate: URIRef) tuple[str, ...][source]#
swh.indexer.citation.codemeta_data.rdf_first_str_value(graph: Graph, subject: Node, predicate: URIRef) str | None[source]#
swh.indexer.citation.codemeta_data.extract_person(graph: Graph, person_id: Node) CodeMetaPerson | None[source]#
swh.indexer.citation.codemeta_data.resolve_role_nodes(graph: Graph, person_id: Node, role_property: URIRef, seen: set[Node] | None = None) list[Node][source]#
swh.indexer.citation.codemeta_data.extract_people(graph: Graph, entity_id: Node, role_property: URIRef) tuple[list[CodeMetaPerson], list[CodeMetaPerson]][source]#
swh.indexer.citation.codemeta_data.extract_rdf_metadata(graph: Graph, entity_id: Node, *, swhid: QualifiedSWHID | None) dict[str, Any][source]#
swh.indexer.citation.codemeta_data.extract_compact_identifiers(doc: Dict[str, Any]) list[str][source]#
swh.indexer.citation.codemeta_data.merge_identifiers(*, rdf_data: dict[str, Any], codemeta_id: str, had_explicit_id: bool, compact_identifiers: list[str]) None[source]#
swh.indexer.citation.codemeta_data.normalize_doc_id(doc: Dict[str, Any]) tuple[bool, str, Node][source]#
swh.indexer.citation.codemeta_data.extract_codemeta_data(doc: Dict[str, Any], swhid: QualifiedSWHID | None = None, *, resolve_unknown_context_url: bool = False, force_codemeta_context: bool = False) CodeMetaData[source]#