Skip to content
Snippets Groups Projects
Commit aa7e8b68 authored by Frank Lange's avatar Frank Lange
Browse files

use OPTIONAL around given name of person authors

parent 91292183
Branches
No related tags found
No related merge requests found
...@@ -5,7 +5,7 @@ from rdflib import RDF, URIRef, Variable ...@@ -5,7 +5,7 @@ from rdflib import RDF, URIRef, Variable
from project.dalia.api_models.api_models import OrganizationAuthor, PersonAuthor from project.dalia.api_models.api_models import OrganizationAuthor, PersonAuthor
from project.dalia.query.utils import query_dalia_dataset from project.dalia.query.utils import query_dalia_dataset
from project.dalia.query_builder.query_builder import GROUP, QueryBuilder, UNION, VALUES from project.dalia.query_builder.query_builder import GROUP, OPTIONAL, QueryBuilder, UNION, VALUES
from project.dalia.rdf.namespace import Jena_ARQ_list, SCHEMA, educor from project.dalia.rdf.namespace import Jena_ARQ_list, SCHEMA, educor
_VARIABLES = { _VARIABLES = {
...@@ -42,7 +42,9 @@ def prepare_query_for_authors_metadata_for_resources(resource_uri_refs: List[URI ...@@ -42,7 +42,9 @@ def prepare_query_for_authors_metadata_for_resources(resource_uri_refs: List[URI
UNION( UNION(
(var_member, RDF.type, SCHEMA.Person), (var_member, RDF.type, SCHEMA.Person),
(var_member, SCHEMA.familyName, _VARIABLES["family"]), (var_member, SCHEMA.familyName, _VARIABLES["family"]),
(var_member, SCHEMA.givenName, _VARIABLES["given"]) OPTIONAL(
(var_member, SCHEMA.givenName, _VARIABLES["given"])
)
) )
).build() ).build()
......
...@@ -29,12 +29,15 @@ def test_prepare_query_for_authors_metadata_for_resources(): ...@@ -29,12 +29,15 @@ def test_prepare_query_for_authors_metadata_for_resources():
UNION { UNION {
?member <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://schema.org/Person> . ?member <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://schema.org/Person> .
?member <https://schema.org/familyName> ?family . ?member <https://schema.org/familyName> ?family .
OPTIONAL {
?member <https://schema.org/givenName> ?given . ?member <https://schema.org/givenName> ?given .
} .
} }
} }
""") """)
# TODO: add test case with an author without given name
def test_get_authors_metadata_for_resources(triplestore): def test_get_authors_metadata_for_resources(triplestore):
lr_authors = get_authors_metadata_for_resources([ lr_authors = get_authors_metadata_for_resources([
URIRef("https://id.dalia.education/learning-resource/1ec1db44-5330-47c5-aae3-6852b11f43a4"), URIRef("https://id.dalia.education/learning-resource/1ec1db44-5330-47c5-aae3-6852b11f43a4"),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment