On 13/01/17 15:56, neha gupta wrote:
Sorry I did mistake in previous email, I used string like this

 ->  (?x  http://www.semanticweb.org/soccer#FavioriteLeague

"FACup" and it gives error.

"error" - what kind?

I still don't see any data.

Please read:

http://jena.apache.org/help_and_support/index.html

Provide a Complete, Minimal Example


>> + " ->  (?x  http://www.semanticweb.org/soccer#FavioriteLeague
>>
>> http://www.semanticweb.org/soccer#
>> <http://www.semanticweb.org/soccer#FACup>"FACup"

This is not comprehensible.

Make sure your emails are formatted:

They look like
https://lists.apache.org/thread.html/b41a76e7456924587e9e15f55704c19c6f9274c70b2cb706700041b0@%3Cusers.jena.apache.org%3E

        Andy

The string value in rule I found on web from link below: he used rules like

[rule: (?S rdf:type data:serveur), (?S data:identifiant-reseau
"POLO")-> (?S data:newproperty "TEST")]


http://stackoverflow.com/questions/24649785/jena-rules-test-a-literal-property-to-string



On Fri, Jan 13, 2017 at 6:09 PM, neha gupta <neha.bang...@gmail.com> wrote:

Yes Andy, I tried this and it flushed an error message. Thats why I asked
it if it is possible and if yes, in what way we can use the String in rule.

+ " ->  (?x  http://www.semanticweb.org/soccer#FavioriteLeague

http://www.semanticweb.org/soccer#
<http://www.semanticweb.org/soccer#FACup>"FACup"

On Fri, Jan 13, 2017 at 5:25 PM, Andy Seaborne <a...@apache.org> wrote:



On 13/01/17 13:36, neha gupta wrote:

Hello Lorenz, I am sorry.

Can we use FACup as string rather than a resource.


Have you tried this?

You are asking something you can debug locally.

I mean it is also
possible, if allowed by rules, that we use something like this

(?x http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://
www.semanticweb.org/soccer#Team) "

 + "( ?x http://www.semanticweb.org/soccer#FACupGoals  ?goals )" +

        "greaterThan(?goals,30)
         + " ->  (?x  http://www.semanticweb.org/soccer#FavioriteLeague
http://www.semanticweb.org/soccer#
<http://www.semanticweb.org/soccer#FACup>"FACup"

)]";

FACup, ChampLeague etc are just some plain strings.


On Fri, Jan 13, 2017 at 12:26 AM, Lorenz Buehmann <
buehm...@informatik.uni-leipzig.de> wrote:

Again, you ignored my suggestion to UPLOAD THE WHOLE ONTOLOGY and SHOW
US THE WHOLE RULE that does not work.

Not having an individual FACup in your ontology is not really an
explanation for me that a property will be rendered as annotation
property in Protege after rule execution and storing the data with Jena.


On 12.01.2017 15:57, neha gupta wrote:

I want to ask Lorenz, about the Then part of the rule:

THEN    -> team FavoriteLeague is FACup

FACup is the resource in my owl (just followed Create Instance tab in
Protege and Protege has give it the default URI like other resources in

the

file).

Before we execute the rule, is it must that we should declare it in
Java
code like we do in Jena class before using it in Rules like
OntClass team = model.getOntClass(ns + "Team")

Because I am sure the problem lies in the resource FACup (or its URI).

Regards

On Thu, Jan 12, 2017 at 5:43 PM, Lorenz B. <
buehm...@informatik.uni-leipzig.de> wrote:

I don't understand your problem now, sorry. It's too confusing.

You said that you changed the whole ontology: upload it somewhere such
that we can see it

Show the final rule that doesn't work, not in pseudo-syntax but how
you
use it in Jena.

Upload the code somewhere

I am sorry for any inconvenience I have created. I really dont know
how

to

create minimal code snippet or uses Github.

Coming to the problem, what I noticed is the problem is in the object

i-e

FACup here.
team1  FavoriteLeague  FACup

Because I made changes and coming to the down, used different

properties

(in place of  FavoriteLeague), and made the rule simple to:
If x is a Team, then x FavoriteLeague is FACup ,
If x is a Team, then x Wins is FACup etc just for simplicity.

In a nutshell, changed everything except object of rule FACup and it
appears in Annotation area so the problem for sure is in the URI of

FACup.

Now about resources FACup, PremierLeague, ChampionsLeague, these are

not

associated with anything in the ontology (neither Types of anything,

nor

data/object assertions), rather I just created it in Protege with URI

like

other resources.
URI of Team Class: http://www.semanticweb.org/soccer#Team
URI of FavoriteCategory : http://www.semanticweb.org/

soccer#FavoriteCategory

and URI of FACup: http://www.semanticweb.org/soccer#FACup

So I dont know if it is mandatory to get the value of resource
http://www.semanticweb.org/soccer#FACup first before the rules

executes

because simple putting it in the rules not working for me.

Sorry once again.


On Thu, Jan 12, 2017 at 12:12 PM, Lorenz B. <
buehm...@informatik.uni-leipzig.de> wrote:

in your last answer you wrote

*String ns="http://www.semanticweb.org/soccer
<http://www.semanticweb.org/soccer#FACupGoals>#";*

if you provide us no information and the information that you
provide

is

of such poor quality, then it's not possible to help you.

Last time that I'll write this here:

1. provide the WHOLE ontology (there are many services only where
you
can put your file online for free)
2. show the minimal code snippet that makes it possible to see that
it
doesn't work

Or put everything into a Github project


Hi Lorenz, the ns is wrong, how?

String ns="http://www.semanticweb.org/soccer#

Rule:

(?x http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://
www.semanticweb.org/soccer#Team) "

 + "( ?x http://www.semanticweb.org/soccer#FACupGoals  ?goals )" +

        "greaterThan(?goals,30)
         + " ->  (?x  http://www.semanticweb.org/

soccer#FavioriteLeague

http://www.semanticweb.org/soccer#FACup  )]


On Thu, Jan 12, 2017 at 1:03 AM, Lorenz Buehmann <
buehm...@informatik.uni-leipzig.de> wrote:

On 11.01.2017 22:10, neha gupta wrote:

Hello Lorenz, I am sure I have used the FavoriteLeague as Data

Property

in

Protege and it has the same URI as other data properties and
other
resources in the ontology ie  http://www.semanticweb.org/soccer#
<http://www.semanticweb.org/soccer#FACupGoals>FavoriteLeague.

I have changed the spelling of FavoriteLeague. to FavoLeague,

favLeague,

but every time the same disappointing result.
My namespace is also same in whole program:

*String ns="http://www.semanticweb.org/soccer
<http://www.semanticweb.org/soccer#FACupGoals>#";*

Ehm that's a totally wrong namespace declaration. To be honest, I

don't

understand why you don't see this...and the namespace in the rule is
obviously NOT the same then

favleague is declared as:

 *OntProperty favleague=model.getOntProperty(ns+

"FavoriteLeague");*

Please tell me, what do you think is the concatenation of the String

in

the variable ns and the String "FavoriteLeague" ?


//All my data properties are declared like this and it works.  For

ex:

Goal

property
OntProperty goals=model.getOntProperty(ns+ "Goals");


On Wed, Jan 11, 2017 at 9:41 PM, Lorenz Buehmann <
buehm...@informatik.uni-leipzig.de> wrote:

Chris is right. It's beginning to become annoying if youalways

ignore

our advices to show data + the code - all the code. Even now you

omitted

information like

* the declaration of the variable ns

* the declaration of the variable favcat


And indeed the data. IF you have anywhere in the code and/or
data

a

typo, the rule not "fire", thus no data will be inferred. In your

case,

I'm pretty sure that data is inferred (you said that Protege shows

it

as

annotation) - but the inferred property is nowhere declared as
owl:DatatypeProperty in the ontology. This is mandotory for

OWL/OWL

API/Protege


On 11.01.2017 16:48, neha gupta wrote:

I used like this

 *OntProperty favleague=model.getOntProperty(ns+

"FavioriteLeague");*

Then I wrote this rule:

(?x http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.semanticweb.org/soccer#Team) "

 + "( ?x http://www.semanticweb.org/soccer#FACupGoals  ?goals

)" +


        "greaterThan(?goals,30)
         + " ->  (?x  http://www.semanticweb.org/

soccer#FavioriteLeague

http://www.semanticweb.org/soccer#FACup  )]";
//FACupe is resource in the ontology:

Then
  *inf.listStatements(null,favcat,(RDFNode)null);*


I think the problem is not in typo because I run similar rule
for

another

data property FavioriteStadium and it also saves in Annotation

area.

On Wed, Jan 11, 2017 at 6:31 PM, Chris Dollin <

chris.dol...@epimorphics.com>

wrote:

On 11/01/17 15:15, neha gupta wrote:

Even this not works

 inf.listStatements(null,favleague,(RDFNode)null);

Gives the result but in Annotation area of Protege

COMPLETE MINIMAL EXAMPLE, please. You have so many
errors & omissions in the code you show us we can't
tell which one is the one you're asking about.

If Protege is putting things in the annotation area
I'd guess that means the thing isn't declared as either
a DataProperty or an ObjectProperty. Given your erratic
spelling that's quite likely.


Chris

--
"He could not weigh up which was worse and so tried not to
think

about

either."
                                                /The

Spellgrinder's

Apprentice/

Epimorphics Ltd, http://www.epimorphics.com
Registered address: Court Lodge, 105 High Street, Portishead,

Bristol

BS20

6PT
Epimorphics Ltd. is a limited company registered in England

(number

7016688)

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








Reply via email to