nasjonalMuseumArtists [sv]

Andre språk: nasjonalMuseumArtists (svensk)

Script

Datasett
Sist lagret
04.06.2018 10:30:23
Kode
nasjonalMuseumArtists
Navn
nasjonalMuseumArtists
Svensk

Kildekode
var PropertyType = Java.type("se.altrusoft.entitymachine.schema.PropertyType"); var PropertyValue = Java.type("se.altrusoft.entitymachine.entity.PropertyValue"); var Entity = Java.type("se.altrusoft.entitymachine.entity.Entity"); var HashMap = Java.type("java.util.HashMap"); var URLEncoder = Java.type("java.net.URLEncoder"); var ImportService = Java.type("se.altrusoft.entitymachine.imp.ImportService"); var RdfImporter = Java.type("se.altrusoft.entitymachine.imp.RdfImporter"); var FileUtils = Java.type("org.apache.commons.io.FileUtils"); var File = Java.type("java.io.File"); var Constants = Java.type("util.Constants"); var PrecisionDate = Java.type("se.altrusoft.entitymachine.entity.PrecisionDate"); function educationPresent(entity, education) { var educationEvents = entity.getProperty(Constants.PROPERTY_PERSON_EDUCATION); for (var ii = 0; ii < educationEvents.size(); ii++) { var educationEvent = educationEvents.get(ii).getValue(); var educationText = educationEvent.getPrimaryPropertyAsText("person.education.education", "no"); if (educationText != null && educationText == education) { return true; } } return false; } function residencePresent(entity, education) { var residenceEvents = entity.getProperty(Constants.PROPERTY_PERSON_RESIDENCE); for (var ii = 0; ii < residenceEvents.size(); ii++) { var residenceEvent = residenceEvents.get(ii).getValue(); var placeReference = residenceEvent.getPrimaryPropertyAsEntity("event.placeReference"); if (placeReference != null) { var placeText = placeReference.getPrimaryPropertyAsText("placeReference.placeString", "no"); if (placeText != null && placeText == place) { return true; } } } return false; } var lifeRoleEvent; var liferoles = entity.getProperty(Constants.PROPERTY_PERSON_LIFEROLE); if (liferoles.size() == 0) { lifeRoleEvent = new Entity(); lifeRoleEvent.setInline(true); lifeRoleEvent.setEntityType("Person.Liferole"); lifeRoleEvent.addProperty("person.liferole.liferole", new PropertyValue(null, PropertyType.ValueType.ENTITY_REFERENCE, "da7f057a-9ed6-4e92-b501-7aab7d8465cc")); entity.addProperty(Constants.PROPERTY_PERSON_LIFEROLE, new PropertyValue(null, PropertyType.ValueType.ENTITY, lifeRoleEvent)); } logger.info("Main resource: " + resourceUri) var resource = model.createResource(resourceUri); /* * Cannot use biography due to copyright var biographyStatement = resource.getProperty(model.createProperty("http://purl.org/vocab/bio/0.1/", "Biographybiography")); if (biographyStatement != null) { logger.info("Biography reference present"); var biographyResource = biographyStatement.getResource(); var biographyUri = biographyResource.getURI(); logger.info("Biography resource: " + biographyUri); try { var describeUri = "http://data.nasjonalmuseet.no:2020/klex?query=" + URLEncoder.encode("DESCRIBE <" + biographyUri + ">", "UTF-8"); logger.info("describeUri: " + describeUri); var biographyModel = RdfImporter.loadModel(describeUri, null); logger.info("Loaded model"); biographyResource = biographyModel.createResource(biographyUri); logger.info("Created resource"); var descriptionStatement = biographyResource.getProperty(biographyModel.createProperty("http://purl.org/dc/elements/1.1/", "description")); logger.info("Description statement: " + descriptionStatement); if (descriptionStatement != null) { var biography = descriptionStatement.getLiteral().getString(); var descriptionProperty = entity.getPrimaryProperty(Constants.PROPERTY_PERSON_BIOGRAPHY); var texts; if (descriptionProperty == null) { texts = new HashMap(); descriptionProperty = new PropertyValue(null, PropertyType.ValueType.TEXT, texts); entity.addProperty(Constants.PROPERTY_PERSON_BIOGRAPHY, descriptionProperty); } else { texts = descriptionProperty.getValue(); } texts.put("no", biography); } biographyModel.close(); } catch (e) { logger.error(e); } } */ var educationIter = resource.listProperties(model.createProperty("http://data.nasjonalmuseet.no/ontology/", "education")); while (educationIter.hasNext()) { var statement = educationIter.nextStatement(); var educationResource = statement.getResource(); var educationUri = educationResource.getURI(); logger.info("Education resource: " + educationUri); try { describeUri = "http://data.nasjonalmuseet.no:2020/klex?query=" + URLEncoder.encode("DESCRIBE <" + educationUri + ">", "UTF-8"); logger.info("educationUri: " + educationUri); var educationModel = RdfImporter.loadModel(describeUri, null); logger.info("Loaded model"); educationResource = educationModel.createResource(educationUri); logger.info("Created resource"); var commentStatement = educationResource.getProperty(educationModel.createProperty("http://www.w3.org/2000/01/rdf-schema#", "comment")); logger.info("Comment statement: " + commentStatement); if (commentStatement != null) { var education = commentStatement.getLiteral().getString(); if (!educationPresent(entity, education)) { var educationEvent = new Entity(); educationEvent.setInline(true); educationEvent.setEntityType("Person.Education"); texts = new HashMap(); texts.put("no", education); educationEvent.addProperty("person.education.education", new PropertyValue(null, PropertyType.ValueType.TEXT, texts)); entity.addProperty("person.education", new PropertyValue(null, PropertyType.ValueType.ENTITY, educationEvent)); } } educationModel.close(); } catch (e) { logger.error(e); } } var residenceIter = resource.listProperties(model.createProperty("http://data.nasjonalmuseet.no/ontology/", "residence")); while (residenceIter.hasNext()) { var statement = residenceIter.nextStatement(); var residenceResource = statement.getResource(); var residenceUri = residenceResource.getURI(); logger.info("Residence resource: " + residenceUri); try { describeUri = "http://data.nasjonalmuseet.no:2020/klex?query=" + URLEncoder.encode("DESCRIBE <" + residenceUri + ">", "UTF-8"); logger.info("residenceUri: " + residenceUri); var residenceModel = RdfImporter.loadModel(describeUri, null); logger.info("Loaded model"); residenceResource = residenceModel.createResource(residenceUri); logger.info("Created resource"); var placeStatement = residenceResource.getProperty(residenceModel.createProperty("http://data.nasjonalmuseet.no/ontology/", "place")); var placeResource = placeStatement.getResource(); var placeUri = placeResource.getURI(); describeUri = "http://data.nasjonalmuseet.no:2020/klex?query=" + URLEncoder.encode("DESCRIBE <" + placeUri + ">", "UTF-8"); var placeModel = RdfImporter.loadModel(describeUri, null); placeResource = placeModel.createResource(placeUri); var titleStatement = placeResource.getProperty(placeModel.createProperty("http://purl.org/dc/elements/1.1/", "title")); logger.info("Title statement: " + titleStatement); if (titleStatement != null) { var place = titleStatement.getLiteral().getString(); if (!residencePresent(entity, place)) { var residenceEvent = new Entity(); residenceEvent.setInline(true); residenceEvent.setEntityType("Person.Residence"); var placeReference = new Entity(); placeReference.setInline(true); placeReference.setEntityType("Place.Reference"); residenceEvent.addProperty("event.placeReference", new PropertyValue(null, PropertyType.ValueType.ENTITY, placeReference)); texts = new HashMap(); texts.put("no", place); placeReference.addProperty("placeReference.placeString", new PropertyValue(null, PropertyType.ValueType.TEXT, texts)); entity.addProperty("person.residence", new PropertyValue(null, PropertyType.ValueType.ENTITY, residenceEvent)); var startDate = null; var startDateStatement = residenceResource.getProperty(residenceModel.createProperty("http://data.nasjonalmuseet.no/ontology/", "startDate")); if (startDateStatement != null) { try { startDate = PrecisionDate.fromString(startDateStatement.getString()); logger.info("startDate: " + startDate); } catch(e) { logger.error(e); } } var endDate = null; var endDateStatement = residenceResource.getProperty(residenceModel.createProperty("http://data.nasjonalmuseet.no/ontology/", "endDate")); if (endDateStatement != null) { try { endDate = PrecisionDate.fromString(endDateStatement.getString()); logger.info("endDate: " + startDate); } catch(e) { logger.error(e); } } if (startDate != null || endDate != null) { var timeSpan = new Entity(); timeSpan.setInline(true); timeSpan.setEntityType("Timespan"); if (startDate != null) { timeSpan.addProperty(Constants.PROPERTY_TIMESPAN_START, new PropertyValue(null, PropertyType.ValueType.DATE, startDate)); } if (endDate != null) { timeSpan.addProperty(Constants.PROPERTY_TIMESPAN_END, new PropertyValue(null, PropertyType.ValueType.DATE, endDate)); } residenceEvent.addProperty(Constants.PROPERTY_EVENT_TIMESPAN, new PropertyValue(null, PropertyType.ValueType.ENTITY, timeSpan)) } } } residenceModel.close(); } catch (e) { logger.error(e); } }
Uuid
9f63d3cd-b0be-489b-afba-567f649b03ce
ACL (rettigheter)
SYSTEM
Opprettet av
root
Opprettet
04.06.2018 10:30:23
Sist lagret av

Sist lagret

Tidligere lagret
Erstatt Lagret Lagret av