Skip to content

Another SPARQL requets too long to execute

 CONSTRUCT {
                   
            # -- New Net
            ?logicalSetNet a net:Logical_Set_Net.
            ?logicalSetNet net:coverBaseNode ?phenomenaNetBaseNode.
            ?logicalSetNet net:hasStructure ?sentenceRef.
            ?logicalSetNet net:hasLogicalConstraint "AND".
            ?logicalSetNet net:bindPropertyNet ?atomPropertyNet.
            ?logicalSetNet net:containsNet1 ?contentNet1.
            ?logicalSetNet net:trackProgress net:initialized.
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet2 ?contentNet2.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet1.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet2.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet3.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet4.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet5.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet6.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet7.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet8.
            
        
            # -- Additional triple(s) for ?logicalSetNet
            ?logicalSetNet net:containsNet ?contentNet9.
            

          
            # -- Propagation of relations (from nodes to nets)
            ?logicalSetNetInRelationRole a net:Relation.
            ?logicalSetNetInNet ?logicalSetNetInRelationRole ?logicalSetNet.
            ?logicalSetNetOutRelationRole a net:Relation.
            ?logicalSetNet ?logicalSetNetOutRelationRole ?logicalSetNetOutNet.
            ?logicalSetNet net:trackProgress net:relation_propagated.
    
            
        }
        WHERE {
            
        
        # *** Identify Property(-, arg1:PhenomenaNet) ***
        
        
            # -- Identify net
            ?atomPropertyNet a [rdfs:subClassOf* net:Atom_Property_Net].
            FILTER NOT EXISTS { ?atomPropertyNet a net:Deprecated_Net. }
            OPTIONAL {{ ?atomPropertyNet net:coverNode ?atomPropertyNetNode. }}
            OPTIONAL {{ ?atomPropertyNet net:coverBaseNode ?atomPropertyNetBaseNode. }}
            OPTIONAL {{ ?atomPropertyNet net:hasStructure ?atomPropertyNetStructure. }}
            OPTIONAL {{ ?atomPropertyNet net:hasPropertyName ?atomPropertyNetPropertyName. }}
            ?atomPropertyNet net:isCoreRoleLinked true.
            OPTIONAL {{ ?atomPropertyNet net:targetArgumentNode ?atomPropertyNetTargetArgumentNode. }}
            OPTIONAL {{ ?atomPropertyNet net:hasPropertyType ?atomPropertyNetPropertyType. }}
            OPTIONAL {{ ?atomPropertyNet net:hasPropertyName01 ?atomPropertyNetPropertyName01. }}
            OPTIONAL {{ ?atomPropertyNet net:hasPropertyName10 ?atomPropertyNetPropertyName10. }}
            OPTIONAL {{ ?atomPropertyNet net:hasPropertyName12 ?atomPropertyNetPropertyName12. }}
            
            OPTIONAL {{ # -- Select nodes of net ?atomPropertyNet 
            ?atomPropertyNet (net:coverNode|net:coverBaseNode|net:coverTargetNode|net:coverArgNode) ?atomPropertyNetNode. }}
        ?atomPropertyNet amr:role_ARG1 ?phenomenaNet.
        
        
        # *** Identify Phenomena(AND-conjunction, contentNet*) ***
           
        
            # -- Identify net
            ?phenomenaNet a [rdfs:subClassOf* net:Phenomena_Net].
            FILTER NOT EXISTS { ?phenomenaNet a net:Deprecated_Net. }
            OPTIONAL {{ ?phenomenaNet net:coverNode ?phenomenaNetNode. }}
            OPTIONAL {{ ?phenomenaNet net:coverBaseNode ?phenomenaNetBaseNode. }}
            OPTIONAL {{ ?phenomenaNet net:hasStructure ?phenomenaNetStructure. }}
            ?phenomenaNet net:hasPhenomenaType amr:phenomena_conjunction_and.
            OPTIONAL {{ ?phenomenaNet net:hasPhenomenaRef ?phenomenaNetPhenomenaRef. }}
            
            OPTIONAL {{ # -- Select nodes of net ?phenomenaNet 
            ?phenomenaNet (net:coverNode|net:coverBaseNode|net:coverTargetNode|net:coverArgNode) ?phenomenaNetNode. }}
        
        ?relationOp rdfs:subClassOf* amr:AMR_Op_Role.
        
            # -- Identify operator (amr:op)
            ?phenomenaNet amr:role_op1 ?contentNet1. 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op2 ?contentNet2. } 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op3 ?contentNet3. } 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op4 ?contentNet4. } 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op5 ?contentNet5. } 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op6 ?contentNet6. } 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op7 ?contentNet7. } 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op8 ?contentNet8. } 
        
            # -- Identify optional operator (amr:op)
            OPTIONAL { ?phenomenaNet amr:role_op9 ?contentNet9. } 
        
    
        # *** Identify variable label of base leaf ***
        ?phenomenaNetBaseNode a amr:AMR_Leaf ;
            amr:hasVariable ?variable.
        ?variable amr:label ?varLabel.
        
        
            # -- Identify structure
            ?root a amr:AMR_Root.
            ?root amr:hasSentenceID ?sentenceRef.
        
            # -- Identify inbound relations linked to the base leaf (for propagation)
            OPTIONAL { 
                          ?logicalSetNetInNet a [rdfs:subClassOf* net:Net] ;
                              net:coverBaseNode ?inLeaf.
                          ?inLeaf ?inRelationEdge ?phenomenaNetBaseNode.    
                          ?inRelationEdge amr:hasAmrRole ?logicalSetNetInRelationRole.
                      }
            
            # -- Identify outgoing relations linked to the base leaf (for propagation)
            OPTIONAL { 
                        ?logicalSetNetOutNet a [rdfs:subClassOf* net:Net] ;
                            net:coverBaseNode ?outLeaf.
                        ?phenomenaNetBaseNode ?outRelationEdge ?outLeaf.    
                        ?outRelationEdge amr:hasAmrRole ?logicalSetNetOutRelationRole.
                      }
        
    
            
            
        
            # -- New Net
            BIND (REPLACE(?phenomenaNetPhenomenaRef, ' ', "") AS ?phenomenaNetPhenomenaRefRefNet).
            BIND (REPLACE(?varLabel, ' ', "") AS ?varLabelRefNode).
            BIND (CONCAT(str(net:), 'logicalSet') AS ?logicalSetNetRef1).
            BIND (CONCAT(?logicalSetNetRef1, '_', ?phenomenaNetPhenomenaRefRefNet) AS ?logicalSetNetRef2).
            BIND (CONCAT(?logicalSetNetRef2, '_', ?varLabelRefNode) AS ?logicalSetNetRef3).
            BIND (uri(?logicalSetNetRef3) AS ?logicalSetNet).
    
            
        }