Hi all,
I am trying to utilize the<http://jena.hpl.hp.com/ARQ/list:member> query
extension while querying an in-memory jena model. My rdf:List is showing up in the
results of my DESCRIBE query, but the list member descriptions are not appearing in
the query result as per the DESCRIBE arguments (not sure the term here).
The list member instances do exist in the in-memory model, and show results if
I run a DESCRIBE query directly against their URI.
Any idea why ?variable and ?operation matching instances are not being
described in my query?
--Stephan
I am using jena-arq 2.9.0-incubating pulled from the apache jena maven
repository
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<version>2.9.0-incubating</version>
</dependency>
CODE TO EXECUTE QUERY:
public Model execDescribe(String sparql, QuerySolutionMap map) {
Query query = QueryFactory.create(sparql);
QueryExecution qe = QueryExecutionFactory.create(query, model, map);
try {
return qe.execDescribe();
} finally {
qe.close();
}
}
QUERY:
PREFIX mdsa:<http://escience.rpi.edu/ontology/mdsa/mdsa.owl#>
PREFIX list:<http://www.jena.hpl.hp.com/ARQ/list#>
PREFIX dcterms:<http://purl.org/dc/terms/>
DESCRIBE ?obj ?service ?operation ?variable
WHERE { ?obj a ?type . ?obj dcterms:identifier ?id .
?obj mdsa:aboutAnalysisSettings ?settings .
OPTIONAL{ ?settings mdsa:selectedService ?service .
OPTIONAL { ?service mdsa:operations [ list:member ?operation ] }
}
OPTIONAL{ ?settings mdsa:selectedVariables [ list:member ?variable ] }
}
RESULTS (in TTL):
@prefix :<http://escience.rpi.edu/ontology/mdsa/mdsa-data#> .
@prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#> .
@prefix mdsa-dq:<http://escience.rpi.edu/ontology/mdsa/mdsa-dq#> .
@prefix mdsa:<http://escience.rpi.edu/ontology/mdsa/mdsa.owl#> .
@prefix owl:<http://www.w3.org/2002/07/owl#> .
@prefix xsd:<http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix list:<http://www.jena.hpl.hp.com/ARQ/list#> .
@prefix dcterms:<http://purl.org/dc/terms/> .
<urn:nasa:gsfc:giovanni3:service:latlonplot>
a owl:Thing , rdfs:Resource , mdsa:Service ;
rdfs:comment """To generate a time-averaged area plot, the data values
for each grid cell in the user-specified area are averaged over the user-specified time range.
The average value of the data parameter for each grid cell is plotted and displayed. Averaging
in this case is a linear operation.
Parameter weighting or pixel weighting may be used to produce the plot.
Parameter weighting is currently only used for the Aerosol Small Mode Fraction
data parameter. If parameter weighting is employed, the averaging is nonlinear.
Operation steps performed to generate this visualization:
1. [Data Fetching] ... 2. [Grid Subset]... 3. [Time Avg] ... 4. [2-D Map
Plot]"""^^xsd:string ;
rdfs:label "Lat-Lon map, Time-Averaged"^^xsd:string ;
mdsa:operations
[ a rdf:List , rdfs:Resource ;
rdf:first<urn:nasa:gsfc:giovanni3:operation:G3_DataFetching> ;
rdf:rest
[ a rdf:List , rdfs:Resource ;
rdf:first<urn:nasa:gsfc:giovanni3:operation:G3_GridSubset> ;
rdf:rest
[ a rdf:List , rdfs:Resource ;
rdf:first<urn:nasa:gsfc:giovanni3:operation:G3_TimeAvg> ;
rdf:rest
[ a rdf:List , rdfs:Resource
;
rdf:first<urn:nasa:gsfc:giovanni3:operation:G3_Map2Plot> ;
rdf:rest ()
]
]
]
] .
_:b1 a owl:Restriction , rdfs:Resource , rdfs:Class ;
rdfs:subClassOf _:b1 , rdfs:Resource ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty mdsa:selectedService .
_:b2 a owl:Restriction , rdfs:Resource , rdfs:Class ;
rdfs:subClassOf rdfs:Resource , _:b2 ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty mdsa:startDateTime .
_:b3 a owl:Restriction , rdfs:Resource , rdfs:Class ;
rdfs:subClassOf _:b3 , rdfs:Resource ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty mdsa:selectedVariables .
[] a owl:Thing , mdsa:Report , rdfs:Resource , mdsa:SimilarityReport ;
mdsa:aboutAnalysisSettings
[ a _:b3 , owl:Thing , mdsa:AnalysisSettings , _:b1 ,
rdfs:Resource , _:b4 , _:b5 ;
mdsa:selectedService
<urn:nasa:gsfc:giovanni3:service:latlonplot> ;
mdsa:selectedSpatialExtent
[ a mdsa:GeoBoundingBox , owl:Thing ,
rdfs:Resource , mdsa:SpatialExtent ;
mdsa:east 180.0 ;
mdsa:north 90.0 ;
mdsa:south 20.0 ;
mdsa:west 0.0
] ;
mdsa:selectedTemporalExtent
[ a _:b6 , owl:Thing , mdsa:TemporalExtent ,
rdfs:Resource , mdsa:TimePeriod , _:b2 ;
mdsa:endDateTime
"2008-01-31T00:00:00Z"^^xsd:dateTime ;
mdsa:startDateTime
"2008-01-01T00:00:00Z"^^xsd:dateTime
] ;
mdsa:selectedVariables
[ a rdf:List , rdfs:Resource ;
rdf:first<urn:nasa:eosdis:variable:MYD08_D3.051:Optical_Depth_Land_And_Ocean_Mean>
;
rdf:rest
[ a rdf:List , rdfs:Resource ;
rdf:first<urn:nasa:eosdis:variable:MOD08_D3.051:Optical_Depth_Land_And_Ocean_Mean>
;
rdf:rest ()
]
] ;
dcterms:identifier "getReportTestID"^^xsd:string
] ;
mdsa:hasCaveat
[ a mdsa:DifferentDatasetCaveat , owl:Thing ,
rdfs:Resource , mdsa:Caveat , mdsa:SimilarityCaveat , _:b7 ;
rdfs:comment "datasets different" ;
mdsa:subject<urn:nasa:eosdis:dataset:MOD08_D3.051>
,<urn:nasa:eosdis:dataset:MYD08_D3.051>
] ;
mdsa:hasCaveat
[ a mdsa:DifferentSatelliteDayTimeNodesCaveat , owl:Thing
, rdfs:Resource , mdsa:Caveat , mdsa:SimilarityCaveat , _:b7 ;
rdfs:comment "satellite daytime nodes different" ;
mdsa:subject<urn:nasa:satellite:deployment:aqua>
,<urn:nasa:satellite:deployment:terra>
] ;
mdsa:hasCaveat
[ a owl:Thing ,
mdsa:DifferentSatelliteNominalEquatorialCrossingTimesCaveat , rdfs:Resource ,
mdsa:Caveat , mdsa:SimilarityCaveat , _:b7 ;
rdfs:comment "nominal equatorial crossing times different" ;
mdsa:subject<urn:nasa:satellite:deployment:aqua>
,<urn:nasa:satellite:deployment:terra>
] ;
dcterms:identifier "getReportTestID"^^xsd:string .
_:b6 a owl:Restriction , rdfs:Resource , rdfs:Class ;
rdfs:subClassOf _:b6 , rdfs:Resource ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty mdsa:endDateTime .
_:b4 a owl:Restriction , rdfs:Resource , rdfs:Class ;
rdfs:subClassOf rdfs:Resource , _:b4 ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty mdsa:selectedTemporalExtent .
_:b7 a owl:Restriction , rdfs:Resource , rdfs:Class ;
rdfs:subClassOf rdfs:Resource , _:b7 ;
owl:minCardinality "2"^^xsd:nonNegativeInteger ;
owl:onProperty mdsa:subject .
_:b5 a owl:Restriction , rdfs:Resource , rdfs:Class ;
rdfs:subClassOf rdfs:Resource , _:b5 ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty mdsa:selectedSpatialExtent .
RESULTS OF DESCRIBE on<urn:nasa:gsfc:giovanni3:operation:G3_DataFetching>:
@prefix :<http://escience.rpi.edu/ontology/mdsa/mdsa-data#> .
@prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#> .
@prefix mdsa-dq:<http://escience.rpi.edu/ontology/mdsa/mdsa-dq#> .
@prefix mdsa:<http://escience.rpi.edu/ontology/mdsa/mdsa.owl#> .
@prefix owl:<http://www.w3.org/2002/07/owl#> .
@prefix xsd:<http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms:<http://purl.org/dc/terms/> .
<urn:nasa:gsfc:giovanni3:operation:G3_DataFetching>
a mdsa:Operation , owl:Thing , rdfs:Resource ;
rdfs:comment "Data retrieval — also called data fetching— acquires data from
the data source (archive or database) and makes it available to Giovanni-3 for
visualization and analysis."^^xsd:string ;
rdfs:label "Data Fetching"^^xsd:string ;
rdfs:seeAlso<http://disc.sci.gsfc.nasa.gov/giovanni/additional/users-manual/G3_operation_data_fetching.shtml>
.