0

In the below query, I'd like to pass the ?wid parameter to the SERVICE query, but it is not passed and processed as another empty variable(like ?child) so the query returns undesired results(meaning that it behaves ?wid as an empty variable because this code runs on wikidata server so it returns all possible results for that variable). I'm firing this query from my local jena fuseki server.

PREFIX lit: <http://purl.org/net/cnyt-literature#>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX bd: <http://www.bigdata.com/rdf#>

SELECT distinct ?writer ?play ?character ?uri ?wid ?type ?child ?childLabel WHERE {
    {
        ?writer lit:writerOf ?play .
        ?play lit:character ?character .
        ?character lit:dbpediaUri  ?db_uri . BIND (IRI(?uri) AS ?dbpedia_uri)
        ?character lit:wikidataUri  ?uri . BIND (IRI(CONCAT(str(wd:),?uri)) as ?wid)
    }

    SERVICE <http://query.wikidata.org/sparql> {
        select distinct ?child ?childLabel where {
            ?wid wdt:P40 ?child.
            SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
        }
    } 
}
LIMIT 50

Basically, what I want to do is to fetch also label name of entities from wikipedia by adding the line

SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }

to the select statement.

When I don't use SELECT statement it works as expected and ?wid parameter is passed, so the problem is with the passing of this parameter to WHERE statement, not to SERVICE. In this query it returns three childs of Julius Caesar for wid(Q1048) which is true.

SERVICE <http://query.wikidata.org/sparql> {
            ?wid wdt:P40 ?child.
        } 

My data is :

Individuals

Writer William Shakespeare
Play JuliusCaesarPlay
Politican JuliusCaesar

Triples

WilliamShakespeare writerOf JuliusCaesarPlay
JuliusCaesarPlay character JuliusCaesar
JuliusCaesar wikidataUri "Q1048"

And this is the whole owl file :

<?xml version="1.0"?>
<rdf:RDF xmlns="http://purl.org/net/cnyt-literature#"
     xml:base="http://purl.org/net/cnyt-literature"
     xmlns:literature="http://purl.org/net/cnyt-literature#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xml="http://www.w3.org/XML/1998/namespace"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:literature1="http://www.semanticweb.org/cnytync/ontologies/2017/6/literature#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
    <owl:Ontology rdf:about="http://purl.org/net/cnyt-literature"/>



    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Object Properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->




    <!-- http://purl.org/net/cnyt-literature#character -->

    <owl:ObjectProperty rdf:about="http://purl.org/net/cnyt-literature#character">
        <rdfs:domain rdf:resource="http://purl.org/net/cnyt-literature#Play"/>
        <rdfs:range rdf:resource="http://purl.org/net/cnyt-literature#Human"/>
    </owl:ObjectProperty>



    <!-- http://purl.org/net/cnyt-literature#wikidataId -->

    <owl:ObjectProperty rdf:about="http://purl.org/net/cnyt-literature#wikidataId"/>



    <!-- http://purl.org/net/cnyt-literature#writerOf -->

    <owl:ObjectProperty rdf:about="http://purl.org/net/cnyt-literature#writerOf">
        <rdfs:domain rdf:resource="http://purl.org/net/cnyt-literature#Writer"/>
        <rdfs:range rdf:resource="http://purl.org/net/cnyt-literature#Play"/>
    </owl:ObjectProperty>



    <!-- http://www.w3.org/2002/07/owl#sameAs -->

    <owl:ObjectProperty rdf:about="http://www.w3.org/2002/07/owl#sameAs">
        <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
        <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    </owl:ObjectProperty>



    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Data properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->




    <!-- http://purl.org/net/cnyt-literature#dbpediaUri -->

    <owl:DatatypeProperty rdf:about="http://purl.org/net/cnyt-literature#dbpediaUri">
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
    </owl:DatatypeProperty>



    <!-- http://purl.org/net/cnyt-literature#name -->

    <owl:DatatypeProperty rdf:about="http://purl.org/net/cnyt-literature#name">
        <rdfs:domain rdf:resource="http://purl.org/net/cnyt-literature#Human"/>
        <rdfs:domain rdf:resource="http://purl.org/net/cnyt-literature#Literary_Work"/>
        <rdfs:domain rdf:resource="http://purl.org/net/cnyt-literature#Politician"/>
        <rdfs:domain rdf:resource="http://purl.org/net/cnyt-literature#Writer"/>
        <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    </owl:DatatypeProperty>



    <!-- http://purl.org/net/cnyt-literature#nn -->

    <owl:DatatypeProperty rdf:about="http://purl.org/net/cnyt-literature#nn"/>



    <!-- http://purl.org/net/cnyt-literature#source -->

    <owl:DatatypeProperty rdf:about="http://purl.org/net/cnyt-literature#source"/>



    <!-- http://purl.org/net/cnyt-literature#wikidataUri -->

    <owl:DatatypeProperty rdf:about="http://purl.org/net/cnyt-literature#wikidataUri"/>



    <!-- http://www.semanticweb.org/cnytync/ontologies/2017/6/literature#uri -->

    <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/cnytync/ontologies/2017/6/literature#uri"/>



    <!-- http://www.w3.org/2002/07/owl#sameAs -->

    <owl:DatatypeProperty rdf:about="http://www.w3.org/2002/07/owl#sameAs"/>



    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->




    <!-- http://purl.org/net/cnyt-literature#ExternalItem -->

    <owl:Class rdf:about="http://purl.org/net/cnyt-literature#ExternalItem"/>



    <!-- http://purl.org/net/cnyt-literature#Human -->

    <owl:Class rdf:about="http://purl.org/net/cnyt-literature#Human"/>



    <!-- http://purl.org/net/cnyt-literature#Literary_Work -->

    <owl:Class rdf:about="http://purl.org/net/cnyt-literature#Literary_Work"/>



    <!-- http://purl.org/net/cnyt-literature#Novel -->

    <owl:Class rdf:about="http://purl.org/net/cnyt-literature#Novel">
        <rdfs:subClassOf rdf:resource="http://purl.org/net/cnyt-literature#Literary_Work"/>
    </owl:Class>



    <!-- http://purl.org/net/cnyt-literature#Play -->

    <owl:Class rdf:about="http://purl.org/net/cnyt-literature#Play">
        <rdfs:subClassOf rdf:resource="http://purl.org/net/cnyt-literature#Literary_Work"/>
    </owl:Class>



    <!-- http://purl.org/net/cnyt-literature#Politician -->

    <owl:Class rdf:about="http://purl.org/net/cnyt-literature#Politician">
        <rdfs:subClassOf rdf:resource="http://purl.org/net/cnyt-literature#Human"/>
    </owl:Class>



    <!-- http://purl.org/net/cnyt-literature#Writer -->

    <owl:Class rdf:about="http://purl.org/net/cnyt-literature#Writer">
        <rdfs:subClassOf rdf:resource="http://purl.org/net/cnyt-literature#Human"/>
    </owl:Class>



    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Individuals
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->




    <!-- http://purl.org/net/cnyt-literature#JackLondon -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#JackLondon">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#Writer"/>
        <writerOf rdf:resource="http://purl.org/net/cnyt-literature#WhiteFang"/>
        <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Jack London</name>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#JuliusCaesar -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#JuliusCaesar">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#Politician"/>
        <dbpediaUri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/resource/Julius_Caesar</dbpediaUri>
        <wikidataUri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Q1048</wikidataUri>
        <owl:sameAs rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/resource/Julius_Caesar</owl:sameAs>
        <owl:sameAs rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q1048</owl:sameAs>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#JuliusCaesarDbpedia -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#JuliusCaesarDbpedia">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#ExternalItem"/>
        <source rdf:datatype="http://www.w3.org/2001/XMLSchema#string">dbpedia</source>
        <literature1:uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/page/Julius_Caesar</literature1:uri>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#JuliusCaesarPlay -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#JuliusCaesarPlay">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#Play"/>
        <character rdf:resource="http://purl.org/net/cnyt-literature#JuliusCaesar"/>
        <dbpediaUri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/page/Julius_Caesar_(play)</dbpediaUri>
        <wikidataUri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q1048</wikidataUri>
        <owl:sameAs rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/page/Julius_Caesar_(play)</owl:sameAs>
        <owl:sameAs rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q1048</owl:sameAs>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#JuliusCaesarPlayDbpedia -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#JuliusCaesarPlayDbpedia">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#ExternalItem"/>
        <source rdf:datatype="http://www.w3.org/2001/XMLSchema#string">dbpedia</source>
        <literature1:uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/resource/Julius_Caesar_(play)</literature1:uri>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#JuliusCaesarPlayWikidata -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#JuliusCaesarPlayWikidata">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#ExternalItem"/>
        <source rdf:datatype="http://www.w3.org/2001/XMLSchema#string">wikidata</source>
        <literature1:uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q215750</literature1:uri>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#JuliusCaesarWikidata -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#JuliusCaesarWikidata">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#ExternalItem"/>
        <source rdf:datatype="http://www.w3.org/2001/XMLSchema#string">wikidata</source>
        <literature1:uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q1048</literature1:uri>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#WhiteFang -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#WhiteFang">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#Novel"/>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#WilliamShakespeare -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#WilliamShakespeare">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#Writer"/>
        <writerOf rdf:resource="http://purl.org/net/cnyt-literature#JuliusCaesarPlay"/>
        <dbpediaUri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/page/William_Shakespeare</dbpediaUri>
        <wikidataUri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q692</wikidataUri>
        <owl:sameAs rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://dbpedia.org/page/William_Shakespeare</owl:sameAs>
        <owl:sameAs rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q692</owl:sameAs>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#WilliamShakespeareDbpedia -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#WilliamShakespeareDbpedia">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#ExternalItem"/>
        <source rdf:datatype="http://www.w3.org/2001/XMLSchema#string">dbpedia</source>
        <literature1:uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">dbpedia.org/page/William_Shakespeare</literature1:uri>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#WilliamShakespeareWikidata -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#WilliamShakespeareWikidata">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#ExternalItem"/>
        <source rdf:datatype="http://www.w3.org/2001/XMLSchema#string">wikidata</source>
        <literature1:uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.wikidata.org/wiki/Q692</literature1:uri>
    </owl:NamedIndividual>



    <!-- http://purl.org/net/cnyt-literature#wd:Q1048 -->

    <owl:NamedIndividual rdf:about="http://purl.org/net/cnyt-literature#wd:Q1048">
        <rdf:type rdf:resource="http://purl.org/net/cnyt-literature#ExternalItem"/>
    </owl:NamedIndividual>
</rdf:RDF>



<!-- Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi -->
cuneyttyler
  • 1,255
  • 2
  • 17
  • 27
  • Again, the description is incomplete. Input data, output data and expected results are missing. Just a sample would be enough. And by the way, it's totally unclear which API/SPARQL engine you're using. – UninformedUser Jul 27 '17 at 08:24
  • Thank you, one more comment: we need the sample data as N-Triples indeed, otherwise we can't load it into a triple store. – UninformedUser Jul 27 '17 at 08:50
  • 1
    I added the whole owl file to the question. – cuneyttyler Jul 27 '17 at 08:53
  • You can't use SELECT in a service clause. And the Wikidata label service is a non-standard SPARQL feature. I don't think that this will work. You can get the labels as usual using good old SPARQL – UninformedUser Jul 27 '17 at 09:06
  • In this case, I guess there is no way to get labels, because there is no wikidata property for storing labels. – cuneyttyler Jul 27 '17 at 09:14
  • That is for sure not true. The standard `rdfs:label` is there - and this is the common way to get the label – UninformedUser Jul 27 '17 at 09:16
  • Sure, thanks, I'm really new to SPARQL and it's really complicated. What about the language of the label? How can we say that by using rdfs:label? – cuneyttyler Jul 27 '17 at 09:20
  • Use a FILTER indeed. `FILTER(LANGMATCHES(LANG(?label), 'en'))` – UninformedUser Jul 27 '17 at 09:23

0 Answers0