{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-07-04T02:24:06Z"
    },
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-07-04T02:24:06Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110790",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110791"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110785",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110797",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110798"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110792",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110794",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110795"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110792",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110787",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110788"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110785",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110793",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110785"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110792",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110798",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0 and Public Domain",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110795",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0 and Public Domain",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110788",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0 and Public Domain",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110791",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0 and Public Domain",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110789",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110796",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110792",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110796",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Documentation for rubygem-thread_safe",
      "software_packageVersion": "0:0.3.6-2.oe2403sp4",
      "software_homePage": "https://github.com/ruby-concurrency/thread_safe",
      "description": "Documentation for rubygem-thread_safe.",
      "name": "rubygem-thread_safe-help",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/69e709f4d2852d98f12867a74015d19384fe2727ff670fd70178cdde80b1e77e-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-thread_safe-help@0.3.6-2.oe2403sp4?arch=noarch&epoch=0&upstream=rubygem-thread_safe-0.3.6-2.oe2403sp4.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110785",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/SPDXRef-gnrtd110789",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Thread-safe collections and utilities for Ruby",
      "software_packageVersion": "0:0.3.6-2.oe2403sp4",
      "software_homePage": "https://github.com/ruby-concurrency/thread_safe",
      "description": "A collection of data structures and utilities to make thread-safe\nprogramming in Ruby easier.",
      "name": "rubygem-thread_safe",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/69e709f4d2852d98f12867a74015d19384fe2727ff670fd70178cdde80b1e77e-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-thread_safe@0.3.6-2.oe2403sp4?arch=noarch&epoch=0&upstream=rubygem-thread_safe-0.3.6-2.oe2403sp4.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/everything/x86_64-4d64d0a4-9352-45cb-9c5f-6366db87449d-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    }
  ]
}