1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
import unittest
import rdflib
from rdflib import ConjunctiveGraph
from rdflib import Literal
from rdflib.namespace import SKOS
from rdflib import RDFS
from rdflib import URIRef
class TestPrefLabel(unittest.TestCase):
def setUp(self):
self.g = ConjunctiveGraph()
self.u = URIRef("https://example.com/foo")
self.g.add((self.u, RDFS.label, Literal("foo")))
self.g.add((self.u, RDFS.label, Literal("bar")))
def test_default_label_sorting(self):
res = sorted(self.g.preferredLabel(self.u))
tgt = [
(
rdflib.term.URIRef("http://www.w3.org/2000/01/rdf-schema#label"),
rdflib.term.Literal("bar"),
),
(
rdflib.term.URIRef("http://www.w3.org/2000/01/rdf-schema#label"),
rdflib.term.Literal("foo"),
),
]
self.assertEqual(res, tgt)
def test_default_preflabel_sorting(self):
self.g.add((self.u, SKOS.prefLabel, Literal("bla")))
res = self.g.preferredLabel(self.u)
tgt = [
(
rdflib.term.URIRef("http://www.w3.org/2004/02/skos/core#prefLabel"),
rdflib.term.Literal("bla"),
)
]
self.assertEqual(res, tgt)
def test_preflabel_lang_sorting_no_lang_attr(self):
self.g.add((self.u, SKOS.prefLabel, Literal("bla")))
self.g.add((self.u, SKOS.prefLabel, Literal("blubb", lang="en")))
res = sorted(self.g.preferredLabel(self.u))
tgt = [
(
rdflib.term.URIRef("http://www.w3.org/2004/02/skos/core#prefLabel"),
rdflib.term.Literal("bla"),
),
(
rdflib.term.URIRef("http://www.w3.org/2004/02/skos/core#prefLabel"),
rdflib.term.Literal("blubb", lang="en"),
),
]
self.assertEqual(res, tgt)
def test_preflabel_lang_sorting_empty_lang_attr(self):
self.g.add((self.u, SKOS.prefLabel, Literal("bla")))
self.g.add((self.u, SKOS.prefLabel, Literal("blubb", lang="en")))
res = self.g.preferredLabel(self.u, lang="")
tgt = [
(
rdflib.term.URIRef("http://www.w3.org/2004/02/skos/core#prefLabel"),
rdflib.term.Literal("bla"),
)
]
self.assertEqual(res, tgt)
def test_preflabel_lang_sorting_en_lang_attr(self):
self.g.add((self.u, SKOS.prefLabel, Literal("blubb", lang="en")))
res = self.g.preferredLabel(self.u, lang="en")
tgt = [
(
rdflib.term.URIRef("http://www.w3.org/2004/02/skos/core#prefLabel"),
rdflib.term.Literal("blubb", lang="en"),
)
]
self.assertEqual(res, tgt)
|