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