Hi,
We have a database with 500 mill triples.
With a database with 400 mill triples everything works fine on most queries. But some queries are crashing there to.
The memory settings is -Xms5g -Xmx5g -XX:MaxDirectMemorySize=10g.
According to Home | Stardog Documentation Latest this should be sufficient.
This is the query that crashes on the 400 mill triples
"select distinct ?registrering ?virksomhet where {",
" ?innsynskrav bruker:innsynskravdel / bruker:rettetMot ?registrering. ",
" ?registrering arkiv:parent* / arkiv:arkivskaper / virksomhet:parent* ?virksomhet .",
" ?virksomhet virksomhet:orgnummer ?orgnummer .",
" minus{ ",
" ?innsynskrav bruker:innsynskravdel / bruker:rettetMot ?registrering. ",
" ?registrering arkiv:parent* / arkiv:arkivskaper / virksomhet:parent* ?virksomhet1, virksomhet.",
" ?virksomhet1 virksomhet:orgnummer ?orgnummer .",
" ?virksomhet virksomhet:orgnummer ?orgnummer2 .",
" ?virksomhet ^virksomhet:parent+ ?virksomhet1.",
" FILTER(?virksomhet != ?virksomhet1)",
" }",
"}"
And here are a query that crashes on the 500 mill triples database
PREFIX arkiv: <http://www.arkivverket.no/standarder/noark5/arkivstruktur/>
PREFIX virksomhetmeta: <http://data.einnsyn.no/virksomhetmeta/>
CONSTRUCT {
?registrering a arkiv:Journalpost.
?registrering arkiv:offentligTittel_SENSITIV ?offentligTittel_SENSITIV .
?registrering arkiv:journalpostnummer ?journalpostnummer .
?registrering arkiv:arkivertDato ?arkivertDato .
?registrering arkiv:opprettetDato ?opprettetDato .
?registrering arkiv:journalposttype ?journalposttype .
?registrering arkiv:journalstatus ?journalstatus .
?registrering arkiv:dokumentetsDato ?dokumentetsDato .
?registrering arkiv:publisertDato ?publisertDato .
?registrering arkiv:journaldato ?journaldato .
?registrering arkiv:journalsekvensnummer ?journalsekvensnummer .
?registrering arkiv:journalaar ?journalaar .
?registrering arkiv:noekkelord ?noekkelord .
?registrering arkiv:arkivskaper ?arkivskaperparent.
?arkivskaperparent a virksomhetmeta:Virksomhet.
?arkivskaperparent virksomhetmeta:epost ?arkivskaperparent_epost.
?arkivskaperparent virksomhetmeta:telefon ?arkivskaperparent_telefon.
?registrering arkiv:korrespondansepart ?kp .
?kp a arkiv:Korrespondansepart.
?kp arkiv:korrespondansepartNavn_SENSITIV ?korrespondansepartNavn .
?kp arkiv:korrespondanseparttype ?korrespondanseparttype .
?registrering arkiv:skjerming ?skjerming .
?skjerming a arkiv:Skjerming.
?skjerming arkiv:skjermingshjemmel ?hjemmel .
?registrering arkiv:dokumentbeskrivelse ?dokumentbeskrivelse .
?dokumentbeskrivelse a arkiv:Dokumentbeskrivelse.
?dokumentbeskrivelse arkiv:dokumentnummer ?dokumentbeskrivelse_dokumentnummer .
?dokumentbeskrivelse arkiv:tittel_SENSITIV ?dokumentbeskrivelse_tittel_SENSITIV .
?dokumentbeskrivelse arkiv:dokumenttype ?dokumentbeskrivelse_dokumenttype .
?dokumentbeskrivelse arkiv:tilknyttetRegistreringSom ?dokumentbeskrivelse_tilknyttetRegistreringSom.
?dokumentbeskrivelse arkiv:dokumentobjekt ?dokumentobjekt.
?dokumentobjekt a arkiv:Dokumentobjekt.
?dokumentobjekt arkiv:referanseDokumentfil ?dokumentobjekt_referanseDokumentfil .
?dokumentobjekt arkiv:filstoerrelse ?dokumentobjekt_filstoerrelse.
?dokumentobjekt arkiv:format ?dokumentobjekt_format.
?registrering arkiv:parent ?parent .
?parent a arkiv:Saksmappe.
?parent arkiv:offentligTittel_SENSITIV ?offentligTittel_SENSITIV_parent .
?parent arkiv:avsluttetDato ?avsluttetDato_parent .
?parent arkiv:opprettetDato ?opprettetDato_parent .
?parent arkiv:saksaar ?saksaar_parent .
?parent arkiv:sakssekvensnummer ?sakssekvensnummer_parent .
}
WHERE {
{
?registrering arkiv:offentligTittel_SENSITIV ?offentligTittel_SENSITIV.
OPTIONAL{?registrering arkiv:journalpostnummer ?journalpostnummer. }
OPTIONAL{?registrering arkiv:arkivertDato ?arkivertDato. }
OPTIONAL{?registrering arkiv:opprettetDato ?opprettetDato. }
OPTIONAL{?registrering arkiv:journalposttype ?journalposttype. }
OPTIONAL{?registrering arkiv:journalstatus ?journalstatus. }
OPTIONAL{?registrering arkiv:dokumentetsDato ?dokumentetsDato. }
OPTIONAL{?registrering arkiv:publisertDato ?publisertDato. }
OPTIONAL{?registrering arkiv:journaldato ?journaldato. }
OPTIONAL{?registrering arkiv:noekkelord ?noekkelord. }
OPTIONAL{?registrering arkiv:journalsekvensnummer ?journalsekvensnummer. }
OPTIONAL{?registrering arkiv:journalaar ?journalaar. }
}
UNION {
?registrering arkiv:korrespondansepart ?kp.
?kp arkiv:korrespondansepartNavn_SENSITIV ?korrespondansepartNavn.
?kp arkiv:korrespondanseparttype ?korrespondanseparttype.
}
UNION {
?registrering arkiv:skjerming ?skjerming.
}
UNION {
?registrering arkiv:skjerming ?skjerming.
?skjerming arkiv:skjermingshjemmel ?hjemmel.
}
UNION {
?registrering arkiv:parent ?parent.
OPTIONAL{?parent arkiv:offentligTittel_SENSITIV ?offentligTittel_SENSITIV_parent .}
OPTIONAL{?parent arkiv:avsluttetDato ?avsluttetDato_parent .}
OPTIONAL{?parent arkiv:opprettetDato ?opprettetDato_parent .}
OPTIONAL{?parent arkiv:saksaar ?saksaar_parent .}
OPTIONAL{?parent arkiv:sakssekvensnummer ?sakssekvensnummer_parent .}
}
UNION {
?registrering arkiv:dokumentbeskrivelse ?dokumentbeskrivelse.
?dokumentbeskrivelse arkiv:tittel_SENSITIV ?dokumentbeskrivelse_tittel_SENSITIV.
OPTIONAL{ ?dokumentbeskrivelse arkiv:dokumentnummer ?dokumentbeskrivelse_dokumentnummer. }
OPTIONAL{ ?dokumentbeskrivelse arkiv:dokumenttype ?dokumentbeskrivelse_dokumenttype. }
OPTIONAL{ ?dokumentbeskrivelse arkiv:tilknyttetRegistreringSom ?dokumentbeskrivelse_tilknyttetRegistreringSom. }
}
UNION {
?registrering arkiv:dokumentbeskrivelse ?dokumentbeskrivelse.
?dokumentbeskrivelse arkiv:dokumentobjekt ?dokumentobjekt.
OPTIONAL{ ?dokumentobjekt arkiv:referanseDokumentfil ?dokumentobjekt_referanseDokumentfil.}
OPTIONAL{ ?dokumentobjekt arkiv:filstoerrelse ?dokumentobjekt_filstoerrelse.}
OPTIONAL{ ?dokumentobjekt arkiv:format ?dokumentobjekt_format.}
}
UNION{
?registrering arkiv:parent* / arkiv:arkivskaper ?arkivskaper.
?arkivskaper virksomhetmeta:parent* ?arkivskaperparent.
?arkivskaperparent virksomhetmeta:epost ?arkivskaperparent_epost.
?arkivskaperparent virksomhetmeta:telefon ?arkivskaperparent_telefon.
}
}
cheers,
Øystein