in app/models/provenance.rb [115:188]
def getAllArtifacts
sparql_query = SPARQL.parse("#{Provenance.prefixes}
SELECT *
WHERE
{
{
?artifactURI rdf:type wfprov:Artifact ;
wfprov:describedByParameter ?describedByParameter .
?describedByParameter rdfs:comment ?comment
OPTIONAL
{
?artifactURI tavernaprov:content ?filepath
}
OPTIONAL
{
?artifactURI wfprov:wasOutputFrom ?outputFromWorkflowRun .
?outputFromWorkflowRun rdf:type wfprov:WorkflowRun ;
rdfs:label ?outputFromWorkflowRunLabel .
FILTER NOT EXISTS { ?something foaf:primaryTopic ?outputFromWorkflowRun }
}
OPTIONAL
{
?artifactURI wfprov:wasOutputFrom ?outputFromProcessRun .
?outputFromProcessRun rdf:type wfprov:ProcessRun ;
prov:startedAtTime ?startedAtTime ;
prov:endedAtTime ?endedAtTime ;
rdfs:label ?outputFromProcessRunLabel
}
FILTER NOT EXISTS { ?artifactURI rdf:type prov:Dictionary }
}
UNION
{
?dictionary rdf:type prov:Dictionary
OPTIONAL
{
?dictionary tavernaprov:content ?filepath
}
OPTIONAL
{
{
?dictionary prov:hadMember ?hadMemberDictionary .
?hadMemberDictionary rdf:type prov:Dictionary .
}
UNION
{
?dictionary prov:hadMember ?hadMemberArtifact .
?hadMemberArtifact wfprov:describedByParameter ?describedByParameter .
?describedByParameter rdfs:comment ?comment .
FILTER NOT EXISTS { ?hadMemberArtifact rdf:type prov:Dictionary }
}
}
OPTIONAL
{
?dictionary wfprov:wasOutputFrom ?outputFromWorkflowRun .
?outputFromWorkflowRun rdf:type wfprov:WorkflowRun ;
rdfs:label ?outputFromWorkflowRunLabel .
FILTER NOT EXISTS { ?something foaf:primaryTopic ?outputFromWorkflowRun }
}
OPTIONAL
{
?dictionary wfprov:wasOutputFrom ?outputFromProcessRun .
?outputFromProcessRun rdf:type wfprov:ProcessRun ;
prov:startedAtTime ?startedAtTime ;
prov:endedAtTime ?endedAtTime ;
rdfs:label ?outputFromProcessRunLabel
}
}
}")
sparql_query.execute(graph)
end