On 26/09/16 18:26, kumar rohit wrote:
May I know why this occurs usually (save data as Annotations)? I wonder
what mistake I have actually done to encounter this.?

You would need to ask the protege folks why they put it there, protege is nothing to do with Jena.

However, one thing to check is whether you are using the correct URI. If you have the wrong value in the "ns" variable then you might be adding a different property than the one you have declared.

Again, to get help you need to provide a complete, minimal example.

In this case you need a single generated ontology file with the DatatypeProperty declaration and the instance with the corresponding value as generated by your Jena code.

Then if the ontology files looks correct but doesn't show in protege how you expect then you have something to talk to the protege folks about.

If the file doesn't look correct then you know there's a problem in your jena code. In which case, if need help then show a complete, minimal example of the code that generated the file.

Dave

On Mon, Sep 26, 2016 at 10:22 AM, kumar rohit <[email protected]> wrote:

Hello Dave, I have Item as data type property in my Protege ontology.

On Mon, Sep 26, 2016 at 9:28 AM, Dave Reynolds <[email protected]>
wrote:

On 26/09/16 16:59, kumar rohit wrote:

I have already tried this:

DatatypeProperty item= model.getDatatypeProperty(ns+"Item");


If the URI ns+"Item" is not already declared as a DatatypeProperty in
your ontology then you'll need model.createDatatypeProperty so as to
side-effect the model to include the declaration of Item.

Dave


 Literal value = model.createTypedLiteral(Some value);

 customer.setPropertyValue(item, value);

On Mon, Sep 26, 2016 at 8:22 AM, Lorenz Buehmann <
[email protected]> wrote:

Please try to use the Apache Jena documentations first, most things are
pretty much explained there [1]

I am sorry my problem still exists and some values are stored as data
property and some still as "Annotations" though I used the same
procedure
for all.

OntResource res=model.createOntResource(ns+ value); //value come from

java

variable

 OntProperty price= model.getOntProperty(ns+"ItemPrice");

I don't understand why you still do not use a typed OWL property here,
as I said in my previous answer?...
OWL has object property and data property, thus, why don't you call

model.getDatatypeProperty(ns+"ItemPrice")

For object properties the same:
model.getObjectProperty(String uri)

[1] https://jena.apache.org/documentation/ontology/#ontology-properties

customer.setPropertyValue(price, res);

On Mon, Sep 26, 2016 at 5:20 AM, Lorenz B. <
[email protected]> wrote:

Yes, in that case it is supposed to be an RDF property, thus not typed
as expected to be in an OWL ontology.

I used OntModel as model to read the ontology but used Property
instead

of

OntProperty, is this an issue?

On Mon, Sep 26, 2016 at 4:34 AM, Lorenz B. <
[email protected]> wrote:

For Protege it MUST be an OWL data property, otherwise the OWL API
parser will treat it as OWL annotation property. This has to be
explicitly declared in the ontology, the easiest way in Jena would
be

to

use an OntModel

Yes Lorenz sir I have written it to disk but it writes the data in

the

Annotations tab rather than in the data property.

Customer1.setPropertyValue(price, pricevalue);
Customer1.setPropertyValue(quantity, value);

I want to write as data property values.

On Sun, Sep 25, 2016 at 7:35 AM, Lorenz B. <
[email protected]> wrote:

Ehm, did you write the model to disk? Without seeing any code it's

like

to try a shot in the dark.

Customer1.setPropertyValue(price, pricevalue);
Customer1.setPropertyValue(quantity, value);

Next time after login as Customer1, previous data has not

overwritten

and

the owl file shows me old data also..

On Sun, Sep 25, 2016 at 4:16 AM, Lorenz B. <
[email protected]> wrote:

Please learn to read the Javadoc [1] if you're programming in

Java...

And using an IDE would also help, usually this is able to show you

the

arguments and it's expected types.


[1]
https://jena.apache.org/documentation/javadoc/jena/
org/apache/jena/ontology/OntResource.html

I used this:  customer.setPropertyValue(property,

pricevariable);


property here is property name:Item price and pricevariable is

int

value

but it gives me error of :

*int can not be converted to RDF Node*

On Sat, Sep 24, 2016 at 8:29 AM, Dave Reynolds <

[email protected]>

wrote:

On 24/09/16 15:37, kumar rohit wrote:

Thanks Soroka and Dave, but how I can do it dynamically? I
used

this

 Property property=model.getProperty(name space+ "Item

price");

and then customer_1.addLiteral(property, Text Field value);
Now how to remove previously entered values? Any built-in

methods?

Read my message again, I gave you the name of a method that does

the

replacement (= remove + add) in one go.

The javadoc and documentation tutorials will help you find the

many

remove

methods that are available.

Dave


On Sat, Sep 24, 2016 at 6:48 AM, A. Soroka <
[email protected]>

wrote:

Remove the old triple and add a new one with the new value.

---
A. Soroka
The University of Virginia Library

On Sep 24, 2016, at 9:33 AM, kumar rohit <

[email protected]

wrote:

I want to save item price entered by users in file. Samsung

Galaxy

hasPrice

?value.
User enter some value and it is stored in the file. After

some

time,

another price for same Samsung Galaxy is entered and it is

stored.

But

the

problem is that the old price is also there.
How can I overwrite the previous values with recently
entered

value

so

that

my ontology save and shows one value at a time.

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


--
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center










Reply via email to