DEFINE input:inference 'ariadneplus_rules'

CONSTRUCT {
	<${subjectURL}> crm:P1_is_identified_by ?IDRes .
	?IDRes a crm:E42_Identifier .
	?IDRes rdfs:label ?ID_label .

	<${subjectURL}> crm:P102_has_title ?title .
	<${subjectURL}> crm:P3_has_note ?description .
	<${subjectURL}> a ?type .
    <${subjectURL}> rdfs:label ?label .

     <${subjectURL}> crm:P129_is_about ?about .
     ?about a ?aboutType .
     ?about rdfs:label ?aboutLabel .

     <${subjectURL}> crm:P2_has_type ?e55TypeLabel .

     <${subjectURL}> crm:P46_is_composed_of ?Col_Part .

     <${subjectURL}> crmpe:PP4i_is_object_hosted_by ?host_serv .
     <${subjectURL}> crmpe:PP32i_is_curated_by ?curator .
     <${subjectURL}> <creator> ?creator .

     <${subjectURL}> crm:P72_has_language ?languageLabel .
}
WHERE {
 <${subjectURL}> a crm:E78_Collection .
 <${subjectURL}> a ?type .
   {
   <${subjectURL}> crm:P1_is_identified_by ?IDRes .
   ?IDRes a crm:E42_Identifier .
   ?IDRes rdfs:label ?ID_label .
   }
   UNION
{
 <${subjectURL}> crm:P1_is_identified_by ?titleRes .
 ?titleRes a crm:E41_Appellation .
 ?titleRes rdfs:label ?title .
}
UNION{
 <${subjectURL}> crm:P3_has_note ?description .
}
UNION{
 <${subjectURL}> rdfs:label ?label .
}
UNION{
<${subjectURL}> crm:P129_is_about ?about .
?about a ?aboutType .
?about rdfs:label ?aboutLabel .
}
UNION {
<${subjectURL}> crm:P2_has_type ?e55Type .
?e55Type rdfs:label ?e55TypeLabel .
}
UNION{ <${subjectURL}> crm:P46_is_composed_of ?Col_Part .}
UNION{ ?Col_Part crm:P46i_forms_part_of <${subjectURL}> .}

UNION{ <${subjectURL}> crmpe:PP4i_is_object_hosted_by ?host_serv .}
UNION{ <${subjectURL}> crmpe:PP32i_is_curated_by ?curator .}
UNION{ ?host_serv crmpe:PP4_hosts_object <${subjectURL}> .}
UNION{ ?curator crmpe:PP32_curates <${subjectURL}> .}

UNION {
	<${subjectURL}> crm:P94i_was_created_by ?Creation_event .
	?Creation_event crm:P14_carried_out_by ?creator .
}
UNION {
	<${subjectURL}> crm:P72_has_language ?language .
	?language rdfs:label ?languageLabel .
}

} LIMIT 30000