diff --git a/test/examples/correct/example_five_external_specifiers.json b/test/examples/correct/example_five_external_specifiers.json new file mode 100644 index 00000000..6b33148f --- /dev/null +++ b/test/examples/correct/example_five_external_specifiers.json @@ -0,0 +1,56 @@ +{ + "@context": "../../../docs/context/development/phyx.json", + "phylogenies": [{ + "newick": "((((Aa_a, Bb_b)Expected, Cc_c), (Dd_d, (Ee_e, Ff_f, (Gg_g, Hh_h)))), Ii_i)" + }], + "phylorefs": [{ + "label": "Expected", + "definition": "Includes A_a, excludes C_c, D_d, F_f, G_g and I_i.", + "internalSpecifiers": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Aa a" + } + } + ], + "externalSpecifiers": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Cc c" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Dd d" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Ff f" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Gg g" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Ii i" + } + } + ] + }] +} diff --git a/test/examples/correct/example_five_external_specifiers.jsonld b/test/examples/correct/example_five_external_specifiers.jsonld new file mode 100644 index 00000000..dcbf10a0 --- /dev/null +++ b/test/examples/correct/example_five_external_specifiers.jsonld @@ -0,0 +1,1164 @@ +{ + "@context": "../../../docs/context/development/phyx.json", + "phylogenies": [ + { + "newick": "((((Aa_a, Bb_b)Expected, Cc_c), (Dd_d, (Ee_e, Ff_f, (Gg_g, Hh_h)))), Ii_i)", + "@id": "http://example.org/phyx.js/example#phylogeny0", + "@type": "testcase:PhyloreferenceTestPhylogeny", + "nodes": [ + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node0", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + } + ], + "children": [ + "http://example.org/phyx.js/example#phylogeny0_node1", + "http://example.org/phyx.js/example#phylogeny0_node2" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node1", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ii i" + } + } + } + ], + "labels": [ + "Ii_i" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Ii_i", + "nameComplete": "Ii i", + "genusPart": "Ii", + "specificEpithet": "i" + }, + "label": "Ii_i" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node0", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node2" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node2", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node0", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node1" + ], + "children": [ + "http://example.org/phyx.js/example#phylogeny0_node3", + "http://example.org/phyx.js/example#phylogeny0_node11" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node3", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node2", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node11" + ], + "children": [ + "http://example.org/phyx.js/example#phylogeny0_node4", + "http://example.org/phyx.js/example#phylogeny0_node10" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node4", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node3", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node10" + ], + "children": [ + "http://example.org/phyx.js/example#phylogeny0_node5", + "http://example.org/phyx.js/example#phylogeny0_node8", + "http://example.org/phyx.js/example#phylogeny0_node9" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node5", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node4", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node8", + "http://example.org/phyx.js/example#phylogeny0_node9" + ], + "children": [ + "http://example.org/phyx.js/example#phylogeny0_node6", + "http://example.org/phyx.js/example#phylogeny0_node7" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node6", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Hh h" + } + } + } + ], + "labels": [ + "Hh_h" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Hh_h", + "nameComplete": "Hh h", + "genusPart": "Hh", + "specificEpithet": "h" + }, + "label": "Hh_h" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node5", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node7" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node7", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Gg g" + } + } + } + ], + "labels": [ + "Gg_g" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Gg_g", + "nameComplete": "Gg g", + "genusPart": "Gg", + "specificEpithet": "g" + }, + "label": "Gg_g" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node5", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node6" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node8", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ff f" + } + } + } + ], + "labels": [ + "Ff_f" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Ff_f", + "nameComplete": "Ff f", + "genusPart": "Ff", + "specificEpithet": "f" + }, + "label": "Ff_f" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node4", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node5", + "http://example.org/phyx.js/example#phylogeny0_node9" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node9", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ee e" + } + } + } + ], + "labels": [ + "Ee_e" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Ee_e", + "nameComplete": "Ee e", + "genusPart": "Ee", + "specificEpithet": "e" + }, + "label": "Ee_e" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node4", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node5", + "http://example.org/phyx.js/example#phylogeny0_node8" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node10", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Dd d" + } + } + } + ], + "labels": [ + "Dd_d" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Dd_d", + "nameComplete": "Dd d", + "genusPart": "Dd", + "specificEpithet": "d" + }, + "label": "Dd_d" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node3", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node4" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node11", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node2", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node3" + ], + "children": [ + "http://example.org/phyx.js/example#phylogeny0_node12", + "http://example.org/phyx.js/example#phylogeny0_node13" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node12", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Cc c" + } + } + } + ], + "labels": [ + "Cc_c" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Cc_c", + "nameComplete": "Cc c", + "genusPart": "Cc", + "specificEpithet": "c" + }, + "label": "Cc_c" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node11", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node13" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node13", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Expected" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:OBI_0000312", + "someValuesFrom": { + "@type": "owl:Class", + "intersectionOf": [ + { + "@id": "obo:OBI_0302910" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:OBI_0000293", + "someValuesFrom": { + "@id": "http://example.org/phyx.js/example#phyloref0" + } + } + ] + } + } + ], + "labels": [ + "Expected" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Expected", + "nameComplete": "Expected", + "uninomial": "Expected" + }, + "label": "Expected" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node11", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node12" + ], + "children": [ + "http://example.org/phyx.js/example#phylogeny0_node14", + "http://example.org/phyx.js/example#phylogeny0_node15" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node14", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Bb b" + } + } + } + ], + "labels": [ + "Bb_b" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Bb_b", + "nameComplete": "Bb b", + "genusPart": "Bb", + "specificEpithet": "b" + }, + "label": "Bb_b" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node13", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node15" + ] + }, + { + "@id": "http://example.org/phyx.js/example#phylogeny0_node15", + "rdf:type": [ + { + "@id": "obo:CDAO_0000140" + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000187", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Aa a" + } + } + } + ], + "labels": [ + "Aa_a" + ], + "representsTaxonomicUnits": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "label": "Aa_a", + "nameComplete": "Aa a", + "genusPart": "Aa", + "specificEpithet": "a" + }, + "label": "Aa_a" + } + ], + "parent": "http://example.org/phyx.js/example#phylogeny0_node13", + "siblings": [ + "http://example.org/phyx.js/example#phylogeny0_node14" + ] + } + ], + "hasRootNode": { + "@id": "http://example.org/phyx.js/example#phylogeny0_node0" + } + } + ], + "phylorefs": [ + { + "label": "Expected", + "definition": "Includes A_a, excludes C_c, D_d, F_f, G_g and I_i.", + "internalSpecifiers": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Aa a" + } + } + ], + "externalSpecifiers": [ + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Cc c" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Dd d" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Ff f" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Gg g" + } + }, + { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept", + "hasName": { + "@type": "http://rs.tdwg.org/ontology/voc/TaxonName#TaxonName", + "nameComplete": "Ii i" + } + } + ], + "@id": "http://example.org/phyx.js/example#phyloref0", + "@type": "owl:Class", + "hasComponentClass": [ + { + "@id": "http://example.org/phyx.js/example#phyloref0_component1", + "@type": "owl:Class", + "label": "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))", + "equivalentClass": { + "@type": "owl:Class", + "intersectionOf": [ + { + "@type": "owl:Restriction", + "onProperty": "phyloref:includes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Aa a" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Cc c" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Dd d" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ff f" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Gg g" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ii i" + } + } + } + } + ] + }, + "subClassOf": [ + "phyloref:PhyloreferenceUsingMaximumClade", + { + "@id": "http://example.org/phyx.js/example#phyloref0" + } + ] + }, + { + "@id": "http://example.org/phyx.js/example#phyloref0_component2", + "@type": "owl:Class", + "label": "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))", + "equivalentClass": { + "@type": "owl:Class", + "intersectionOf": [ + { + "@type": "owl:Restriction", + "onProperty": "phyloref:includes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Aa a" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Dd d" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Cc c" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ff f" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Gg g" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ii i" + } + } + } + } + ] + }, + "subClassOf": [ + "phyloref:PhyloreferenceUsingMaximumClade", + { + "@id": "http://example.org/phyx.js/example#phyloref0" + } + ] + }, + { + "@id": "http://example.org/phyx.js/example#phyloref0_component3", + "@type": "owl:Class", + "label": "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))", + "equivalentClass": { + "@type": "owl:Class", + "intersectionOf": [ + { + "@type": "owl:Restriction", + "onProperty": "phyloref:includes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Aa a" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ff f" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Cc c" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Dd d" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Gg g" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ii i" + } + } + } + } + ] + }, + "subClassOf": [ + "phyloref:PhyloreferenceUsingMaximumClade", + { + "@id": "http://example.org/phyx.js/example#phyloref0" + } + ] + }, + { + "@id": "http://example.org/phyx.js/example#phyloref0_component4", + "@type": "owl:Class", + "label": "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))", + "equivalentClass": { + "@type": "owl:Class", + "intersectionOf": [ + { + "@type": "owl:Restriction", + "onProperty": "phyloref:includes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Aa a" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Gg g" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Cc c" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Dd d" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ff f" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ii i" + } + } + } + } + ] + }, + "subClassOf": [ + "phyloref:PhyloreferenceUsingMaximumClade", + { + "@id": "http://example.org/phyx.js/example#phyloref0" + } + ] + }, + { + "@id": "http://example.org/phyx.js/example#phyloref0_component5", + "@type": "owl:Class", + "label": "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))", + "equivalentClass": { + "@type": "owl:Class", + "intersectionOf": [ + { + "@type": "owl:Restriction", + "onProperty": "phyloref:includes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Aa a" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ii i" + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Cc c" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Dd d" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Ff f" + } + } + } + }, + { + "@type": "owl:Restriction", + "onProperty": "obo:CDAO_0000144", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "phyloref:excludes_TU", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonConcept#hasName", + "someValuesFrom": { + "@type": "owl:Restriction", + "onProperty": "http://rs.tdwg.org/ontology/voc/TaxonName#nameComplete", + "hasValue": "Gg g" + } + } + } + } + ] + }, + "subClassOf": [ + "phyloref:PhyloreferenceUsingMaximumClade", + { + "@id": "http://example.org/phyx.js/example#phyloref0" + } + ] + } + ], + "subClassOf": [ + "phyloref:Phyloreference", + "phyloref:PhyloreferenceUsingMaximumClade" + ] + } + ], + "hasTaxonomicUnitMatches": [], + "@id": "http://example.org/phyx.js/example#", + "@type": [ + "testcase:PhyloreferenceTestCase", + "owl:Ontology" + ], + "owl:imports": [ + "http://raw.githubusercontent.com/phyloref/curation-workflow/develop/ontologies/phyloref_testcase.owl", + "http://ontology.phyloref.org/2018-12-14/phyloref.owl", + "http://ontology.phyloref.org/2018-12-14/tcan.owl" + ] +} \ No newline at end of file diff --git a/test/examples/correct/example_five_external_specifiers.nq b/test/examples/correct/example_five_external_specifiers.nq new file mode 100644 index 00000000..bb08fc05 --- /dev/null +++ b/test/examples/correct/example_five_external_specifiers.nq @@ -0,0 +1,766 @@ + . + . + . + . + . + . + . + "((((Aa_a, Bb_b)Expected, Cc_c), (Dd_d, (Ee_e, Ff_f, (Gg_g, Hh_h)))), Ii_i)" . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + _:b25 . + . + _:b27 . + "Dd_d" . + . + . + . + . + . + . + . + _:b30 . + . + _:b32 . + "Cc_c" . + . + . + . + . + _:b35 . + . + _:b37 . + _:b40 . + "Expected" . + . + . + _:b43 . + . + _:b45 . + "Bb_b" . + . + . + _:b48 . + . + _:b50 . + "Aa_a" . + . + . + _:b0 . + . + _:b2 . + "Ii_i" . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + _:b5 . + . + _:b7 . + "Hh_h" . + . + . + _:b10 . + . + _:b12 . + "Gg_g" . + . + . + . + _:b15 . + . + _:b17 . + "Ff_f" . + . + . + . + _:b20 . + . + _:b22 . + "Ee_e" . + "Includes A_a, excludes C_c, D_d, F_f, G_g and I_i." . + _:b53 . + _:b55 . + _:b57 . + _:b59 . + _:b61 . + . + . + . + . + . + _:b178 . + . + "Expected" . + . + . + . + "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))" . + . + . + _:b63 . + . + "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))" . + . + . + _:b86 . + . + "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))" . + . + . + _:b109 . + . + "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))" . + . + . + _:b132 . + . + "(Aa a (Code not known) ~ Cc c (Code not known) V Dd d (Code not known) V Ff f (Code not known) V Gg g (Code not known) V Ii i (Code not known))" . + . + . + _:b155 . +_:b0 _:b1 . +_:b0 . +_:b0 "Ii_i" . +_:b1 "Ii" . +_:b1 "Ii i" . +_:b1 "i" . +_:b1 . +_:b1 "Ii_i" . +_:b10 _:b11 . +_:b10 . +_:b10 "Gg_g" . +_:b100 . +_:b100 "Ff f" . +_:b100 . +_:b101 . +_:b101 . +_:b101 _:b102 . +_:b102 . +_:b102 . +_:b102 _:b103 . +_:b103 . +_:b103 . +_:b103 _:b104 . +_:b104 . +_:b104 "Gg g" . +_:b104 . +_:b105 . +_:b105 . +_:b105 _:b106 . +_:b106 . +_:b106 . +_:b106 _:b107 . +_:b107 . +_:b107 . +_:b107 _:b108 . +_:b108 . +_:b108 "Ii i" . +_:b108 . +_:b109 . +_:b109 _:b180 . +_:b11 "Gg" . +_:b11 "Gg g" . +_:b11 "g" . +_:b11 . +_:b11 "Gg_g" . +_:b110 . +_:b110 . +_:b110 _:b111 . +_:b111 . +_:b111 . +_:b111 _:b112 . +_:b112 . +_:b112 "Aa a" . +_:b112 . +_:b113 . +_:b113 . +_:b113 _:b114 . +_:b114 . +_:b114 . +_:b114 _:b115 . +_:b115 . +_:b115 "Ff f" . +_:b115 . +_:b116 . +_:b116 . +_:b116 _:b117 . +_:b117 . +_:b117 . +_:b117 _:b118 . +_:b118 . +_:b118 . +_:b118 _:b119 . +_:b119 . +_:b119 "Cc c" . +_:b119 . +_:b12 . +_:b12 . +_:b12 _:b13 . +_:b120 . +_:b120 . +_:b120 _:b121 . +_:b121 . +_:b121 . +_:b121 _:b122 . +_:b122 . +_:b122 . +_:b122 _:b123 . +_:b123 . +_:b123 "Dd d" . +_:b123 . +_:b124 . +_:b124 . +_:b124 _:b125 . +_:b125 . +_:b125 . +_:b125 _:b126 . +_:b126 . +_:b126 . +_:b126 _:b127 . +_:b127 . +_:b127 "Gg g" . +_:b127 . +_:b128 . +_:b128 . +_:b128 _:b129 . +_:b129 . +_:b129 . +_:b129 _:b130 . +_:b13 . +_:b13 . +_:b13 _:b14 . +_:b130 . +_:b130 . +_:b130 _:b131 . +_:b131 . +_:b131 "Ii i" . +_:b131 . +_:b132 . +_:b132 _:b186 . +_:b133 . +_:b133 . +_:b133 _:b134 . +_:b134 . +_:b134 . +_:b134 _:b135 . +_:b135 . +_:b135 "Aa a" . +_:b135 . +_:b136 . +_:b136 . +_:b136 _:b137 . +_:b137 . +_:b137 . +_:b137 _:b138 . +_:b138 . +_:b138 "Gg g" . +_:b138 . +_:b139 . +_:b139 . +_:b139 _:b140 . +_:b14 . +_:b14 "Gg g" . +_:b14 . +_:b140 . +_:b140 . +_:b140 _:b141 . +_:b141 . +_:b141 . +_:b141 _:b142 . +_:b142 . +_:b142 "Cc c" . +_:b142 . +_:b143 . +_:b143 . +_:b143 _:b144 . +_:b144 . +_:b144 . +_:b144 _:b145 . +_:b145 . +_:b145 . +_:b145 _:b146 . +_:b146 . +_:b146 "Dd d" . +_:b146 . +_:b147 . +_:b147 . +_:b147 _:b148 . +_:b148 . +_:b148 . +_:b148 _:b149 . +_:b149 . +_:b149 . +_:b149 _:b150 . +_:b15 _:b16 . +_:b15 . +_:b15 "Ff_f" . +_:b150 . +_:b150 "Ff f" . +_:b150 . +_:b151 . +_:b151 . +_:b151 _:b152 . +_:b152 . +_:b152 . +_:b152 _:b153 . +_:b153 . +_:b153 . +_:b153 _:b154 . +_:b154 . +_:b154 "Ii i" . +_:b154 . +_:b155 . +_:b155 _:b192 . +_:b156 . +_:b156 . +_:b156 _:b157 . +_:b157 . +_:b157 . +_:b157 _:b158 . +_:b158 . +_:b158 "Aa a" . +_:b158 . +_:b159 . +_:b159 . +_:b159 _:b160 . +_:b16 "Ff" . +_:b16 "Ff f" . +_:b16 "f" . +_:b16 . +_:b16 "Ff_f" . +_:b160 . +_:b160 . +_:b160 _:b161 . +_:b161 . +_:b161 "Ii i" . +_:b161 . +_:b162 . +_:b162 . +_:b162 _:b163 . +_:b163 . +_:b163 . +_:b163 _:b164 . +_:b164 . +_:b164 . +_:b164 _:b165 . +_:b165 . +_:b165 "Cc c" . +_:b165 . +_:b166 . +_:b166 . +_:b166 _:b167 . +_:b167 . +_:b167 . +_:b167 _:b168 . +_:b168 . +_:b168 . +_:b168 _:b169 . +_:b169 . +_:b169 "Dd d" . +_:b169 . +_:b17 . +_:b17 . +_:b17 _:b18 . +_:b170 . +_:b170 . +_:b170 _:b171 . +_:b171 . +_:b171 . +_:b171 _:b172 . +_:b172 . +_:b172 . +_:b172 _:b173 . +_:b173 . +_:b173 "Ff f" . +_:b173 . +_:b174 . +_:b174 . +_:b174 _:b175 . +_:b175 . +_:b175 . +_:b175 _:b176 . +_:b176 . +_:b176 . +_:b176 _:b177 . +_:b177 . +_:b177 "Gg g" . +_:b177 . +_:b178 _:b179 . +_:b178 . +_:b179 "Aa a" . +_:b179 . +_:b18 . +_:b18 . +_:b18 _:b19 . +_:b180 _:b110 . +_:b180 _:b181 . +_:b181 _:b113 . +_:b181 _:b182 . +_:b182 _:b116 . +_:b182 _:b183 . +_:b183 _:b120 . +_:b183 _:b184 . +_:b184 _:b124 . +_:b184 _:b185 . +_:b185 _:b128 . +_:b185 . +_:b186 _:b133 . +_:b186 _:b187 . +_:b187 _:b136 . +_:b187 _:b188 . +_:b188 _:b139 . +_:b188 _:b189 . +_:b189 _:b143 . +_:b189 _:b190 . +_:b19 . +_:b19 "Ff f" . +_:b19 . +_:b190 _:b147 . +_:b190 _:b191 . +_:b191 _:b151 . +_:b191 . +_:b192 _:b156 . +_:b192 _:b193 . +_:b193 _:b159 . +_:b193 _:b194 . +_:b194 _:b162 . +_:b194 _:b195 . +_:b195 _:b166 . +_:b195 _:b196 . +_:b196 _:b170 . +_:b196 _:b197 . +_:b197 _:b174 . +_:b197 . +_:b198 . +_:b198 _:b199 . +_:b199 _:b42 . +_:b199 . +_:b2 . +_:b2 . +_:b2 _:b3 . +_:b20 _:b21 . +_:b20 . +_:b20 "Ee_e" . +_:b200 _:b64 . +_:b200 _:b201 . +_:b201 _:b67 . +_:b201 _:b202 . +_:b202 _:b70 . +_:b202 _:b203 . +_:b203 _:b74 . +_:b203 _:b204 . +_:b204 _:b78 . +_:b204 _:b205 . +_:b205 _:b82 . +_:b205 . +_:b206 _:b87 . +_:b206 _:b207 . +_:b207 _:b90 . +_:b207 _:b208 . +_:b208 _:b93 . +_:b208 _:b209 . +_:b209 _:b97 . +_:b209 _:b210 . +_:b21 "Ee" . +_:b21 "Ee e" . +_:b21 "e" . +_:b21 . +_:b21 "Ee_e" . +_:b210 _:b101 . +_:b210 _:b211 . +_:b211 _:b105 . +_:b211 . +_:b22 . +_:b22 . +_:b22 _:b23 . +_:b23 . +_:b23 . +_:b23 _:b24 . +_:b24 . +_:b24 "Ee e" . +_:b24 . +_:b25 _:b26 . +_:b25 . +_:b25 "Dd_d" . +_:b26 "Dd" . +_:b26 "Dd d" . +_:b26 "d" . +_:b26 . +_:b26 "Dd_d" . +_:b27 . +_:b27 . +_:b27 _:b28 . +_:b28 . +_:b28 . +_:b28 _:b29 . +_:b29 . +_:b29 "Dd d" . +_:b29 . +_:b3 . +_:b3 . +_:b3 _:b4 . +_:b30 _:b31 . +_:b30 . +_:b30 "Cc_c" . +_:b31 "Cc" . +_:b31 "Cc c" . +_:b31 "c" . +_:b31 . +_:b31 "Cc_c" . +_:b32 . +_:b32 . +_:b32 _:b33 . +_:b33 . +_:b33 . +_:b33 _:b34 . +_:b34 . +_:b34 "Cc c" . +_:b34 . +_:b35 _:b36 . +_:b35 . +_:b35 "Expected" . +_:b36 "Expected" . +_:b36 . +_:b36 "Expected" . +_:b37 . +_:b37 . +_:b37 _:b38 . +_:b38 . +_:b38 . +_:b38 _:b39 . +_:b39 . +_:b39 "Expected" . +_:b39 . +_:b4 . +_:b4 "Ii i" . +_:b4 . +_:b40 . +_:b40 . +_:b40 _:b41 . +_:b41 . +_:b41 _:b198 . +_:b42 . +_:b42 . +_:b42 . +_:b43 _:b44 . +_:b43 . +_:b43 "Bb_b" . +_:b44 "Bb" . +_:b44 "Bb b" . +_:b44 "b" . +_:b44 . +_:b44 "Bb_b" . +_:b45 . +_:b45 . +_:b45 _:b46 . +_:b46 . +_:b46 . +_:b46 _:b47 . +_:b47 . +_:b47 "Bb b" . +_:b47 . +_:b48 _:b49 . +_:b48 . +_:b48 "Aa_a" . +_:b49 "Aa" . +_:b49 "Aa a" . +_:b49 "a" . +_:b49 . +_:b49 "Aa_a" . +_:b5 _:b6 . +_:b5 . +_:b5 "Hh_h" . +_:b50 . +_:b50 . +_:b50 _:b51 . +_:b51 . +_:b51 . +_:b51 _:b52 . +_:b52 . +_:b52 "Aa a" . +_:b52 . +_:b53 _:b54 . +_:b53 . +_:b54 "Cc c" . +_:b54 . +_:b55 _:b56 . +_:b55 . +_:b56 "Dd d" . +_:b56 . +_:b57 _:b58 . +_:b57 . +_:b58 "Ff f" . +_:b58 . +_:b59 _:b60 . +_:b59 . +_:b6 "Hh" . +_:b6 "Hh h" . +_:b6 "h" . +_:b6 . +_:b6 "Hh_h" . +_:b60 "Gg g" . +_:b60 . +_:b61 _:b62 . +_:b61 . +_:b62 "Ii i" . +_:b62 . +_:b63 . +_:b63 _:b200 . +_:b64 . +_:b64 . +_:b64 _:b65 . +_:b65 . +_:b65 . +_:b65 _:b66 . +_:b66 . +_:b66 "Aa a" . +_:b66 . +_:b67 . +_:b67 . +_:b67 _:b68 . +_:b68 . +_:b68 . +_:b68 _:b69 . +_:b69 . +_:b69 "Cc c" . +_:b69 . +_:b7 . +_:b7 . +_:b7 _:b8 . +_:b70 . +_:b70 . +_:b70 _:b71 . +_:b71 . +_:b71 . +_:b71 _:b72 . +_:b72 . +_:b72 . +_:b72 _:b73 . +_:b73 . +_:b73 "Dd d" . +_:b73 . +_:b74 . +_:b74 . +_:b74 _:b75 . +_:b75 . +_:b75 . +_:b75 _:b76 . +_:b76 . +_:b76 . +_:b76 _:b77 . +_:b77 . +_:b77 "Ff f" . +_:b77 . +_:b78 . +_:b78 . +_:b78 _:b79 . +_:b79 . +_:b79 . +_:b79 _:b80 . +_:b8 . +_:b8 . +_:b8 _:b9 . +_:b80 . +_:b80 . +_:b80 _:b81 . +_:b81 . +_:b81 "Gg g" . +_:b81 . +_:b82 . +_:b82 . +_:b82 _:b83 . +_:b83 . +_:b83 . +_:b83 _:b84 . +_:b84 . +_:b84 . +_:b84 _:b85 . +_:b85 . +_:b85 "Ii i" . +_:b85 . +_:b86 . +_:b86 _:b206 . +_:b87 . +_:b87 . +_:b87 _:b88 . +_:b88 . +_:b88 . +_:b88 _:b89 . +_:b89 . +_:b89 "Aa a" . +_:b89 . +_:b9 . +_:b9 "Hh h" . +_:b9 . +_:b90 . +_:b90 . +_:b90 _:b91 . +_:b91 . +_:b91 . +_:b91 _:b92 . +_:b92 . +_:b92 "Dd d" . +_:b92 . +_:b93 . +_:b93 . +_:b93 _:b94 . +_:b94 . +_:b94 . +_:b94 _:b95 . +_:b95 . +_:b95 . +_:b95 _:b96 . +_:b96 . +_:b96 "Cc c" . +_:b96 . +_:b97 . +_:b97 . +_:b97 _:b98 . +_:b98 . +_:b98 . +_:b98 _:b99 . +_:b99 . +_:b99 . +_:b99 _:b100 .