{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-10-02T05:09:57Z"
    },
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-10-02T05:09:57Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92948",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92949"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92943",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93638",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93639"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93634",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26690",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26691"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26653",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26687",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26688"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26653",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26668",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26669"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26658",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26665",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26666"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26658",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93641",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93642"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93634",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92945",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92946"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92943",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93637",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26658"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93634",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93636",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92943"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93634",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93635",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26653"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93634",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26691",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause AND (BSD-2-Clause OR Ruby OR GPL-1.0-or-later) AND MIT AND (BSD-2-Clause OR Ruby) AND (Ruby OR MIT))",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26666",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR GPL-1.0-or-later) AND BSD-3-Clause AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND ISC AND Public Domain AND MIT AND CC0 AND zlib AND Unicode-DFS-2015",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93642",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "((BSD-2-Clause OR Ruby) AND (BSD-2-Clause OR Ruby))",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26669",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR GPL-1.0-or-later) AND BSD-3-Clause AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND ISC AND Public Domain AND MIT AND CC0 AND zlib AND Unicode-DFS-2015",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92946",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause OR Ruby)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93639",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "((BSD-2-Clause OR Ruby) AND (BSD-2-Clause OR Ruby))",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26688",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "((Ruby OR MIT) AND BSD-2-Clause AND MIT AND (BSD-2-Clause OR Ruby OR GPL-1.0-or-later) AND (BSD-2-Clause OR Ruby))",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92949",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause OR Ruby)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26667",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26689",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92947",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93640",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26653",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26689",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Ruby standard for wrapping ruby libraries",
      "software_packageVersion": "0:3.4.19-164.oe2609",
      "software_homePage": "https://www.ruby-lang.org/en/",
      "description": "The Ruby standard for publishing and managing third party libraries provided by RubyGems.",
      "name": "rubygems",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygems@3.4.19-164.oe2609?arch=noarch&epoch=0&upstream=ruby-3.2.8-164.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92943",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92947",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Power Assert for Ruby",
      "software_packageVersion": "0:3.0.1-1.oe2609",
      "software_homePage": "https://github.com/ruby/power_assert",
      "description": "Power Assert for Ruby. Power Assert shows each value of variables and method\ncalls in the expression. It is useful for testing, providing which value\nwasn't correct when the condition is not satisfied.",
      "name": "rubygem-power_assert",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-power_assert@3.0.1-1.oe2609?arch=noarch&epoch=0&upstream=rubygem-power_assert-3.0.1-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93634",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd93640",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Unit testing framework for Ruby",
      "software_packageVersion": "0:3.5.7-164.oe2609",
      "software_homePage": "https://www.ruby-lang.org/en/",
      "description": "Test::Unit (test-unit) is unit testing framework for Ruby based on xUnit principles. writing tests, checking results\nand automated testing are provided in Ruby.",
      "name": "rubygem-test-unit",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-test-unit@3.5.7-164.oe2609?arch=noarch&epoch=0&upstream=ruby-3.2.8-164.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26658",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26667",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Object-oriented scripting language interpreter",
      "software_packageVersion": "0:3.2.8-164.oe2609",
      "software_homePage": "https://www.ruby-lang.org/en/",
      "description": "Ruby is a fast and easy interpreted scripting language for object-oriented programming.\nIt has many functions for processing text Files and perform system management tasks (such as Perl).",
      "name": "ruby",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ruby@3.2.8-164.oe2609?arch=aarch64&epoch=0&upstream=ruby-3.2.8-164.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    }
  ]
}