У меня есть тройной магазин, и я хотел бы создать запрос.Это пример ресурса, представляющего один документ:
<http://natarchives.com.mt/deed/MS588-D52>
locah:accessProvidedBy <http://natarchives.com.mt/repository/MT01> ;
locah:associatedWith "heredes" , "honorabilis" , "uncias" , "per tactum penne" , "vinea" , "ut moris est" , "juribus" , "unciarum" , "precij" , "spacium" , "gracia" , "tabernam sitam" , "honorabili" , "renunciantes" , "territorio" , "testes" , "tarenos" , "recuperacionis consuetudinarie" , "positam" , "ponderis" , "post" , "tabernam" , "causa" , "per se" , "sed sponte jure" , "diaconus" , "cisterna" , "precio" , "civitate" , "festo" , "solvere" ;
locah:associatedWith <http://natarchives.com.mt/person/person11817> , <http://natarchives.com.mt/person/person11826> , <http://natarchives.com.mt/person/person11822> , <http://natarchives.com.mt/person/person11820> , <http://natarchives.com.mt/person/person11823> , <http://natarchives.com.mt/person/person11818> , <http://natarchives.com.mt/place/place486> , <http://natarchives.com.mt/person/person11824> , <http://natarchives.com.mt/person/person11825> , <http://natarchives.com.mt/person/person11821> , <http://natarchives.com.mt/person/person11816> , <http://natarchives.com.mt/place/place886> , <http://natarchives.com.mt/person/person11819> ;
locah:level <http://data.archiveshub.ac.uk/page/level/item> ;
dcterms:date "1-10-1467" ;
dcterms:identifier "MS588-D52" ;
dcterms:isPartOf <http://natarchives.com.mt/archivalresource/MS588> ;
dcterms:type "Emptio" .
Я пытаюсь найти документ по дате.Результат должен показать:
идентификатор документа, тип, URI регистра - в этом случае (http://natarchives.com.mt/archivalresource/MS588), идентификатор регистра, URI хранилища (http://natarchives.com.mt/repository/MT01), имя хранилища, ключевые слова, связанные с документом илюди и места, связанные с делом. Для людей и мест, которые я хотел бы получить другие свойства, такие как имя, фамилия. Это то, что я до сих пор:
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX locah: <http://data.archiveshub.ac.uk/def/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX schema: <http://schema.org/>
SELECT ?id ?type ?register ?regId ?rep ?repName ?associatedEntities
WHERE
{
{
{
SELECT ?id ?type ?register ?regId ?rep ?repName (group_concat(concat(str(?places)," @ ",?placeName); separator=" | ") as ?associatedEntities)
WHERE {
?x dcterms:date "22-1-1487".
?x dcterms:identifier ?id.
?x dcterms:type ?type.
?x locah:associatedWith ?places.
?places schema:name ?placeName.
?x dcterms:isPartOf ?register.
?register dcterms:identifier ?regId.
?x locah:accessProvidedBy ?rep.
?rep rdfs:label ?repName.
FILTER (isURI(?places)).
}
GROUP BY ?id ?type ?register ?regId ?rep ?repName
}union{
SELECT ?id ?type ?register ?regId ?rep ?repName (group_concat(concat(str(?persons)," @ ",?name); separator=" | ") as ?associatedEntities)
WHERE {
?x dcterms:date "22-1-1487".
?x dcterms:identifier ?id.
?x dcterms:type ?type.
?x locah:associatedWith ?persons.
?persons foaf:firstName ?name.
?x dcterms:isPartOf ?register.
?register dcterms:identifier ?regId.
?x locah:accessProvidedBy ?rep.
?rep rdfs:label ?repName.
FILTER (isURI(?persons)).
}
GROUP BY ?id ?type ?register ?regId ?rep ?repName
}
}
}
Мне удалось получить оба, но этоможно сгруппировать результаты объединения