Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ils_middleware/tasks/folio/map.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"uri": "work",
"class": "bf:Person",
},
"editions": {"template": bf_work_map.editions, "uri": "work"},
"editions": {"template": bf_instance_map.editions, "uri": "instance"},
"instance_format": {
"template": bf_instance_map.instance_format_id,
"uri": "instance",
Expand Down
10 changes: 10 additions & 0 deletions ils_middleware/tasks/folio/mappings/bf_instance.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
BF Instance with its associated BF Work.
"""

editions = """PREFIX bf: <http://id.loc.gov/ontologies/bibframe/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?edition
WHERE {{
<{bf_instance}> a bf:Instance .
<{bf_instance}> bf:editionStatement ?edition .
}}
"""

identifier = """PREFIX bf: <http://id.loc.gov/ontologies/bibframe/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Expand Down
11 changes: 0 additions & 11 deletions ils_middleware/tasks/folio/mappings/bf_work.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,6 @@
}}
"""

editions = """PREFIX bf: <http://id.loc.gov/ontologies/bibframe/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?edition
WHERE {{
<{bf_work}> a bf:Work .
<{bf_work}> bf:editionStatement ?edition .
}}
"""

instance_type_id = """PREFIX bf: <http://id.loc.gov/ontologies/bibframe/>

SELECT ?instance_type_id
Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/bf.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ bf:Work rdfs:label "http://id.loc.gov/ontologies/bibframe/Work" .
bf:copyrightDate "©2020" ;
bf:dimensions "30 cm by 15 cm"@eng ;
bf:editionStatement "1a edizione"@ita ;
bf:editionStatement "1st edition"@eng ;
bf:electronicLocator <https://phaidra.cab.unipd.it/detail/o:445140?mycoll=o:432583>,
<https://purl.stanford.edu/mf283yt5578> ;
bf:extent [ a bf:Extent ;
Expand Down Expand Up @@ -115,7 +116,6 @@ bf:Work rdfs:label "http://id.loc.gov/ontologies/bibframe/Work" .
[ a bf:Contribution ;
bf:agent <http://id.loc.gov/authorities/names/n97060063> ;
bf:role <http://id.loc.gov/vocabulary/relators/aut> ] ;
bf:editionStatement "1st edition"@eng ;
bf:genreForm <http://id.loc.gov/authorities/genreForms/gf2014026113> ;
bf:hasInstance <https://api.stage.sinopia.io/resource/b0319047-acd0-4f30-bd8b-98e6c1bac6b0> ;
bf:language <http://id.loc.gov/vocabulary/languages/ita> ;
Expand Down
9 changes: 9 additions & 0 deletions tests/tasks/folio/mappings/test_bf_instance.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@
uri = "https://api.stage.sinopia.io/resource/b0319047-acd0-4f30-bd8b-98e6c1bac6b0"


@typing.no_type_check
def test_edition(test_graph: rdflib.Graph):
sparql = bf_instance_map.editions.format(bf_instance=uri)

editions = [row[0] for row in test_graph.query(sparql)]
sorted_editions = sorted(editions, key=lambda x: x.value)
assert str(sorted_editions[1]).startswith("1st edition")


@typing.no_type_check
def test_isbn(test_graph: rdflib.Graph):
sparql = bf_instance_map.identifier.format(bf_instance=uri, bf_class="bf:Isbn")
Expand Down
9 changes: 0 additions & 9 deletions tests/tasks/folio/mappings/test_bf_work.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,6 @@ def test_contributor_author_person(test_graph: rdflib.Graph):
assert str(contributors[0][1]).startswith("author")


@typing.no_type_check
def test_edition(test_graph: rdflib.Graph):
sparql = bf_work_map.editions.format(bf_work=work_uri)

editions = [row[0] for row in test_graph.query(sparql)]

assert str(editions[0]).startswith("1st edition")


@typing.no_type_check
def test_instance_type_id(test_graph: rdflib.Graph):
sparql = bf_work_map.instance_type_id.format(bf_work=work_uri)
Expand Down