node_evaluation_helper.rb revision 022df7f893582e7e8efffce816ae27f6d1015766
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen iri = "http://purl.net/dol/language/#{current_element['language']}"
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen .first_or_create(user: user, name: current_element['language'])
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen iri = "http://purl.net/dol/logics/#{current_element['logic']}"
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen .first_or_create(user: user, name: current_element['logic'])
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen def assign_distributed_ontology_logic(ontology)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen iri = "http://purl.net/dol/logics/#{Logic::DEFAULT_DISTRIBUTED_ONTOLOGY_LOGIC}"
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen name = Logic::DEFAULT_DISTRIBUTED_ONTOLOGY_LOGIC
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # generate IRI for child-ontology
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen child_iri = parent_ontology.iri_for_child(internal_iri)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen child_locid = parent_ontology.locid_for_child(internal_iri)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # find or create child-ontology by IRI
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen ontology = parent_ontology.children.find_with_locid(child_locid, child_iri)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen file_extension: parent_ontology.file_extension,
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen ontology = SingleOntology.create!(options, without_protection: true)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version = ontology.versions.build
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version.user = user
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version.basepath = ontology.basepath
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version.parent = parent_version
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version.commit_oid = parent_version.try(:commit_oid)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version.commit = parent_version.try(:commit)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version.file_extension = ontology.file_extension
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # This version will not exist if the parsing fails
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen version.do_not_parse!
9e4bf8b12aecd4629cdb3e3c7a856b54f400f8e2Dwight Engen hets_evaluator.versions << version
9e4bf8b12aecd4629cdb3e3c7a856b54f400f8e2Dwight Engen def parent_version
41ca89087a8700aaa7992cbfe9bc8f93da15343bDwight Engen hets_evaluator.version if parent_ontology
41ca89087a8700aaa7992cbfe9bc8f93da15343bDwight Engen def alias_iris_for_mappings!(current_element)
41ca89087a8700aaa7992cbfe9bc8f93da15343bDwight Engen aliases = hets_evaluator.ontology_aliases
41ca89087a8700aaa7992cbfe9bc8f93da15343bDwight Engen current_element['source_iri'] = aliases[current_element['source']]
41ca89087a8700aaa7992cbfe9bc8f93da15343bDwight Engen current_element['target_iri'] = aliases[current_element['target']]
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen def generate_ontology_iri(internal_iri, current_element)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen if current_element['reference'] == 'true'
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen ontology = Ontology.find_with_iri(internal_iri)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen if ontology.nil?
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen ontohub_iri = ExternalRepository.determine_iri(internal_iri)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen ontohub_iri = ontology.iri
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen if parent_ontology.distributed?
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen ontohub_iri = parent_ontology.iri_for_child(internal_iri)
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # we use 0 here, because the first time around, we
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # have ontologies_count 0 which is increased by one
7aff4f43fd84b021db12b2ffed1a4aa1b4cf65efSerge Hallyn # after obtaining the lock. We need to preempt
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # this message, because otherwise we would
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # fail here with a lock issue instead of the
fe4de9a66d112cb9ddd5977dcce075323f29a39aDwight Engen # 'more than one ontology' issue.