{
  "@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-gnrtd26841",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd585"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26838",
      "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-gnrtd26843",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd585"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26838",
      "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-gnrtd26840",
      "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-gnrtd26838",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd26839",
      "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-gnrtd26838",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd585",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "BSD-2-Clause",
      "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-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-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-gnrtd26842",
      "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-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-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-gnrtd26838",
      "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-gnrtd26842",
      "software_downloadLocation": "NOASSERTION",
      "summary": "An XML toolkit for Ruby",
      "software_packageVersion": "0:3.3.9-164.oe2609",
      "software_homePage": "https://github.com/ruby/rexml",
      "description": "REXML was inspired by the Electric XML library for Java, which features an\neasy-to-use API, small size, and speed. Hopefully, REXML, designed with the same\nphilosophy, has these same features. I've tried to keep the API as intuitive as\npossible, and have followed the Ruby methodology for method naming and code\nflow, rather than mirroring the Java API.\n\nREXML supports both tree and stream document parsing. Stream parsing is faster\n(about 1.5 times as fast). However, with stream parsing, you don't get access to\nfeatures such as XPath.",
      "name": "rubygem-rexml",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-rexml@3.3.9-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"
    }
  ]
}