graphdb query

This commit is contained in:
Enrico Ottonello 2020-02-07 14:44:26 +01:00
parent 66360e6d20
commit 5d8cbece81
1 changed files with 92 additions and 0 deletions

View File

@ -0,0 +1,92 @@
PREFIX aocat: <https://www.ariadne-infrastructure.eu/resource/ao/cat/1.1/>
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/>
CONSTRUCT {
?record mine:resourcetype "AriadneCatalogEntry" .
?record mine:identifier ?record .
?record mine:publisher ?x .
?x a mine:AgentInfo .
?x mine:name ?publisherName .
?x mine:type ?publisherType .
?archeologicalResourceType a mine:archeologicalResourceType .
?record mine:archeologicalResourceType ?archeologicalResourceType .
?archeologicalResourceType mine:name ?archeologicalResourceTypeName .
?record mine:issued ?issued .
?record mine:resourceType ?resourceType .
?record mine:modified ?modified .
?record mine:nativeSubject ?ns .
?ns a mine:NativeSubject .
?ns mine:prefLabel ?nativeSbj .
?spatial a mine:Spatial .
?record mine:spatial ?spatial .
?spatial mine:placeName ?spatialPlaceName .
?spatial mine:location ?blocation .
?blocation a mine:AriadneGeoPoint .
?blocation mine:lat ?spatialLocationLat .
?blocation mine:lon ?spatialLocationLon .
?record mine:accessPolicy ?accessPolicy .
?record mine:landingPage ?landingPage .
?record mine:title ?title .
?record mine:accessRights ?accessRights .
?record mine:description ?description .
?record mine:contributor ?contributor .
?contributor a mine:AgentInfo .
?contributor mine:name ?contributorName .
?contributor mine:email ?contributorEmail .
?contributor mine:type ?contributorType .
?record mine:originalId ?originalId .
?record mine:temporal ?t .
?t a mine:AriadneTemporal .
?t mine:periodName ?temporalPeriodName .
?t mine:from ?from .
?t mine:until ?until .
?record mine:language ?language .
?record mine:partOf ?collection .
}
where {
?record aocat:has_title ?title ;
aocat:has_access_policy / rdfs:label ?accessRights ;
aocat:has_description ?description ;
aocat:has_creator / aocat:has_name ?contributorName ;
aocat:has_creator / aocat:has_email ?contributorEmail ;
aocat:has_access_policy ?accessPolicy ;
aocat:has_landing_page / rdfs:label ?landingPage ;
aocat:is_part_of ?collection ;
aocat:has_spatial_coverage ?spatial ;
aocat:has_native_subject / skos:prefLabel ?nativeSbj ;
aocat:has_original_id ?originalId ;
aocat:has_temporal_coverage / aocat:has_period / skos:prefLabel ?temporalPeriodName ;
aocat:has_temporal_coverage / aocat:from ?from ;
aocat:has_temporal_coverage / aocat:until ?until ;
aocat:has_language / skos:prefLabel ?language .
{
select *
where {
?collection aocat:has_publisher / rdfs:label ?publisherName ;
aocat:has_ARIADNE_subject ?archeologicalResourceType ;
aocat:was_issued ?issued ;
aocat:has_type / skos:prefLabel ?type .
?archeologicalResourceType skos:prefLabel ?archeologicalResourceTypeName .
}
}
{
select *
where {
?spatial aocat:has_place_name ?spatialPlaceName ;
aocat:has_latitude ?spatialLocationLat ;
aocat:has_longitude ?spatialLocationLon .
BIND(uri(concat('http://www.myprefix/location/', md5(concat(str(?spatialLocationLat), str(?spatialLocationLon))))) as ?blocation)
}
}
BIND("organization" as ?contributorType) .
BIND("organization" as ?publisherType) .
}