Skip to content

Commit 3ab658c

Browse files
committed
[test/RDFWriter] Py2 compatibility
Hopefully for the last time
1 parent 275dbe8 commit 3ab658c

File tree

1 file changed

+81
-76
lines changed

1 file changed

+81
-76
lines changed

test/test_rdf_writer.py

Lines changed: 81 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
import os
33
import unittest
44

5+
from sys import version_info
6+
57
import yaml
68

7-
from owlrl import DeductiveClosure, RDFS_Semantics
9+
if version_info > (3, 4):
10+
from owlrl import DeductiveClosure, RDFS_Semantics
811

912
from rdflib import URIRef, Literal
1013
from rdflib.namespace import Namespace, RDF, RDFS, XSD
@@ -358,10 +361,11 @@ def test_rdf_custom_subclasses(self):
358361
doc = odml.Document()
359362
_ = odml.Section(name="test_subclassing", type=sub_class_type, parent=doc)
360363

361-
with self.assertWarns(UserWarning):
362-
rdf_writer = RDFWriter([doc], custom_subclasses=custom_class_dict)
363-
self.assertNotIn("odml:Cell", rdf_writer.get_rdf_str())
364-
self.assertIn("odml:Neuron", rdf_writer.get_rdf_str())
364+
if version_info > (3, 4):
365+
with self.assertWarns(UserWarning):
366+
rdf_writer = RDFWriter([doc], custom_subclasses=custom_class_dict)
367+
self.assertNotIn("odml:Cell", rdf_writer.get_rdf_str())
368+
self.assertIn("odml:Neuron", rdf_writer.get_rdf_str())
365369

366370
def test_rdf_subclassing_definitions(self):
367371
"""
@@ -417,102 +421,103 @@ def test_rdf_subclassing_queries(self):
417421
Test the proper implementation of the RDF subclassing feature. Tests ensure, that queries
418422
relying on RDF Subclasses return appropriate results.
419423
"""
420-
namespace_map = {"odml": Namespace(ODML_NS), "rdf": RDF, "rdfs": RDFS}
424+
if version_info > (3, 4):
425+
namespace_map = {"odml": Namespace(ODML_NS), "rdf": RDF, "rdfs": RDFS}
421426

422-
doc = odml.Document()
423-
_ = odml.Section(name="test_subclass", type="cell", parent=doc)
424-
_ = odml.Section(name="test_regular_class", type="regular", parent=doc)
427+
doc = odml.Document()
428+
_ = odml.Section(name="test_subclass", type="cell", parent=doc)
429+
_ = odml.Section(name="test_regular_class", type="regular", parent=doc)
425430

426-
rdf_writer = RDFWriter([doc])
427-
_ = rdf_writer.get_rdf_str()
431+
rdf_writer = RDFWriter([doc])
432+
_ = rdf_writer.get_rdf_str()
428433

429-
use_graph = rdf_writer.graph
430-
DeductiveClosure(RDFS_Semantics).expand(use_graph)
434+
use_graph = rdf_writer.graph
435+
DeductiveClosure(RDFS_Semantics).expand(use_graph)
431436

432-
q_string = "SELECT * WHERE {?s rdf:type odml:Section .}"
433-
curr_query = prepareQuery(q_string, initNs=namespace_map)
437+
q_string = "SELECT * WHERE {?s rdf:type odml:Section .}"
438+
curr_query = prepareQuery(q_string, initNs=namespace_map)
434439

435-
# Make sure the query finds two sections
436-
self.assertIs(len(use_graph.query(curr_query)), 2)
440+
# Make sure the query finds two sections
441+
self.assertIs(len(use_graph.query(curr_query)), 2)
437442

438-
# Make sure the query finds
439-
result_section = []
440-
for row in use_graph.query(curr_query):
441-
result_section.append(row.s)
443+
# Make sure the query finds
444+
result_section = []
445+
for row in use_graph.query(curr_query):
446+
result_section.append(row.s)
442447

443-
q_string = "SELECT * WHERE {?s rdf:type odml:Cell .}"
444-
curr_query = prepareQuery(q_string, initNs=namespace_map)
448+
q_string = "SELECT * WHERE {?s rdf:type odml:Cell .}"
449+
curr_query = prepareQuery(q_string, initNs=namespace_map)
445450

446-
self.assertIs(len(use_graph.query(curr_query)), 1)
447-
for row in use_graph.query(curr_query):
448-
self.assertIn(row.s, result_section)
451+
self.assertIs(len(use_graph.query(curr_query)), 1)
452+
for row in use_graph.query(curr_query):
453+
self.assertIn(row.s, result_section)
449454

450-
# -- Test custom subclassing queries
451-
type_custom_class = "species"
452-
type_overwrite_class = "cell"
453-
custom_class_dict = {type_custom_class: "Species", type_overwrite_class: "Neuron"}
455+
# -- Test custom subclassing queries
456+
type_custom_class = "species"
457+
type_overwrite_class = "cell"
458+
custom_class_dict = {type_custom_class: "Species", type_overwrite_class: "Neuron"}
454459

455-
doc = odml.Document()
456-
sec = odml.Section(name="test_subclass", type="species", parent=doc)
457-
_ = odml.Section(name="test_subclass_overwrite", type="cell", parent=sec)
458-
_ = odml.Section(name="test_regular_class", type="regular", parent=sec)
460+
doc = odml.Document()
461+
sec = odml.Section(name="test_subclass", type="species", parent=doc)
462+
_ = odml.Section(name="test_subclass_overwrite", type="cell", parent=sec)
463+
_ = odml.Section(name="test_regular_class", type="regular", parent=sec)
459464

460-
rdf_writer = RDFWriter([doc], custom_subclasses=custom_class_dict)
461-
_ = rdf_writer.get_rdf_str()
465+
rdf_writer = RDFWriter([doc], custom_subclasses=custom_class_dict)
466+
_ = rdf_writer.get_rdf_str()
462467

463-
use_graph = rdf_writer.graph
464-
DeductiveClosure(RDFS_Semantics).expand(use_graph)
468+
use_graph = rdf_writer.graph
469+
DeductiveClosure(RDFS_Semantics).expand(use_graph)
465470

466-
q_string = "SELECT * WHERE {?s rdf:type odml:Section .}"
467-
curr_query = prepareQuery(q_string, initNs=namespace_map)
471+
q_string = "SELECT * WHERE {?s rdf:type odml:Section .}"
472+
curr_query = prepareQuery(q_string, initNs=namespace_map)
468473

469-
# Make sure the query finds three sections
470-
self.assertIs(len(use_graph.query(curr_query)), 3)
474+
# Make sure the query finds three sections
475+
self.assertIs(len(use_graph.query(curr_query)), 3)
471476

472-
# Make sure the query finds
473-
result_section = []
474-
for row in use_graph.query(curr_query):
475-
result_section.append(row.s)
477+
# Make sure the query finds
478+
result_section = []
479+
for row in use_graph.query(curr_query):
480+
result_section.append(row.s)
476481

477-
# Custom class 'Species' should be found.
478-
q_string = "SELECT * WHERE {?s rdf:type odml:Species .}"
479-
curr_query = prepareQuery(q_string, initNs=namespace_map)
482+
# Custom class 'Species' should be found.
483+
q_string = "SELECT * WHERE {?s rdf:type odml:Species .}"
484+
curr_query = prepareQuery(q_string, initNs=namespace_map)
480485

481-
self.assertIs(len(use_graph.query(curr_query)), 1)
482-
for row in use_graph.query(curr_query):
483-
self.assertIn(row.s, result_section)
486+
self.assertIs(len(use_graph.query(curr_query)), 1)
487+
for row in use_graph.query(curr_query):
488+
self.assertIn(row.s, result_section)
484489

485-
# Custom class 'Neuron' should be found.
486-
q_string = "SELECT * WHERE {?s rdf:type odml:Neuron .}"
487-
curr_query = prepareQuery(q_string, initNs=namespace_map)
490+
# Custom class 'Neuron' should be found.
491+
q_string = "SELECT * WHERE {?s rdf:type odml:Neuron .}"
492+
curr_query = prepareQuery(q_string, initNs=namespace_map)
488493

489-
self.assertIs(len(use_graph.query(curr_query)), 1)
490-
for row in use_graph.query(curr_query):
491-
self.assertIn(row.s, result_section)
494+
self.assertIs(len(use_graph.query(curr_query)), 1)
495+
for row in use_graph.query(curr_query):
496+
self.assertIn(row.s, result_section)
492497

493-
# Default class 'Cell' was replaced and should not return any result.
494-
q_string = "SELECT * WHERE {?s rdf:type odml:Cell .}"
495-
curr_query = prepareQuery(q_string, initNs=namespace_map)
498+
# Default class 'Cell' was replaced and should not return any result.
499+
q_string = "SELECT * WHERE {?s rdf:type odml:Cell .}"
500+
curr_query = prepareQuery(q_string, initNs=namespace_map)
496501

497-
self.assertIs(len(use_graph.query(curr_query)), 0)
502+
self.assertIs(len(use_graph.query(curr_query)), 0)
498503

499-
# -- Test inactivated subclassing
500-
doc = odml.Document()
501-
_ = odml.Section(name="test_regular_class", type="regular", parent=doc)
502-
_ = odml.Section(name="test_subclass", type="cell", parent=doc)
504+
# -- Test inactivated subclassing
505+
doc = odml.Document()
506+
_ = odml.Section(name="test_regular_class", type="regular", parent=doc)
507+
_ = odml.Section(name="test_subclass", type="cell", parent=doc)
503508

504-
rdf_writer = RDFWriter([doc], rdf_subclassing=False)
505-
_ = rdf_writer.get_rdf_str()
509+
rdf_writer = RDFWriter([doc], rdf_subclassing=False)
510+
_ = rdf_writer.get_rdf_str()
506511

507-
use_graph = rdf_writer.graph
508-
DeductiveClosure(RDFS_Semantics).expand(use_graph)
512+
use_graph = rdf_writer.graph
513+
DeductiveClosure(RDFS_Semantics).expand(use_graph)
509514

510-
q_string = "SELECT * WHERE {?s rdf:type odml:Section .}"
511-
curr_query = prepareQuery(q_string, initNs=namespace_map)
515+
q_string = "SELECT * WHERE {?s rdf:type odml:Section .}"
516+
curr_query = prepareQuery(q_string, initNs=namespace_map)
512517

513-
self.assertIs(len(use_graph.query(curr_query)), 2)
518+
self.assertIs(len(use_graph.query(curr_query)), 2)
514519

515-
q_string = "SELECT * WHERE {?s rdf:type odml:Cell .}"
516-
curr_query = prepareQuery(q_string, initNs=namespace_map)
520+
q_string = "SELECT * WHERE {?s rdf:type odml:Cell .}"
521+
curr_query = prepareQuery(q_string, initNs=namespace_map)
517522

518-
self.assertIs(len(use_graph.query(curr_query)), 0)
523+
self.assertIs(len(use_graph.query(curr_query)), 0)

0 commit comments

Comments
 (0)