{
  "@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-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-08-01T17:55:59Z"
    },
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-08-01T17:55:59Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21661",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21662"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21650",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21653",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21654"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21652",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21656",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21657"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21652",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21658",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21659"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21650",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21651",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21652"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21650",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21662",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21654",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0 and LGPLv2+",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21657",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0 and LGPLv2+",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21659",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "ASL 2.0",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21660",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21655",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21650",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21660",
      "name": "undertow",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d96f7206249b192484cd473c7213938a2173442406260d9a32d8f941053a6c53-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/undertow@1.4.0-11.oe2403sp3?arch=noarch&epoch=1&upstream=undertow-1.4.0-11.oe2403sp3.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Java web server using non-blocking IO",
      "software_packageVersion": "1:1.4.0-11.oe2403sp3",
      "software_homePage": "http://undertow.io/",
      "description": "Java web server using non-blocking IO",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/io.undertow/undertow-core@1.4.0.Final"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/io.undertow/undertow-websockets-jsr@1.4.0.Final"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/io.undertow/undertow-parser-generator@1.4.0.Final"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/io.undertow/undertow-servlet@1.4.0.Final"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21652",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/SPDXRef-gnrtd21655",
      "name": "xnio",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d96f7206249b192484cd473c7213938a2173442406260d9a32d8f941053a6c53-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/xnio@3.4.0-12.oe2403sp3?arch=noarch&epoch=0&upstream=xnio-3.4.0-12.oe2403sp3.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "A simplified low-level I/O layer",
      "software_packageVersion": "0:3.4.0-12.oe2403sp3",
      "software_homePage": "http://www.jboss.org/xnio",
      "description": "XNIO is a simplified low-level I/O layer which can be used anywhere you are using NIO today.\nIt frees you from the hassle of dealing with Selectors and the lack of NIO support for\nmulticast sockets and non-socket I/O, while still maintaining all the capabilities present in NIO,\nand it opens the door to non-obvious optimizations.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.jboss.xnio/xnio-api@3.4.0.Final"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.jboss.xnio/xnio-nio@3.4.0.Final"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP3/update/x86_64-23bb96e2-e7b5-40b9-83ce-d0ef076bae69-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    }
  ]
}