added bounding box info, modified output predicates

This commit is contained in:
Enrico Ottonello 2020-03-05 16:24:22 +01:00
parent a8aa5ec6ed
commit 3e230e98be
1 changed files with 65 additions and 40 deletions

View File

@ -4,9 +4,8 @@ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX mine: <http://www.myprefix/>
PREFIX onto: <http://www.ontotext.com/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX ariadneplus: <https://ariadne-infrastructure.eu/aocat/>
CONSTRUCT {
?record mine:resourcetype "AriadneCatalogEntry" .
?record mine:identifier ?record .
@ -31,50 +30,63 @@ CONSTRUCT {
?publisher mine:email ?publisherEmail .
?record mine:accessPolicy ?accessPolicy .
?record mine:accessRights ?accessRights .
?record mine:landingPage ?landingPage .
?record mine:landingPage ?landingPage .
?record mine:spatial ?spatial .
?spatial mine:placeName ?spatialPlaceName .
?spatial mine:spatialCoordinateSystem ?spatialCoordinateSystem .
?spatial mine:location ?location .
?location mine:lat ?spatialLocationLat .
?location mine:lon ?spatialLocationLon .
?spatial mine:boxlocation ?boxlocation .
?boxlocation mine:boxMaxLat ?spatialLocationBBMaxLat .
?boxlocation mine:boxMaxLon ?spatialLocationBBMaxLon .
?boxlocation mine:boxMinLat ?spatialLocationBBMinLat .
?boxlocation mine:boxMinLon ?spatialLocationBBMinLon .
?record mine:temporal ?temporal .
?temporal mine:uri ?temporal .
?temporal mine:periodName ?temporalPeriodName .
?temporal mine:from ?temporalFrom .
?temporal mine:until ?temporalUntil .
?record mine:archeologicalResourceType ?archeologicalResourceType .
?archeologicalResourceType mine:name ?archeologicalResourceTypeName .
?record mine:resourceType ?resourceType .
?record mine:modified ?modified .
?record mine:nativeSubject ?natSub .
?natSub mine:prefLabel ?nativeSbj .
?natSub mine:aatId ?aatId .
?natSub mine:aatHeritageData ?aatHeritageData .
?record mine:spatial ?spatial .
?spatial mine:placeName ?spatialPlaceName .
?spatial mine:location ?blocation .
?blocation mine:lat ?spatialLocationLat .
?blocation mine:lon ?spatialLocationLon .
?record mine:nativeSubject ?nativeSubject .
?nativeSubject mine:prefLabel ?nativeSubjectPrefLabel .
?nativeSubject mine:rdfAbout ?nativeSubject .
?nativeSubject mine:aatSubjectsId ?aatSubjectsId .
?record mine:title ?title .
?record mine:description ?description .
?record mine:temporal ?t .
?t mine:periodName ?temporalPeriodName .
?t mine:from ?from .
?t mine:until ?until .
?record mine:language ?language .
}
from <https://ariadne-infrastructure.eu/api_________::ariadne_plus::ads::aat>
from <https://ariadne-infrastructure.eu/api_________::ariadne_plus::ads::271>
from <https://ariadne-infrastructure.eu/api_________::ariadne_plus::ads::273>
#from onto:explain
where {
#mandatory statements in our model, to be added in all datasources
#?record aocat:has_title ?title ;
# aocat:has_access_rights ?accessRights ;
# aocat:has_creator / aocat:has_name ?contributorName ;
# aocat:has_creator / aocat:has_email ?contributorEmail ;
# aocat:has_native_subject / skos:prefLabel ?nativeSbj ;
# aocat:has_original_id ?originalId ;
?record aocat:has_language / skos:prefLabel ?language .
#?record aocat:has_title ?title .
?record aocat:has_language / skos:prefLabel ?language .
optional {
{
?record aocat:has_original_id ?originalId .
}
union
{
?record aocat:has_native_subject ?natSub .
?natSub skos:exactMatch ?aatId .
?natSub owl:sameAs ?aatHeritageData .
?natSub skos:prefLabel ?nativeSbj .
?record aocat:has_native_subject ?nativeSubject .
?nativeSubject skos:prefLabel ?nativeSubjectPrefLabel .
optional {
{
?nativeSubject skos:exactMatch ?aatSubjectsId .
}
union
{
?nativeSubject skos:closeMatch ?aatSubjectsId .
}
}
}
union
{
@ -88,10 +100,6 @@ where {
}
union
{
?record aocat:has_title ?title .
}
union
{
?record aocat:has_access_rights ?accessRights .
}
union
@ -100,28 +108,35 @@ where {
}
union
{
?record aocat:has_access_policy ?ap .
?ap rdfs:label ?accessPolicy .
?record aocat:has_access_policy / rdfs:label ?accessPolicy .
}
union
{
?record aocat:has_landing_page / rdfs:label ?landingPage .
}
union
{
?record aocat:has_temporal_coverage ?t .
?t aocat:has_period / skos:prefLabel ?temporalPeriodName .
{
?record aocat:has_temporal_coverage ?temporal .
}
union
{
?record aocat:has_temporal_coverage ?t .
?t aocat:from ?from .
?record aocat:has_temporal_coverage ?temporal .
?temporal aocat:has_period / skos:prefLabel ?temporalPeriodName .
}
union
{
?record aocat:has_temporal_coverage ?t .
?t aocat:until ?until .
?record aocat:has_temporal_coverage ?temporal .
?temporal aocat:from ?temporalFrom .
}
union
{
?record aocat:has_temporal_coverage ?temporal .
?temporal aocat:until ?temporalUntil .
}
union
{
?record aocat:has_title ?title .
}
}
{
select *
@ -184,19 +199,29 @@ where {
{
?record aocat:has_spatial_coverage ?spatial .
?spatial aocat:has_place_name ?spatialPlaceName .
optional {
?spatial aocat:has_coordinate_system ?spatialCoordinateSystem .
}
}
union
{
?record aocat:has_spatial_coverage ?spatial .
?spatial aocat:has_latitude ?spatialLocationLat ;
aocat:has_longitude ?spatialLocationLon .
BIND(uri(concat('http://www.myprefix/location/', md5(concat(str(?spatialLocationLat), str(?spatialLocationLon))))) as ?blocation)
BIND(uri(concat('http://www.myprefix/location/', md5(concat(str(?spatialLocationLat), str(?spatialLocationLon))))) as ?location)
}
union
{
?record aocat:has_spatial_coverage ?spatial .
?spatial aocat:has_bounding_box_max_lat ?spatialLocationBBMaxLat ;
aocat:has_bounding_box_max_lon ?spatialLocationBBMaxLon ;
aocat:has_bounding_box_min_lat ?spatialLocationBBMinLat ;
aocat:has_bounding_box_min_lon ?spatialLocationBBMinLon ;
BIND(uri(concat('http://www.myprefix/location/', md5(concat(str(?spatialLocationBBMaxLat), str(?spatialLocationBBMaxLon), str(?spatialLocationBBMinLat), str(?spatialLocationBBMinLon))))) as ?boxlocation)
}
}
}
}
BIND("organization" as ?contributorType) .
BIND("organization" as ?publisherType) .
}