{
  "@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-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-10-02T04:15:47Z"
    },
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-10-02T04:15:47Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43639",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd158"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43633",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16964",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd158"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16944",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16951",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16952"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16946",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16966",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd158"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16944",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16948",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16949"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16946",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4264",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd79"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4261",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4262",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd79"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4261",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43637",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd158"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43633",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43634",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16944"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43633",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43635",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16946"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43633",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43636",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4261"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43633",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd158",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "Apache-2.0",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16949",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-3-Clause AND CC-BY-2.5)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16952",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-3-Clause AND CC-BY-2.5)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd79",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "BSD-3-Clause",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43638",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4263",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16965",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16950",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43633",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd43638",
      "name": "guice-throwingproviders",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/guice-throwingproviders@5.1.0-3.oe2609?arch=noarch&epoch=0&upstream=google-guice-5.1.0-3.oe2609.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "ThrowingProviders extension module for Guice",
      "software_packageVersion": "0:5.1.0-3.oe2609",
      "software_homePage": "https://github.com/google/guice",
      "description": "Guice is a lightweight dependency injection framework for Java 5\nand above. This package provides ThrowingProviders module for Guice.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/com.google.inject.extensions/guice-throwingproviders@5.1.0"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16946",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16950",
      "name": "jsr-305",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/jsr-305@3.0.2-3.oe2609?arch=noarch&epoch=0&upstream=jsr-305-3.0.2-3.oe2609.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Correctness annotations for Java code",
      "software_packageVersion": "0:3.0.2-3.oe2609",
      "software_homePage": "https://code.google.com/p/jsr-305",
      "description": "This package contains reference implementations, test cases, and other\ndocuments for Java Specification Request 305: Annotations for Software Defect\nDetection.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.jsr-305/ri@3.0.2"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/com.google.code.findbugs/jsr305@3.0.2"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4261",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd4263",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Java packages filesystem layout",
      "software_packageVersion": "0:6.2.0-1.oe2609",
      "software_homePage": "https://github.com/fedora-java/javapackages",
      "description": "This package provides some basic directories into which Java packages\ninstall their content.",
      "name": "javapackages-filesystem",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/javapackages-filesystem@6.2.0-1.oe2609?arch=noarch&epoch=0&upstream=javapackages-tools-6.2.0-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16944",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd16965",
      "name": "google-guice",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/google-guice@5.1.0-3.oe2609?arch=noarch&epoch=0&upstream=google-guice-5.1.0-3.oe2609.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Lightweight dependency injection framework for Java 5 and above",
      "software_packageVersion": "0:5.1.0-3.oe2609",
      "software_homePage": "https://github.com/google/guice",
      "description": "Put simply, Guice alleviates the need for factories and the use of new\nin your Java code. Think of Guice's @Inject as the new new. You will\nstill need to write factories in some cases, but your code will not\ndepend directly on them. Your code will be easier to change, unit test\nand reuse in other contexts.\n\nGuice embraces Java's type safe nature, especially when it comes to\nfeatures introduced in Java 5 such as generics and annotations. You\nmight think of Guice as filling in missing features for core\nJava. Ideally, the language itself would provide most of the same\nfeatures, but until such a language comes along, we have Guice.\n\nGuice helps you design better APIs, and the Guice API itself sets a\ngood example. Guice is not a kitchen sink. We justify each feature\nwith at least three use cases. When in doubt, we leave it out. We\nbuild general functionality which enables you to extend Guice rather\nthan adding every feature to the core framework.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/com.google.inject/guice@5.1.0"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    }
  ]
}