No Jira issue but related to VIVO-989. Object properties for which the range is the union of multiple classes needed their own list view. The default list view, which pulls in the object type, does not work for these properties.
This commit is contained in:
parent
68e9a89c27
commit
d004f3b3e6
2 changed files with 140 additions and 0 deletions
106
productMods/config/listViewConfig-rangeUnion.xml
Normal file
106
productMods/config/listViewConfig-rangeUnion.xml
Normal file
|
@ -0,0 +1,106 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<!-- VIVO-specific default list view config file for object properties
|
||||
|
||||
See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
|
||||
|
||||
<list-view-config>
|
||||
<query-select>
|
||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
|
||||
PREFIX obo: <http://purl.obolibrary.org/obo/>
|
||||
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
|
||||
|
||||
SELECT <collated> ?subclass </collated>
|
||||
?object
|
||||
?label
|
||||
?localName
|
||||
?type
|
||||
?title WHERE {
|
||||
|
||||
?subject ?property ?object .
|
||||
LET (?localName := afn:localname(?object))
|
||||
|
||||
OPTIONAL { ?object rdfs:label ?label }
|
||||
|
||||
OPTIONAL {
|
||||
# Get mostSpecificType only for Persons
|
||||
?object vitro:mostSpecificType ?subclass .
|
||||
?subclass rdfs:label ?type .
|
||||
# Display only a mostSpecificType that belongs to a classgroup.
|
||||
?subclass vitro:inClassGroup ?classGroup .
|
||||
?classGroup a vitro:ClassGroup
|
||||
}
|
||||
|
||||
OPTIONAL { ?object obo:ARG_2000028 ?vcard .
|
||||
?vcard vcard:hasTitle ?titleObj .
|
||||
?titleObj vcard:title ?title
|
||||
}
|
||||
|
||||
<collated>
|
||||
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
|
||||
</collated>
|
||||
|
||||
# Order by ?type is important, because if the object has more than one mostSpecificType,
|
||||
# they all get returned, but postprocessing culls out all but one. Ordering by ?type
|
||||
# will ensure that at least we'll get the same one every time.
|
||||
} ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?localName ) ?type
|
||||
</query-select>
|
||||
|
||||
<query-construct>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
|
||||
|
||||
CONSTRUCT {
|
||||
?subject ?property ?object .
|
||||
?object rdfs:label ?label .
|
||||
} WHERE {
|
||||
{
|
||||
?subject ?property ?object .
|
||||
} UNION {
|
||||
?subject ?property ?object .
|
||||
?object rdfs:label ?label .
|
||||
}
|
||||
}
|
||||
</query-construct>
|
||||
|
||||
<query-construct>
|
||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
|
||||
PREFIX obo: <http://purl.obolibrary.org/obo/>
|
||||
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
|
||||
|
||||
CONSTRUCT {
|
||||
?subject ?property ?object .
|
||||
?object vitro:mostSpecificType ?subclass .
|
||||
?subclass vitro:inClassGroup ?classGroup .
|
||||
?classGroup a vitro:ClassGroup .
|
||||
?subclass rdfs:label ?type .
|
||||
?object obo:ARG_2000028 ?vcard .
|
||||
?vcard vcard:hasTitle ?titleObj .
|
||||
?titleObj vcard:title ?title
|
||||
} WHERE {
|
||||
{
|
||||
?subject ?property ?object .
|
||||
} UNION {
|
||||
?subject ?property ?object .
|
||||
?object vitro:mostSpecificType ?subclass .
|
||||
?subclass rdfs:label ?type .
|
||||
?subclass vitro:inClassGroup ?classGroup .
|
||||
?classGroup a vitro:ClassGroup
|
||||
} UNION {
|
||||
?subject ?property ?object .
|
||||
?object obo:ARG_2000028 ?vcard .
|
||||
?vcard vcard:hasTitle ?titleObj .
|
||||
?titleObj vcard:title ?title
|
||||
}
|
||||
}
|
||||
</query-construct>
|
||||
|
||||
<template>propStatement-default.ftl</template>
|
||||
</list-view-config>
|
|
@ -82,6 +82,40 @@
|
|||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-orcidId.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
|
||||
<!--
|
||||
***********************************************************************
|
||||
these properties have a range that is the union of 1 or more classes
|
||||
***********************************************************************
|
||||
-->
|
||||
|
||||
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000029">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000031">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000038">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000390">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000398">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#translatorOf">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/scientific-research#documentationFor">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/scientific-research#protocolRealizedBy">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="http://www.w3.org/2006/vcard/ns#hasMember">
|
||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-rangeUnion.xml</display:listViewConfigFile>
|
||||
</rdf:Description>
|
||||
|
||||
<!--
|
||||
******************************************************************
|
||||
data property custom list views
|
||||
|
|
Loading…
Add table
Reference in a new issue