Search in sources :

Example 6 with SKOSMapping

use of skos.SKOSMapping in project opentheso by miledrousset.

the class WriteBranchSkosBDD method writeFirstConceptAfterGroup.

private boolean writeFirstConceptAfterGroup(SKOSResource resource, String idGroup, String idThesaurus, String id_langueSource, String dateFormat, String adressSite, boolean useArk, int idUser) {
    RelationsHelper relationsHelper = new RelationsHelper();
    // ajout du concept dans la base
    Concept concept = new Concept();
    ConceptHelper conceptHelper = new ConceptHelper();
    if (idGroup.trim().isEmpty())
        return false;
    String idC = getId(resource.getUri());
    concept.setIdConcept(idC);
    // concept.setCreated(null);
    concept.setIdThesaurus(idThesaurus);
    concept.setNotation("");
    concept.setStatus("");
    concept.setTopConcept(true);
    concept.setIdGroup(idGroup);
    concept = addDates(resource.getDateList(), concept, dateFormat);
    conceptHelper.insertConceptInTable(ds, concept, idUser);
    // ajout des termes et traductions
    NodeTerm nodeTerm = new NodeTerm();
    nodeTerm.setNodeTermTraduction(getTraductionConcept(resource.getLabelsList()));
    nodeTerm.setIdTerm(idC);
    nodeTerm.setIdConcept(idC);
    nodeTerm.setIdThesaurus(idThesaurus);
    nodeTerm.setSource("");
    nodeTerm.setStatus("");
    nodeTerm = addDatesTerm(resource.getDateList(), nodeTerm, dateFormat);
    TermHelper termHelper = new TermHelper();
    termHelper.insertTerm(ds, nodeTerm, idUser);
    // ajouter les notes
    ArrayList<NodeNote> nodeNoteList = addNotes(resource.getDocumentationsList());
    NoteHelper noteHelper = new NoteHelper();
    for (NodeNote nodeNoteList1 : nodeNoteList) {
        if (nodeNoteList1.getNotetypecode().contains("scopeNote")) {
            noteHelper.addConceptNote(ds, concept.getIdConcept(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
        if (nodeNoteList1.getNotetypecode().contains("historyNote")) {
            noteHelper.addConceptNote(ds, concept.getIdConcept(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
        if (nodeNoteList1.getNotetypecode().contains("definition")) {
            noteHelper.addTermNote(ds, nodeTerm.getIdTerm(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
        if (nodeNoteList1.getNotetypecode().contains("editorialNote")) {
            noteHelper.addTermNote(ds, nodeTerm.getIdTerm(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
    }
    // Enregistrer les relations sans les BT
    writeRelationsList(resource.getRelationsList(), concept.getIdConcept(), idThesaurus, idUser);
    ArrayList<SKOSMapping> sKOSMappings = resource.getMappings();
    // Enregistrer les Mappings (alignements)
    AlignmentHelper alignmentHelper = new AlignmentHelper();
    for (SKOSMapping sKOSMapping : sKOSMappings) {
        if (sKOSMapping.getProperty() == SKOSProperty.exactMatch) {
            alignmentHelper.addNewAlignment(ds, // user
            1, // concept target
            "", // thesaurus target
            "", // URI
            sKOSMapping.getTargetUri(), 1, concept.getIdConcept(), idThesaurus, 0);
        }
        if (sKOSMapping.getProperty() == SKOSProperty.closeMatch) {
            alignmentHelper.addNewAlignment(ds, // user
            1, // concept target
            "", // thesaurus target
            "", // URI
            sKOSMapping.getTargetUri(), 2, concept.getIdConcept(), idThesaurus, 0);
        }
    }
    // Ajouter l'id du concept importé pour l'aligner avec le thésaurus source
    alignmentHelper.addNewAlignment(ds, // user
    1, // concept target
    "", // thesaurus target
    "", // URI de la source
    resource.getUri(), // sKOSMapping.getTargetUri(), // URI
    1, concept.getIdConcept(), idThesaurus, 0);
    // Enregister les synonymes et traductions
    ArrayList<NodeEM> nodeEMs = writeLabelsList(ds, resource.getLabelsList());
    Term term = new Term();
    for (int i = 0; i < nodeEMs.size(); i++) {
        term.setId_concept(concept.getIdConcept());
        term.setId_term(nodeTerm.getIdTerm());
        term.setLexical_value(nodeEMs.get(i).getLexical_value());
        term.setLang(nodeEMs.get(i).getLang());
        term.setId_thesaurus(idThesaurus);
        term.setSource(nodeEMs.get(i).getSource());
        term.setStatus(nodeEMs.get(i).getStatus());
        termHelper.addNonPreferredTerm(ds, term, idUser);
    }
    return true;
}
Also used : SKOSTopConcept(skos.SKOSTopConcept) Concept(mom.trd.opentheso.bdd.datas.Concept) ConceptHelper(mom.trd.opentheso.bdd.helper.ConceptHelper) NodeTerm(mom.trd.opentheso.bdd.helper.nodes.term.NodeTerm) NoteHelper(mom.trd.opentheso.bdd.helper.NoteHelper) AlignmentHelper(mom.trd.opentheso.bdd.helper.AlignmentHelper) Term(mom.trd.opentheso.bdd.datas.Term) NodeTerm(mom.trd.opentheso.bdd.helper.nodes.term.NodeTerm) NodeEM(mom.trd.opentheso.bdd.helper.nodes.NodeEM) NodeNote(mom.trd.opentheso.bdd.helper.nodes.notes.NodeNote) SKOSMapping(skos.SKOSMapping) RelationsHelper(mom.trd.opentheso.bdd.helper.RelationsHelper) TermHelper(mom.trd.opentheso.bdd.helper.TermHelper)

Example 7 with SKOSMapping

use of skos.SKOSMapping in project opentheso by miledrousset.

the class WriteBranchSkosBDD method writeConcept.

private void writeConcept(SKOSResource resource, String idConcept, String idGroup, String idThesaurus, String id_langueSource, String dateFormat, String adressSite, boolean useArk, int idUser) {
    // ajout du concept dans la base
    Concept concept = new Concept();
    ConceptHelper conceptHelper = new ConceptHelper();
    if (idConcept.trim().isEmpty())
        return;
    String idC = getId(resource.getUri());
    concept.setIdConcept(idC);
    // concept.setCreated(null);
    concept.setIdThesaurus(idThesaurus);
    concept.setNotation("");
    concept.setStatus("");
    concept.setTopConcept(false);
    concept.setIdGroup(idGroup);
    concept = addDates(resource.getDateList(), concept, dateFormat);
    if (idGroup.trim().isEmpty())
        return;
    conceptHelper.insertConceptInTable(ds, concept, idUser);
    // ajout des termes et traductions
    NodeTerm nodeTerm = new NodeTerm();
    nodeTerm.setNodeTermTraduction(getTraductionConcept(resource.getLabelsList()));
    nodeTerm.setIdTerm(idC);
    nodeTerm.setIdConcept(idC);
    nodeTerm.setIdThesaurus(idThesaurus);
    nodeTerm.setSource("");
    nodeTerm.setStatus("");
    nodeTerm = addDatesTerm(resource.getDateList(), nodeTerm, dateFormat);
    TermHelper termHelper = new TermHelper();
    termHelper.insertTerm(ds, nodeTerm, idUser);
    // ajouter les notes
    ArrayList<NodeNote> nodeNoteList = addNotes(resource.getDocumentationsList());
    NoteHelper noteHelper = new NoteHelper();
    for (NodeNote nodeNoteList1 : nodeNoteList) {
        if (nodeNoteList1.getNotetypecode().contains("scopeNote")) {
            noteHelper.addConceptNote(ds, concept.getIdConcept(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
        if (nodeNoteList1.getNotetypecode().contains("historyNote")) {
            noteHelper.addConceptNote(ds, concept.getIdConcept(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
        if (nodeNoteList1.getNotetypecode().contains("definition")) {
            noteHelper.addTermNote(ds, nodeTerm.getIdTerm(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
        if (nodeNoteList1.getNotetypecode().contains("editorialNote")) {
            noteHelper.addTermNote(ds, nodeTerm.getIdTerm(), nodeNoteList1.getLang(), idThesaurus, nodeNoteList1.getLexicalvalue(), nodeNoteList1.getNotetypecode(), idUser);
        }
    }
    // Enregistrer les relations
    writeRelationsList(resource.getRelationsList(), concept.getIdConcept(), idThesaurus, idUser);
    ArrayList<SKOSMapping> sKOSMappings = resource.getMappings();
    // Enregistrer les Mappings (alignements)
    AlignmentHelper alignmentHelper = new AlignmentHelper();
    for (SKOSMapping sKOSMapping : sKOSMappings) {
        if (sKOSMapping.getProperty() == SKOSProperty.exactMatch) {
            alignmentHelper.addNewAlignment(ds, // user
            1, // concept target
            "", // thesaurus target
            "", // URI
            sKOSMapping.getTargetUri(), 1, concept.getIdConcept(), idThesaurus, 0);
        }
        if (sKOSMapping.getProperty() == SKOSProperty.closeMatch) {
            alignmentHelper.addNewAlignment(ds, // user
            1, // concept target
            "", // thesaurus target
            "", // URI
            sKOSMapping.getTargetUri(), 2, concept.getIdConcept(), idThesaurus, 0);
        }
    }
    // Ajouter l'id du concept importé pour l'aligner avec le thésaurus source
    alignmentHelper.addNewAlignment(ds, // user
    1, // concept target
    "", // thesaurus target
    "", // URI de la source
    resource.getUri(), // sKOSMapping.getTargetUri(), // URI
    1, concept.getIdConcept(), idThesaurus, 0);
    // Enregister les synonymes et traductions
    ArrayList<NodeEM> nodeEMs = writeLabelsList(ds, resource.getLabelsList());
    Term term = new Term();
    for (int i = 0; i < nodeEMs.size(); i++) {
        term.setId_concept(concept.getIdConcept());
        term.setId_term(nodeTerm.getIdTerm());
        term.setLexical_value(nodeEMs.get(i).getLexical_value());
        term.setLang(nodeEMs.get(i).getLang());
        term.setId_thesaurus(idThesaurus);
        term.setSource(nodeEMs.get(i).getSource());
        term.setStatus(nodeEMs.get(i).getStatus());
        termHelper.addNonPreferredTerm(ds, term, idUser);
    }
}
Also used : SKOSTopConcept(skos.SKOSTopConcept) Concept(mom.trd.opentheso.bdd.datas.Concept) ConceptHelper(mom.trd.opentheso.bdd.helper.ConceptHelper) NodeTerm(mom.trd.opentheso.bdd.helper.nodes.term.NodeTerm) NoteHelper(mom.trd.opentheso.bdd.helper.NoteHelper) AlignmentHelper(mom.trd.opentheso.bdd.helper.AlignmentHelper) Term(mom.trd.opentheso.bdd.datas.Term) NodeTerm(mom.trd.opentheso.bdd.helper.nodes.term.NodeTerm) NodeEM(mom.trd.opentheso.bdd.helper.nodes.NodeEM) NodeNote(mom.trd.opentheso.bdd.helper.nodes.notes.NodeNote) SKOSMapping(skos.SKOSMapping) TermHelper(mom.trd.opentheso.bdd.helper.TermHelper)

Example 8 with SKOSMapping

use of skos.SKOSMapping in project opentheso by miledrousset.

the class SkosToJsonld method addElementMapping.

private void addElementMapping(ArrayList<SKOSMapping> skosRelation, String nameSpace) {
    String element;
    String uri;
    StringPlus stringPlus = new StringPlus();
    if (skosRelation.size() > 1) {
        boolean first = true;
        endElement();
        element = "      \"" + nameSpaceSkosCore + nameSpace + "\": [\n";
        for (SKOSMapping skosRelation1 : skosRelation) {
            if (!first)
                element += "        },\n";
            element += "        {\n";
            uri = stringPlus.normalizeStringForXml(skosRelation1.getTargetUri());
            element += "          \"@id\": \"" + uri + "\"\n";
            first = false;
        }
        element += "        }\n";
        element += "      ]";
    } else {
        endElement();
        element = "      \"" + nameSpaceSkosCore + nameSpace + "\": {\n";
        for (SKOSMapping skosRelation1 : skosRelation) {
            uri = stringPlus.normalizeStringForXml(skosRelation1.getTargetUri());
            element += "        \"@id\": \"" + uri + "\"\n";
            element += "      }";
        }
    }
    jsonLd.append(element);
}
Also used : StringPlus(mom.trd.opentheso.bdd.tools.StringPlus) SKOSMapping(skos.SKOSMapping)

Example 9 with SKOSMapping

use of skos.SKOSMapping in project opentheso by miledrousset.

the class SkosToJsonldSchemaOrg method addSameAs.

/**
 * Ajout des dates à Json
 * @param dates
 */
private void addSameAs(ArrayList<SKOSMapping> sameAs) {
    String mapping;
    endElement();
    mapping = "      \"sameAs" + "\": [\n";
    boolean first = true;
    for (SKOSMapping sameAs1 : sameAs) {
        if (!first)
            mapping += ",\n";
        mapping += "          \"" + sameAs1.getTargetUri() + "\"";
        first = false;
    }
    mapping += "\n      ]";
    jsonLd.append(mapping);
}
Also used : SKOSMapping(skos.SKOSMapping)

Aggregations

SKOSMapping (skos.SKOSMapping)9 Concept (mom.trd.opentheso.bdd.datas.Concept)5 Term (mom.trd.opentheso.bdd.datas.Term)5 AlignmentHelper (mom.trd.opentheso.bdd.helper.AlignmentHelper)5 ConceptHelper (mom.trd.opentheso.bdd.helper.ConceptHelper)5 NoteHelper (mom.trd.opentheso.bdd.helper.NoteHelper)5 TermHelper (mom.trd.opentheso.bdd.helper.TermHelper)5 NodeEM (mom.trd.opentheso.bdd.helper.nodes.NodeEM)5 NodeNote (mom.trd.opentheso.bdd.helper.nodes.notes.NodeNote)5 NodeTerm (mom.trd.opentheso.bdd.helper.nodes.term.NodeTerm)5 SKOSTopConcept (skos.SKOSTopConcept)5 RelationsHelper (mom.trd.opentheso.bdd.helper.RelationsHelper)2 SQLException (java.sql.SQLException)1 ArrayList (java.util.ArrayList)1 StringPlus (mom.trd.opentheso.bdd.tools.StringPlus)1