Yes, there is a syntax error in the query. Instead of 
VALUES (?gender ?city) {base:Gender base:City} 
it should be
VALUES (?gender ?city) {(base:Gender base:City)} 

Regards,
Milorad





>________________________________
> From: Darius Miliauskas <[email protected]>
>To: [email protected]; [email protected] 
>Sent: Monday, August 19, 2013 8:32 PM
>Subject: Re: SPARQL Query which Connects Individuals from Different Classes
> 
>
>Dear Joshua and others,
>
>yes, the file was not correctly formatted because I just write it by hand,
>not with any editor. Thanks, Joshua! Anyway, it was just an example. Maybe
>I did not formulate the question precisely. It is how to write a query
>which results connects two categories ("person" and "city" in the example)
>because these categories are connected through the third category ("gender"
>in the example)?
>
>The question is how to get answer like the below without directly
>connecting "person" and "city" in the query itself:
>
>
>| person     | city     |
>| Ivan     | London     |
>
>
>Between, I got errors while I was using VALUES in the query. Is there any
>recommendation how to use this keyword correctly (I guess it is wrong
>something with brackets or other syntax)?
>
>I used the following way:
>
>SELECT DISTINCT ?person ?city WHERE{ VALUES (?gender ?city) {base:Gender
>base:City} ?person a base:Person; owl:topObjectProperty ?gender. ?city a
>base:City; owl:topObjectProperty ?gender};
>
>
>Yours,
>
>Darius
>
>
>2013/8/19 Joshua TAYLOR <[email protected]>
>
>> The ontology data that you provided is not well formed XML, let alone
>> RDF/XML.  It looks like, however, that you're aiming for something
>> like:
>>
>>
>> <rdf:RDF
>>     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>>     xmlns:owl="http://www.w3.org/2002/07/owl#";
>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema#";
>>     xmlns="http://www.semanticweb.org/darius/ontologies/2013/6/rooms#";
>>     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#";>
>>   <owl:Ontology
>> rdf:about="http://www.semanticweb.org/darius/ontologies/2013/6/rooms"/>
>>   <owl:Class rdf:about="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Gender"/>
>>   <owl:Class rdf:about="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Person"/>
>>   <owl:Class rdf:about="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#City"/>
>>   <owl:NamedIndividual
>> rdf:about="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#London";>
>>     <rdf:type rdf:resource="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#City"/>
>>     <owl:topObjectProperty>
>>       <owl:NamedIndividual
>> rdf:about="http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Male
>> ">
>>         <rdf:type
>> rdf:resource="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Gender"/>
>>       </owl:NamedIndividual>
>>     </owl:topObjectProperty>
>>   </owl:NamedIndividual>
>>   <owl:NamedIndividual
>> rdf:about="http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Ana";>
>>     <rdf:type rdf:resource="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Person"/>
>>   </owl:NamedIndividual>
>>   <owl:NamedIndividual
>> rdf:about="http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Ivan
>> ">
>>     <rdf:type rdf:resource="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Person"/>
>>     <owl:topObjectProperty
>> rdf:resource="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Male"/>
>>   </owl:NamedIndividual>
>> </rdf:RDF>
>>
>>
>> or, in the more readable Turtle syntax:
>>
>>
>> @prefix :        <
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#> .
>> @prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
>> @prefix owl:     <http://www.w3.org/2002/07/owl#> .
>> @prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
>> @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>>
>> :Gender
>>       a       owl:Class .
>>
>> <http://www.semanticweb.org/darius/ontologies/2013/6/rooms>
>>       a       owl:Ontology .
>>
>> :Male
>>       a       :Gender , owl:NamedIndividual .
>>
>> :London
>>       a       owl:NamedIndividual , :City ;
>>       owl:topObjectProperty
>>               :Male .
>>
>> :Ana  a       owl:NamedIndividual , :Person .
>>
>> :Ivan
>>       a       owl:NamedIndividual , :Person ;
>>       owl:topObjectProperty
>>               :Male .
>>
>> :Person
>>       a       owl:Class .
>>
>> :City
>>       a       owl:Class .
>>
>>
>> Given that ontology, you can use a query like this:
>>
>>
>> prefix rooms: <http://www.semanticweb.org/darius/ontologies/2013/6/rooms#>
>> prefix owl: <http://www.w3.org/2002/07/owl#>
>>
>> select ?person ?personProperty ?city ?cityProperty ?gender where {
>>
>>   values (?person ?city) {
>>     (rooms:Ivan rooms:London)
>>   }
>>
>>   ?person a rooms:Person ;
>>           ?personProperty ?gender .
>>   ?gender a rooms:Gender .
>>   ?city a rooms:City ;
>>         ?cityProperty ?gender .
>> }
>>
>>
>> and get results like:
>>
>>
>> $ arq --data data.rdf --query query.sparql
>>
>> ------------------------------------------------------------------------------------------
>> | person     | personProperty        | city         | cityProperty
>>      | gender     |
>>
>> ==========================================================================================
>> | rooms:Ivan | owl:topObjectProperty | rooms:London |
>> owl:topObjectProperty | rooms:Male |
>>
>> ------------------------------------------------------------------------------------------
>>
>>
>> which looks like it should at least get you started toward what you're
>> trying to achieve.
>>
>> //JT
>>
>>
>> On Mon, Aug 19, 2013 at 10:16 AM, Darius Miliauskas
>> <[email protected]> wrote:
>> > Dear Arthur,
>> >
>> > Thanks for the prompt answer, I will try. Here, is the ontology as
>> RDF/XML
>> > file:
>> >
>> >
>> > <?xml version="1.0"?>
>> >
>> > <!DOCTYPE rdf:RDF [
>> >     <!ENTITY owl "http://www.w3.org/2002/07/owl#"; >
>> >     <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"; >
>> >     <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"; >
>> >     <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; >
>> > ]>
>> >
>> > <rdf:RDF xmlns="
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#";
>> >      xml:base="http://www.semanticweb.org/darius/ontologies/2013/6/rooms
>> "
>> >      xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#";
>> >      xmlns:owl="http://www.w3.org/2002/07/owl#";
>> >      xmlns:xsd="http://www.w3.org/2001/XMLSchema#";
>> >      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";>
>> >     <owl:Ontology rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms"/>
>> >
>> >   <!--
>> >
>> >
>> ///////////////////////////////////////////////////////////////////////////////////////
>> >     //
>> >     // Classes
>> >     //
>> >
>> >
>> ///////////////////////////////////////////////////////////////////////////////////////
>> >      -->
>> >
>> >     <!--
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Person-->
>> >
>> >     <owl:Class rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Person"/>
>> >
>> >
>> >     <!-- http://www.semanticweb.org/darius/ontologies/2013/6/rooms#City-->
>> >
>> >     <owl:Class rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#City"/>
>> >
>> >
>> >     <!--
>> http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Gender-->
>> >
>> >     <owl:Class rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Gender"/>
>> >
>> >
>> ///////////////////////////////////////////////////////////////////////////////////////
>> >     //
>> >     // Individuals
>> >     //
>> >
>> >
>> ///////////////////////////////////////////////////////////////////////////////////////
>> >      -->
>> >
>> > <!-- http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Ivan -->
>> >
>> >     <owl:NamedIndividual rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Ivan";>
>> >
>> >         <rdf:type rdf:resource="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Person"/>
>> >         <owl:topObjectProperty rdf:resource="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Male"/>
>> >
>> >
>> > <!-- http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Ana -->
>> >
>> >     <owl:NamedIndividual rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Ana";>
>> >
>> >         <rdf:type rdf:resource="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Person"/>
>> >
>> >
>> >  <!-- http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Male -->
>> >
>> >     <owl:NamedIndividual rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Male";>
>> >
>> >         <rdf:type rdf:resource="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Gender"/>
>> >
>> >
>> > <!-- http://www.semanticweb.org/darius/ontologies/2013/6/rooms#London-->
>> >
>> >     <owl:NamedIndividual rdf:about="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#London";>
>> >
>> >         <rdf:type rdf:resource="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#City"/>
>> >         <owl:topObjectProperty rdf:resource="
>> > http://www.semanticweb.org/darius/ontologies/2013/6/rooms#Male"/>
>> >
>> >
>> > 2013/8/19 Arthur Vaïsse-Lesteven <[email protected]>
>> >
>> >> There is missing information about object properties. And the link
>> between
>> >> Ivan and London isn't clear.
>> >>
>> >> Assuming you are requesting a query to create a triple of type (Ivan, a
>> >> relation, London) you could try something like this:
>> >>
>> >> INSERT{ ?person isRelatedTo ?city}
>> >> WHERE{
>> >> ?person a Person.
>> >> ?person name "Ivan"^^xsd:String.
>> >> ?city a City.
>> >> ?city name "London"^^xsd:String.
>> >> }
>> >>
>> >>
>> >> where "isRelatedTo" is an object properties of your choice.
>> >> This query will create a triple for each city with a name of London and
>> >> every Person with a name equal to "Ivan".
>> >>
>> >> I hope this will help you. For more information about SPARQL queries I
>> >> suggest you to read the current W3C Recommendation (
>> >> http://www.w3.org/TR/sparql11-query/ )
>> >>
>> >> It would be much easier to help you with your minimal ontology include
>> in
>> >> the mail.
>> >>
>> >> VAÏSSE-LESTEVEN Arthur
>> >>
>> >> >Dear Sir or Madam,
>> >> >
>> >> >let's say I have an ontology, to make things clear and simple it looks
>> >> like
>> >> >this one:
>> >> >
>> >> >a) three classes, every one has two individuals:
>> >> >Person: Ivan and Ana;
>> >> >City: London and Paris;
>> >> >Gender: Male and Female.
>> >> >
>> >> >b) Ivan from the class "Person" is related to Male from the class
>> >> "Gender";
>> >> >London from the class "City" is related to Male from the class
>> "Gender".
>> >> >
>> >> >How to write the SPARQL query to find/connect Ivan from the class
>> "Person"
>> >> >to London from the class "City"?
>> >> >
>> >> >In SQL it would look something the following way (between, it could be
>> >> >wrong):
>> >> >SELECT London FROM City WHERE  Ivan=Male AND London=Male;
>> >> >
>> >> >
>> >> >Sincerely Yours,
>> >> >
>> >> >Darius Miliauskas
>> >>
>>
>>
>>
>> --
>> Joshua Taylor, http://www.cs.rpi.edu/~tayloj/
>>
>
>

Reply via email to