|
|
|
|
@@ -100,7 +100,7 @@ public class RDFHelper {
|
|
|
|
|
Integer max = Integer.parseInt(Models.objectLiteral(model.filter(iri, maxIri, null)).map(Literal::getLabel).orElse("-1"));
|
|
|
|
|
|
|
|
|
|
int start = iri.stringValue().lastIndexOf("ElemInt");
|
|
|
|
|
ai.setId(BigInteger.valueOf(Long.valueOf(iri.stringValue().substring(start + "ElemInt".length()))));
|
|
|
|
|
ai.setId(BigInteger.valueOf(Long.parseLong(iri.stringValue().substring(start + "ElemInt".length()))));
|
|
|
|
|
|
|
|
|
|
ai.setBezeichnung(bez);
|
|
|
|
|
ai.setDefault(def);
|
|
|
|
|
@@ -204,6 +204,8 @@ public class RDFHelper {
|
|
|
|
|
"http://vvo.pisanoapi.at/type"), null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
String risikoobjektType = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
|
|
|
|
"http://vvo.pisanoapi.at/risikoobjektType"), null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
String praemie = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
|
|
|
|
"http://vvo.pisanoapi.at/praemienfaktor"), null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
XMLGregorianCalendar verkaufsoffenVon = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
|
|
|
|
"http://vvo.pisanoapi.at/salesFrom"), null)).map(Literal::getLabel).isPresent() ?
|
|
|
|
|
DatatypeFactory.newInstance().newXMLGregorianCalendar( Models.objectLiteral(model.filter(
|
|
|
|
|
@@ -239,6 +241,7 @@ public class RDFHelper {
|
|
|
|
|
verkaufsproduktType.setMaxOccurrences(maxOccurrence);
|
|
|
|
|
verkaufsproduktType.setMinOccurrences(minOccurrence);
|
|
|
|
|
verkaufsproduktType.setRisikoobjektType(risikoobjektType);
|
|
|
|
|
verkaufsproduktType.setPraemienfaktor(praemie);
|
|
|
|
|
|
|
|
|
|
parentId.ifPresent(p -> parents.put(id, p));
|
|
|
|
|
bausteine.put(id, verkaufsproduktType);
|
|
|
|
|
@@ -302,6 +305,8 @@ public class RDFHelper {
|
|
|
|
|
"http://vvo.pisanoapi.at/type"), null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
String risikoobjektType = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
|
|
|
|
"http://vvo.pisanoapi.at/risikoobjektType"), null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
String praemie = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
|
|
|
|
"http://vvo.pisanoapi.at/praemienfaktor"), null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
List<ServiceFault> meldungen = model.filter(iri, vf.createIRI(
|
|
|
|
|
"http://vvo.pisanoapi.at/Meldung"), null).objects().stream()
|
|
|
|
|
.filter(s -> s instanceof IRI).map(s -> {
|
|
|
|
|
@@ -348,6 +353,7 @@ public class RDFHelper {
|
|
|
|
|
verkaufsproduktType.setMaxVorkommen(maxOccurrence);
|
|
|
|
|
verkaufsproduktType.setMinVorkommen(minOccurrence);
|
|
|
|
|
verkaufsproduktType.setRisikoobjektErforderlich(risikoobjektType != null);
|
|
|
|
|
verkaufsproduktType.setPraemienfaktor(praemie);
|
|
|
|
|
|
|
|
|
|
for (ServiceFault meldung : meldungen) {
|
|
|
|
|
if (meldung != null) {
|
|
|
|
|
@@ -403,21 +409,47 @@ public class RDFHelper {
|
|
|
|
|
IRI bezIri = iri(baseIri + "bez");
|
|
|
|
|
IRI baujahrIri = iri(baseIri + "baujahr");
|
|
|
|
|
IRI erstzulassungIri = iri(baseIri + "erstzulassung");
|
|
|
|
|
IRI kenIri = iri(baseIri + "kennzeichen");
|
|
|
|
|
IRI leistungIri = iri(baseIri + "leistung");
|
|
|
|
|
IRI sonderIri = iri(baseIri + "sonderausstattung");
|
|
|
|
|
IRI listenpreisIri = iri(baseIri + "listenpreis");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (Resource iri : Models.subjectIRIs(model)) {
|
|
|
|
|
if (iri.stringValue().contains("Fahrzeug")) {
|
|
|
|
|
String id = iri.stringValue();
|
|
|
|
|
|
|
|
|
|
String bez = Models.objectLiteral(model.filter(iri, bezIri, null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
int baujahr = Integer.parseInt(Models.objectLiteral(model.filter(iri, baujahrIri, null)).map(Literal::getLabel).orElse("-1"));
|
|
|
|
|
XMLGregorianCalendar erstzulassung = Models.objectLiteral(model.filter(iri, erstzulassungIri, null)).map(Literal::getLabel).isPresent() ? DatatypeFactory.newInstance().newXMLGregorianCalendar(
|
|
|
|
|
Models.objectLiteral(model.filter(iri, erstzulassungIri, null)).map(Literal::getLabel).orElse(null)) : null;
|
|
|
|
|
String bez = Models.objectLiteral(
|
|
|
|
|
model.filter(iri, bezIri, null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
String ken = Models.objectLiteral(
|
|
|
|
|
model.filter(iri, kenIri, null)).map(Literal::getLabel).orElse(null);
|
|
|
|
|
BigDecimal listenpreis = BigDecimal.valueOf(
|
|
|
|
|
Double.parseDouble(Models.objectLiteral(model.filter(iri, listenpreisIri, null))
|
|
|
|
|
.map(Literal::getLabel).orElse("-1")));
|
|
|
|
|
BigDecimal sonderausstattung = BigDecimal.valueOf(
|
|
|
|
|
Double.parseDouble(Models.objectLiteral(model.filter(iri, sonderIri, null))
|
|
|
|
|
.map(Literal::getLabel).orElse("-1")));
|
|
|
|
|
|
|
|
|
|
int leistung = Integer.parseInt(Models.objectLiteral(
|
|
|
|
|
model.filter(iri, leistungIri, null)).map(Literal::getLabel).orElse("-1"));
|
|
|
|
|
int baujahr = Integer.parseInt(Models.objectLiteral(
|
|
|
|
|
model.filter(iri, baujahrIri, null)).map(Literal::getLabel).orElse("-1"));
|
|
|
|
|
|
|
|
|
|
XMLGregorianCalendar erstzulassung = Models.objectLiteral(model.filter(
|
|
|
|
|
iri, erstzulassungIri, null)).map(Literal::getLabel).isPresent() ?
|
|
|
|
|
DatatypeFactory.newInstance().newXMLGregorianCalendar(
|
|
|
|
|
Models.objectLiteral(model.filter(iri, erstzulassungIri, null))
|
|
|
|
|
.map(Literal::getLabel).orElse(null)) : null;
|
|
|
|
|
|
|
|
|
|
FahrzeugType fahrzeug = new FahrzeugType();
|
|
|
|
|
|
|
|
|
|
fahrzeug.setErstzulassdat(erstzulassung);
|
|
|
|
|
fahrzeug.setBaujahr(baujahr);
|
|
|
|
|
fahrzeug.setHandelsbez(bez);
|
|
|
|
|
fahrzeug.setPolKennz(ken);
|
|
|
|
|
fahrzeug.setLeistung(leistung);
|
|
|
|
|
fahrzeug.setListenpreis(listenpreis);
|
|
|
|
|
fahrzeug.setSonderausstattung(sonderausstattung);
|
|
|
|
|
|
|
|
|
|
erg.add(new Pair<>(id, fahrzeug));
|
|
|
|
|
}
|
|
|
|
|
@@ -486,6 +518,7 @@ public class RDFHelper {
|
|
|
|
|
IRI risikoobjektTypeIri = iri(baseIri + "risikoobjektType");
|
|
|
|
|
IRI bausteinIri = iri(baseIri + "Baustein");
|
|
|
|
|
IRI parentIri = iri(baseIri + "Parent");
|
|
|
|
|
IRI praemieIri = iri(baseIri + "praemienfaktor");
|
|
|
|
|
|
|
|
|
|
IRI vpIri = iriMap.get(guiProdukt);
|
|
|
|
|
|
|
|
|
|
@@ -502,7 +535,7 @@ public class RDFHelper {
|
|
|
|
|
model.add(vpIri, maxOccurrenceIri, Values.literal(produkt.getMaxVorkommen()));
|
|
|
|
|
model.add(vpIri, typeIri, Values.literal(produkt.getTyp()));
|
|
|
|
|
if (produkt.isRisikoobjektErforderlich()) model.add(vpIri, risikoobjektTypeIri, Values.literal("FahrzeugType"));
|
|
|
|
|
|
|
|
|
|
if (produkt.getPraemienfaktor() != null) model.add(vpIri, praemieIri, Values.literal(produkt.getPraemienfaktor()));
|
|
|
|
|
if (parentId != null) model.add(vpIri, parentIri, Values.iri(parentId));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@@ -578,7 +611,6 @@ public class RDFHelper {
|
|
|
|
|
meldungId++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int fahrzeugId = 1;
|
|
|
|
|
for (VersichertesInteresseType ro : produkt.getVersicherteObjekte()){
|
|
|
|
|
if (ro instanceof FahrzeugType fa){
|
|
|
|
|
IRI fahrzeugIri = iri(baseIri + "FahrzeugType");
|
|
|
|
|
@@ -586,16 +618,23 @@ public class RDFHelper {
|
|
|
|
|
IRI faBaujahrIri = iri(baseIri + "baujahr");
|
|
|
|
|
IRI faBezIri = iri(baseIri + "bez");
|
|
|
|
|
IRI faErstZuIri = iri(baseIri + "erstzulassung");
|
|
|
|
|
IRI faKennIri = iri(baseIri + "kennzeichen");
|
|
|
|
|
IRI faLpreisIri = iri(baseIri + "listenpreis");
|
|
|
|
|
IRI faSonderIri = iri(baseIri + "sonderausstattung");
|
|
|
|
|
IRI faLeistungIri = iri(baseIri + "leistung");
|
|
|
|
|
IRI prodRoIri = iri(baseIri + "VersichertesInteresseType");
|
|
|
|
|
|
|
|
|
|
model.add(faIri, RDF.TYPE, fahrzeugIri);
|
|
|
|
|
model.add(faIri, faBaujahrIri, Values.literal(fa.getBaujahr()));
|
|
|
|
|
model.add(faIri, faBezIri, Values.literal(fa.getHandelsbez()));
|
|
|
|
|
model.add(faIri, faErstZuIri, Values.literal(fa.getErstzulassdat()));
|
|
|
|
|
model.add(faIri, faKennIri, Values.literal(fa.getPolKennz()));
|
|
|
|
|
model.add(faIri, faLpreisIri, Values.literal(fa.getListenpreis()));
|
|
|
|
|
model.add(faIri, faSonderIri, Values.literal(fa.getSonderausstattung()));
|
|
|
|
|
model.add(faIri, faLeistungIri, Values.literal(fa.getLeistung()));
|
|
|
|
|
|
|
|
|
|
model.add(vpIri, prodRoIri, faIri);
|
|
|
|
|
|
|
|
|
|
fahrzeugId++;
|
|
|
|
|
} else if (ro instanceof VersicherteLiegenschaftType) {
|
|
|
|
|
//To-Do
|
|
|
|
|
} else if (ro instanceof RisikoGebaeudeType) {
|
|
|
|
|
|