1. Sample data means to have some instance data and not only a part of
the schema. Nobody here wants to generate instance data in order to test
the query locally.
2. And please use Turtle, RDF/XML is totally verbose.
As we already said, put the WHOLE data - that means the ontology
including the schema and instance data that you load with Jena -
somewhere online. Github is the most simple one.
And then show the sample code, that means the Java code snippet.
And show the sample output, i.e. the result you get back by Jena and
especially HOW you process the Resultset object.
> The print out of query in console is:
>
> SELECT * WHERE { ?Qs mo:Question ?QsDesc.
> ?QS mo:hasAnswers ?AnsQ.
> ?AnsQ mo:hasQuestion ?Qs.
> ?AnsQ mo:ChoiceOne ?ANSONE.
> ?AnsQ mo:ChoiceTwo ?ANSWTWO.
> ?AnsQ mo:ChoiceThree ?ANSWTHREE.
> ?AnsQ mo:CorrChoice ?ANSCORR.
> ?Qs mo:hasCategory ?Cat.
> ?Cat mo:category ?CatName.
> ?Qs mo:hasLevel ?lev.
> ?lev mo:level ?LevName.
> ?Qs mo:hasScore ?point.?point mo:score ?Score.
> ?Qs mo:hasComplexity ?l.
> FILTER ( ?CatName ='Physics' ). FILTER ( ?LevName ='Easy' ). }ORDER BY ?l
>
> On Sat, Feb 4, 2017 at 7:52 PM, Sidra shah <[email protected]> wrote:
>
>> I have included the hasComplexity property values just in five questions
>> and it loads only these five questions, it means it recognizes this
>> property but again not in order.
>>
>> Regards
>>
>> On Sat, Feb 4, 2017 at 7:44 PM, Sidra shah <[email protected]> wrote:
>>
>>> Hello, I copied the object properties here. I have object property (which
>>> has problem) hasComplexity. Its domain is Question and range is Complexity
>>> class. Complexity class have now members A,B,C
>>>
>>>
>>>
>>> <?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#" >
>>> <!ENTITY named "http://www.semanticweb.org/t/ontologies/2016/7/named#"
>>> <!ENTITY myOWL "http://www.semanticweb.org/t/ontologies/2016/7/myOWL#"
>>> ]>
>>>
>>>
>>> <rdf:RDF xmlns="http://www.semanticweb.org/t/ontologies/2016/7/myOWL#"
>>> xml:base="http://www.semanticweb.org/t/ontologies/2016/7/myOWL"
>>> xmlns:named="http://www.semanticweb.org/t/ontologies/2016/7/named#"
>>> 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#"
>>> xmlns:myOWL="http://www.semanticweb.org/t/ontologies/2016/7/myOWL#">
>>> <owl:Ontology rdf:about="http://www.semantic
>>> web.org/t/ontologies/2016/7/myOWL"/>
>>>
>>>
>>>
>>> <!--
>>> ////////////////////////////////////////////////////////////
>>> ///////////////////////////
>>> //
>>> // Object Properties
>>> //
>>> ////////////////////////////////////////////////////////////
>>> ///////////////////////////
>>> -->
>>>
>>>
>>>
>>>
>>>
>>>
>>> <!-- http://www.semanticweb.org/t/ontologies/2016/7/myOWL#hasAnswers
>>> -->
>>>
>>> <owl:ObjectProperty rdf:about="&myOWL;hasAnswers">
>>> <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
>>> <rdfs:range rdf:resource="&myOWL;Answers"/>
>>> <rdfs:domain rdf:resource="&myOWL;Questions"/>
>>> <owl:inverseOf rdf:resource="&myOWL;hasQuestion"/>
>>> </owl:ObjectProperty>
>>>
>>>
>>>
>>> <!-- http://www.semanticweb.org/t/ontologies/2016/7/myOWL#hasCategory
>>> -->
>>>
>>> <owl:ObjectProperty rdf:about="&myOWL;hasCategory"/>
>>>
>>>
>>>
>>> <!-- http://www.semanticweb.org/t/ontologies/2016/7/myOWL#hasComp
>>> lexity -->
>>>
>>> <owl:ObjectProperty rdf:about="&myOWL;hasComplexity">
>>> <rdfs:range rdf:resource="&myOWL;Complexity"/>
>>> <rdfs:domain rdf:resource="&myOWL;Questions"/>
>>> </owl:ObjectProperty>
>>>
>>>
>>>
>>> <!-- http://www.semanticweb.org/t/ontologies/2016/7/myOWL#hasLevel
>>> -->
>>>
>>> <owl:ObjectProperty rdf:about="&myOWL;hasLevel"/>
>>>
>>>
>>>
>>> <!-- http://www.semanticweb.org/t/ontologies/2016/7/myOWL#hasQuestion
>>> -->
>>>
>>> <owl:ObjectProperty rdf:about="&myOWL;hasQuestion">
>>> <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
>>> <rdfs:domain rdf:resource="&myOWL;Answers"/>
>>> <rdfs:range rdf:resource="&myOWL;Questions"/>
>>> </owl:ObjectProperty>
>>>
>>>
>>>
>>> <!-- http://www.semanticweb.org/t/ontologies/2016/7/myOWL#hasScore
>>> -->
>>>
>>> <owl:ObjectProperty rdf:about="&myOWL;hasScore"/>
>>>
>>>
>>>
>>> On Sat, Feb 4, 2017 at 6:58 PM, Andy Seaborne <[email protected]> wrote:
>>>
>>>>
>>>> On 04/02/17 14:38, A. Soroka wrote:
>>>>
>>>>> Thank you Lorenz, you mean I copy the turtle of my ontology here? It
>>>>>> will be very large?
>>>>>>
>>>>> Then put it on a site like Github or Pastebin and put a link in your
>>>>> message.
>>>>>
>>>> Then create a small sample that illustrates the problem.
>>>>
>>>> A minimal-complete-example is not a dump of everything you have. It is
>>>> creating a focused question. In fact, just the act of creating it can help
>>>> you understand the problem.
>>>>
>>>> Andy
>>>>
>>>>
>>>>
>>>>> ---
>>>>> A. Soroka
>>>>> The University of Virginia Library
>>>>>
>>>>> On Feb 4, 2017, at 7:45 AM, Sidra shah <[email protected]> wrote:
>>>>>> Thank you Lorenz, you mean I copy the turtle of my ontology here? It
>>>>>> will
>>>>>> be very large?
>>>>>>
>>>>>> Actually what makes me confuse, when I run the same query in
>>>>>> Protege(with
>>>>>> all Qs,Ans/Options), it works and order the questions.
>>>>>> In Jena, the order by part does not work.
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>> On Sat, Feb 4, 2017 at 2:50 PM, Lorenz B. <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>> Sample data is not an abstract description of the data...it is proper
>>>>>>> instance data, in best case in TURTLE syntax.
>>>>>>>
>>>>>>> Sample code is still missing.
>>>>>>>
>>>>>>> Sample output is not telling me that something does not work as
>>>>>>> expected...
>>>>>>>
>>>>>>> "Not in the oder you want" is no real specification. The query will
>>>>>>> order by the URIs of the complexity values. If not it's a bug.
>>>>>>>
>>>>>>> But again, we need sample data, sample, code, which is also know as
>>>>>>> MWE.
>>>>>>> And also the Jena version is interesting for the developers.
>>>>>>>
>>>>>>> SELECT *
>>>>>>>> WHERE { ?questions dd:hasCategory dd:CatPhysics ; dd:hasLevel
>>>>>>>> dd:levEasy
>>>>>>>>
>>>>>>> ;
>>>>>>>
>>>>>>>> dd:hasComplexity ?y} order by ?y
>>>>>>>>
>>>>>>>> Lorenz, Each question has three categories (subjects), has level ,
>>>>>>>> and
>>>>>>>> recently I added hasComplexity which has values 1-5. I have added a
>>>>>>>> Complexity class and its members are 1-5 numbers. Domain is Question
>>>>>>>>
>>>>>>> class
>>>>>>>
>>>>>>>> and range is Complexity class.
>>>>>>>> The query inside Jena works, load questions/answers/choices etc but
>>>>>>>> not
>>>>>>>>
>>>>>>> in
>>>>>>>
>>>>>>>> the order I want.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>> On Sat, Feb 4, 2017 at 1:44 PM, Lorenz B. <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>> That doesn't answer my question. Can you try to compare the same
>>>>>>>>> queries
>>>>>>>>> please?
>>>>>>>>>
>>>>>>>>> Moreover what's missing:
>>>>>>>>>
>>>>>>>>> 1. sample code
>>>>>>>>> 2. sample data
>>>>>>>>> 3. sample output
>>>>>>>>>
>>>>>>>>> The queries are different because in Protege I retrieve only
>>>>>>>>>> questions
>>>>>>>>>>
>>>>>>>>> and
>>>>>>>>>
>>>>>>>>>> their complexity number while in Jena I get questions, answers,
>>>>>>>>>>
>>>>>>>>> choices,
>>>>>>>> scores and its complexity order.
>>>>>>>>>> Regards
>>>>>>>>>>
>>>>>>>>>> On Fri, Feb 3, 2017 at 6:36 PM, Sidra shah <[email protected]
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Thank you Lorenz, 1,2,3,4,5 are resources and it has URIs. Question
>>>>>>>>>> has
>>>>>>>> object property and value will be selected from one of the five
>>>>>>>>>>> values
>>>>>>>>>>>
>>>>>>>>>> in
>>>>>>>>>> the owl file.
>>>>>>>>>>> Regards
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Feb 3, 2017 at 6:26 PM, Lorenz Buehmann
>>>>>>>>>>>
>>>>>>>>>> <[email protected]
>>>>>>>>>> leipzig.de> wrote:
>>>>>>>>>>> "object property hasComplexity (its values are 1,2,3,4,5)"
>>>>>>>>>>>> -> why do you say it's an object property if the values are
>>>>>>>>>>>>
>>>>>>>>>>> numerical?
>>>>>>>>>>>> Moreover, you compare two different queries and then say one
>>>>>>>>>>>> works in
>>>>>>>>>>>> Protege, the other not. That is a totally useless statement. It
>>>>>>>>>>>>
>>>>>>>>>>> should
>>>>>>>> be clear that you should compare the SAME queries
>>>>>>>>>>>>
>>>>>>>>>>>> It remains open what kind of RDF term the complexity values
>>>>>>>>>>>> are...literals or resources
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 03.02.2017 16:18, Sidra shah wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello, This query works fine and get data i-e Questions,
>>>>>>>>>>>>> answers,
>>>>>>>>>>>>>
>>>>>>>>>>>> choices
>>>>>>>>>>>>
>>>>>>>>>>>>> and their score. But when I want to include object property
>>>>>>>>>>>>>
>>>>>>>>>>>> hasComplexity
>>>>>>>>>>>>
>>>>>>>>>>>>> (its values are 1,2,3,4,5) and try to order it, its not working.
>>>>>>>>>>>>>
>>>>>>>>>>>> (The
>>>>>>>> query
>>>>>>>>>>>>> still get data but not in order).
>>>>>>>>>>>>> While this works inside Protege and show questions in order:
>>>>>>>>>>>>> SELECT *
>>>>>>>>>>>>> WHERE { ?questions dd:hasCategory dd:CatPhysics ; dd:hasLevel
>>>>>>>>>>>>>
>>>>>>>>>>>> dd:levEasy ;
>>>>>>>>>>>>
>>>>>>>>>>>>> dd:hasComplexity ?y} order by ?y
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> //This query is in Jena code: I copy here it in Jena syntax
>>>>>>>>>>>>>
>>>>>>>>>>>>> "SELECT * " +
>>>>>>>>>>>>> " WHERE { "
>>>>>>>>>>>>> + "?Qs mo:Question ?QsDesc. "
>>>>>>>>>>>>>
>>>>>>>>>>>>> + "?QS mo:hasAnswers ?AnsQ. "
>>>>>>>>>>>>> + "?AnsQ mo:hasQuestion ?Qs. "
>>>>>>>>>>>>> + "?AnsQ mo:ChoiceOne ?ANSONE."
>>>>>>>>>>>>> + "?AnsQ mo:ChoiceTwo ?ANSWTWO."
>>>>>>>>>>>>> + "?AnsQ mo:ChoiceThree ?ANSWTHREE."
>>>>>>>>>>>>> + "?AnsQ mo:CorrChoice ?ANSCORR. "
>>>>>>>>>>>>> + "?Qs mo:hasCategory ?Cat. "
>>>>>>>>>>>>> + "?Cat mo:category ?CatName. "
>>>>>>>>>>>>> + "?Qs mo:hasLevel ?lev. "
>>>>>>>>>>>>>
>>>>>>>>>>>>> + "?lev mo:level ?LevName. "
>>>>>>>>>>>>> + "?Qs mo:hasScore ?point."
>>>>>>>>>>>>> + "?point mo:score ?Score. "
>>>>>>>>>>>>>
>>>>>>>>>>>>> + "?Qs mo:hasComplexity ?l. "
>>>>>>>>>>>>>
>>>>>>>>>>>>> + "FILTER ( ?CatName ='"+ctg+"' ). "
>>>>>>>>>>>>> + "FILTER ( ?LevName ='"+lvl+"' ). "
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> + "}"
>>>>>>>>>>>>> + "ORDER BY (?l) "
>>>>>>>>>>>>> + "";
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>> Lorenz Bühmann
>>>>>>>>> AKSW group, University of Leipzig
>>>>>>>>> Group: http://aksw.org - semantic web research center
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>> Lorenz Bühmann
>>>>>>> AKSW group, University of Leipzig
>>>>>>> Group: http://aksw.org - semantic web research center
>>>>>>>
>>>>>>>
>>>>>>>
--
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center