Как определить порядок глаголов с помощью анализатора зависимостей Stanford CoreNLP? - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть RDF / Turtle Resource, как показано ниже:

@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> .

Я преобразую из естественного языка в запрос Sparql с анализатором интересов для следующих ситуаций

Вопрос: Что содержит связанный завод?

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

В следующем вопросе мне нужно определить «содержит» глагол, если он стоит перед существительным «связанный факт».

Вопрос: Что содержит связанный завод? или можете ли вы дать мне, какой из них содержит связанный завод?

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

Как я могу справиться с этой ситуацией? (Примечание. Для создания Sparql и анализа предложения используется rdflib-python. Я использую Stanford CoreNLP-Python)

Заранее спасибо,

...