0

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,

zoint
  • 108
  • 2
  • 15
  • 1
    so you're trying to implement a question answering system? like many people tried to do before? For the linkedfactory domain from IWU Chemnitz? Did you talk to the QA group from Fraunhofer Bonn? – UninformedUser Nov 18 '18 at 11:49
  • regarding your question, the parse tree should be different for both questions. Why can't you just make use of this? From the Stanford dependency tree, you should be able to get subject resp. object of the sentence. – UninformedUser Nov 18 '18 at 11:50
  • by the way, shouldn't the question be *"What does linkedfactory contain?"* – UninformedUser Nov 18 '18 at 12:00
  • I already implemented a question answering system. I try to make better. Yes, the question also could be such as "What does linkedfactory contain?". I tested for my system and result is ok. Thanks for the advice. When I use dependency tree, all the items of universal dependencies are changing. I wanted to ask maybe there is an existing algorithm to detect dependency parse tree similarity. – zoint Nov 18 '18 at 12:07
  • *"When I use dependency tree, all the items of universal dependencies are changing."* - what does this mean? What does not work as you'd expect or are hoping? – UninformedUser Nov 18 '18 at 12:50
  • And why are you not trying to reuse an existing framework? Do you know the QA challenge? – UninformedUser Nov 18 '18 at 12:50
  • Because this question answering system should be in a restricted-domain. I didn't intend to create an open-domain question answering. You meant "QALD Challenge" when you say QA challenge @AKSW – zoint Nov 18 '18 at 12:55
  • @AKSW "When I use dependency tree, all the items of universal dependencies are changing." I meant that different types of question naturally changes the universal dependencies. For instance, "what contains linkedfactory?" is equal (u'ROOT', 0, 2), (u'nsubj', 2, 1), (u'dobj', 2, 3), (u'punct', 2, 4), (u'ROOT', 0, 1) in Stanford CoreNLP. What if I ask "Could you give me which one contains linkedfactory?". It is going to be entirely unrelevant items as compared with the first question. – zoint Nov 18 '18 at 13:29
  • 1
    Please review and follow the advice of ["How To Ask"](https://stackoverflow.com/help/how-to-ask). – TallTed Nov 19 '18 at 19:25

0 Answers0