Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feil i OData spørringer #264

Open
tsodring opened this issue May 12, 2020 · 4 comments
Open

Feil i OData spørringer #264

tsodring opened this issue May 12, 2020 · 4 comments

Comments

@tsodring
Copy link
Contributor

tsodring commented May 12, 2020

Mens vi har jobbet med OData støtte i nikita så har vi fundert over følgende OData spørring:

 ..api/arkivstruktur/mappe/?$filter=nasjonalidentifikator/any(i: i/Default.BygningType/byggidentifikator/bygningsNummer eq '12345678')

Det er Default.BygningType og byggidentifikator som er problematisk. bygningsNummer (sannsynlig bygningsnummer) er et attributt under Bygning. Men tjenestegrensesnittet sier ingenting om byggidentifikator. Når vi søker på nett finner vi en definisjon av byggidentifikator som gjør at det er sannsynlig at byggidentifikator skal være entiteten Bygning definert i kapittel 7.

Kan vi være enige at byggidentifikator skal være byggning?

Det er uklart hva rollen til Default.BygningType er i denne sammenhengen. Jeg mistenker at det er en slags definisjon av datatypen du ønsker tilbake. Hvis vi ser på de andre eksemplene ser vi at eksemplene bruker Default.KorrespondansepartPersonType i et søk der det ønskes å hente ut en korrespondansepart og Default.PartEnhetType for part søk på enhet. Videre er det Default.PartPersonType for person søk.

Det virker fornuftig å tro at 'Default.'*'Type' definerer klassen som det skal søkes i. Imidlertid ser jeg ikke hvor Default er definert i OData standarden. ABNF beskrivelsen sier ingenting om Default og det er ikke beskrevet i standarden eller odata-vocabularies

BygningType, PartPersonType osv er heller ikke definert i standarden. Det virker som om denne tilnærmingen for å definere klassetype er noe som er utviklet fra OData tilnærmingen på å definere klassetype. Det virker som om det er en egen utviklet tilnærming.

Det virker da som om søket kunne vært:

 ..api/arkivstruktur/mappe/?$filter=nasjonalidentifikator/bygning/bygningsnummer eq '12345678')

Det som gjør at jeg ikke er sikker på at spøringen over er riktig er fordi vi må se nærmere på arv konseptet.

../api/sakarkiv/saksmappe/?$filter=part/partenhet/organisasjonsnummer eq '12334566')
../api/sakarkiv/journalpost/?$filter=korrespondansepart/korrespondansepartperson/foedselsnummer eq '12334566')

Denne issuen tar sikte på to ting.

  1. Bli enig at 'byggindentifikator' skal være bygning
  2. Flagge at det er usikkerhet rundt eksemplene og disse må vi se nærmere på
@tsodring
Copy link
Contributor Author

PartPerson inneholder ikke foedselsnummer, men inneholder en Personidentifikator. Det er mulig at arv skal automatisk løse dette, men det er rart at man skal angi klassetype for (part:PartPersonType) part/any(s: s/Default.PartPersonType/foedselsnummer, men ikke (personidentifikator:foedselsnummer)

@petterreinholdtsen
Copy link
Collaborator

Her er eksempler på noen søketermer som kjøres av runtest og jeg tror fungerer med Nikita i dag.

  • "sjekksumAlgoritme eq 'SHA-256'"
  • "opprettetAv eq '[email protected]'"
  • "dokumentstatus/kode eq 'B'"
  • "dokumentstatus/kode EQ 'B'"
  • "contains(tittel, 'test')"
  • "contains(part/navn, 'Eksempel')"
  • "part/partRolle/kode eq 'ADV'"
  • "contains(tittel, 'file') AND dokumentmedium/kode eq null and saksaar ne null"
  • "enhetsidentifikator/organisasjonsnummer eq '02020202022'"
  • "nasjonalidentifikator/organisasjonsnummer eq '02020202022'"
  • "nasjonalidentifikator/foedselsnummer eq '03030303033'"
  • "nasjonalidentifikator/foedselsnummer ne null"
  • "nasjonalidentifikator/koordinatsystem/kode eq 'EPSG:4326'"
  • "nasjonalidentifikator/x gt 1.0'"
  • "noekkelord/noekkelord eq 'interesting'"
  • 'noekkelord/noekkelord ne null'
  • "forfatter/forfatter eq 'Henrik Ibsen'"
  • "n5t-v1:real eq 'one for the team'

Jeg er dog ikke sikker på om dette er korrekt OData-notasjon.

Jeg tenkte følgende søketermer skulle fungere, men er ikke trygg nok på OData-notasjon til å vite om jeg har misforstått:

  • "personidentifikator/foedselsnummer eq '03030303033'"
  • "nasjonalidentifikator/kommunenummer eq '0101'"
  • "virksomhetsspesifikkeMetadata/n5t-v1:real eq 'one for the team'

Disse fungerer ikke i Nikita.

@tsodring
Copy link
Contributor Author

Jeg tror vi bør lage et forslag til hvordan vi ønsker å tolke OData spørringer med arv og la det være til "høring" her i en par uker. Det er langt på overtid at vi får dette på plass.

@oleaamot
Copy link

oleaamot commented May 24, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants