How can I detect a verb order with Stanford CoreNLP Dependency Parser?

103 Views Asked by At

I have a RDF/Turtle Resource as below:

@prefix factory: <http://linkedfactory.iwu.fraunhofer.de/vocab#> .
@prefix : <http://linkedfactory.iwu.fraunhofer.de/data/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<http://linkedfactory.iwu.fraunhofer.de/linkedfactory> factory:contains <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/demofactory> .

<http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU> factory:contains <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/Rollex> .

<http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim> factory:contains <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab> .

<http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab> factory:contains <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/Aximus> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/BDM2000> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/Fliesspressen> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/GMX_Entgraten> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/GMX_Spanen1> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/GMX_Spanen2> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/GMX_Spanen3> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/GMX_Spanen4> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/HA100> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/Karobau> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/PRD40> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/PWZ> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/Querwalzen> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/E3-Sim/FoFab/Rollex> .

<http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab> factory:contains <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/BHKW> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/GLT> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/GMX> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/NSHV> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/NSHV-Buero> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/Rollex> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/SolarPlant> .

<http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/BHKW> factory:contains <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/BHKW/CoolingWater> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/BHKW/EmergencyCooling> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/BHKW/Generator> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/BHKW/HeatMeter> , <http://linkedfactory.iwu.fraunhofer.de/linkedfactory/IWU/FoFab/BHKW/HeatingWater> .

I transform from a natural language to a Sparql request with constituency parser for the following situations

Question : What linkedfactory contains?

PREFIX vocab: <http://linkedfactory.iwu.fraunhofer.de/vocab#>
select * where {
                       <http://localhost:10080/linkedfactory/demofactory>  vocab:contains ?o .
                        }

For the following question, I need to detect "contains" verb if it is coming before the noun "linkedfactory".

Question: What contains linkedfactory? or Can you give me which one contains linkedfactory?

PREFIX vocab: <http://linkedfactory.iwu.fraunhofer.de/vocab#>
select * where {
                    ?s    vocab:contains <http://localhost:10080/linkedfactory/demofactory>  .
                        }

How can I handle with this situation? (Note: It is used rdflib-python to create a Sparql and to parse a sentence, I use Stanford CoreNLP-Python)

Thanks in advance,

0

There are 0 best solutions below