teamdigitale / dati-semantic-backend

Backend for the NDC semantic repository
GNU Affero General Public License v3.0
4 stars 4 forks source link

[BE] by-iri API should return information on referenced resources #60

Open ioggstream opened 1 year ago

ioggstream commented 1 year ago

Comportamento atteso

when adding a resource such as

agency:asset :rightsHolder ipa:agid .

I expect


SELECT * WHERE {

<assetIRI>
  rdfs:label ?title . 

OPTIONAL {
<assetIRI> :rightsHolder ?holderIri .
}

OPTIONAL {
?holderIri rdfs:label ?holderSummary .
}

}

Instead

example response when the information is not present in the turtle file.

{
    "assetIri": "https://w3id.org/italia/schema/person/v202108.01/OAS3",
    "title": "The Test Person schema",
    "description": "This Person schema is derived from the [CPV/Person](https://w3id.org/italia/onto/CPV/Person) ontology.\n\nThis description field can be rendered in markdown or in text-only in catalogues\nand other interfaces.",
    "type": "SCHEMA",
    "modifiedOn": "2021-12-06",
    "versionInfo": "202108.01.01",
    "themes": [
        "http://publications.europa.eu/resource/authority/data-theme/EDUC"
    ],
    "rightsHolder": {
        "iri": "http://spcdata.digitpa.gov.it/Amministrazione/agid",
        "summary": null
    },
    "accrualPeriodicity": null,
    "distributions": [
        {
            "accessUrl": "https://github.com/ioggstream/json-semantic-playground/tree/master/assets/schemas/person/v202108.01",
            "downloadUrl": "https://teamdigitale.github.io/openapi/master/definitions.yaml"
        }
    ],
    "subjects": null,
    "contactPoint": null,
    "publishers": null,
    "creators": null,
    "issuedOn": null,
    "languages": null,
    "temporal": null,
    "conformsTo": [
        {
            "iri": "https://w3id.org/italia/onto/CPV",
            "summary": null
        }
    ],
    "agencyId": null,
    "keyConcept": null,
    "endpointUrl": null,
    "keyClasses": [
        {
            "iri": "https://w3id.org/italia/onto/CPV/PersonTitle",
            "summary": null
        },
        {
            "iri": "https://w3id.org/italia/onto/CPV/Person",
            "summary": null
        }
    ],
    "prefix": null,
    "projects": null
}
ioggstream commented 4 months ago

by-iri behavior has been improved by https://github.com/teamdigitale/dati-semantic-backend/pull/93/files#diff-8184ac0ee9cc646e881971c5e308d442b17c0f36e0d7dcb06345c00260f74405R81

contained in https://github.com/teamdigitale/dati-semantic-backend/pull/93

but this implementation has not been tracked by an issue.

The current by-iri API seems to only use information present in the harvested repository. Those information could be integrated with data present on Virtuoso.