Where are changes stored in Protege 3.5 multiuser

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Where are changes stored in Protege 3.5 multiuser

bvasu
If we make changes from a Protege 3.5 multiuser client to the data in an
instance’s slot/property (for example an Individual_Business_Role instance
Description) that change instantly shows up on all Protege 3.5 multiuser
clients connected to the server. However, it is not in the MySQL table
supporting that multiuser Protege 3.5 when we search the corresponding table
with MySQL Workbench. We can only find the original unchanged Description.
The original unmodified version shows up on such a search. However, we also
observe that the change is permanent and is there even if everything is
restarted. But even after such a restart we cannot see the change in the
MySQL database, only on the Protege 3.5 multiuser clients. Where are these
updates being stored. We have also tried to search for a modified file on
the server but also came up empty.

Thanks in advance, Bill



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-Developer-f4659816.html
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: Where are changes stored in Protege 3.5 multiuser

samsontu
Hi,

On Mar 31, 2020, at 7:42 AM, bvasu <[hidden email]> wrote:

If we make changes from a Protege 3.5 multiuser client to the data in an
instance’s slot/property (for example an Individual_Business_Role instance
Description) that change instantly shows up on all Protege 3.5 multiuser
clients connected to the server. However, it is not in the MySQL table
supporting that multiuser Protege 3.5 when we search the corresponding table
with MySQL Workbench. We can only find the original unchanged Description.
The original unmodified version shows up on such a search. However, we also
observe that the change is permanent and is there even if everything is
restarted. But even after such a restart we cannot see the change in the
MySQL database, only on the Protege 3.5 multiuser clients. Where are these
updates being stored. We have also tried to search for a modified file on
the server but also came up empty.

The run_protege_server script that you use to start an instance of the Proteg 3.5 server specifies the the path to the metaproject.pprj file that the server uses to load ontologies. The default metaproject is located at {Protege3.5Installation}/examples/server/metaproject.pprj. Load the metaproject to check (among instances of PolicyControlledObject/Project) where the server is getting its ontologies. Change the Location property to point to the right pprj file (the one that uses the database as its backend).

With best regards,
Samson


_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: Where are changes stored in Protege 3.5 multiuser

bvasu
Hi Samson,

Thanks so much for the quick reply.

We followed all of your specific guidance and then rechecked all resources
to find where the changes are stored but only found the same results.

The project file we opened is the only one at the location that the
metaproject.pprj points to. We can still find no reference in any file to
the changes we made to the instance description. However, when we restart
the Protege server, there they are. Additional changes also propagate to all
Protege attached users. Then once again we scanned the entire MySQl database
to search for the changes and could only find the original description. We
also tried to find any changed files on the Windows 2016 server on which the
Protege server is running. Same result.

Any additional ideas would be most welcome.

Thanks, Bill



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-Developer-f4659816.html
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: Where are changes stored in Protege 3.5 multiuser

samsontu
Hi,

If I were you, I would debug the problem without using the Protege server. If you are loading the same pprj file, you should see exactly the same storage behavior regardless of whether you are loading the pprj file locally or using the Protege server.

The pprj file specifies the location from which the ontology is loaded. If the ontology is a file in the file system, there should be a reference to it in the pprj file, either

([KB_325529_Class4] of  String

(name "owl_file_name")
(string_value "thisIsATest.owl”))  #if the owl file is in the same folder as the pprj file

or ([KB_325529_Class4] of  String

(name "owl_file_name")
(string_value "file:/tmp/thisIsATest.owl”)) #if the owl file is not in the same folder as the pprj file.

A pprj file with the ontology in the database should have something like:

([Instance_424201] of  String

(name "url")
(string_value "jdbc:<a href="mysql://localhost/protege" class="">mysql://localhost/protege"))

([Instance_424202] of  String

(name "table")
(string_value "icd_umbrella"))

([Instance_424203] of  String

(name "username")
(string_value "protege"))

Making changes in the ontology (regardless of whether you are using the Protege server) should be reflected in the table specified in the pprj file (e.g., icd_umbrella), as the two screenshots below demonstrate after I made some changes in the icd_umbrella ontology:




With best regards,
Samson



On Apr 2, 2020, at 10:28 AM, bvasu <[hidden email]> wrote:

Hi Samson,

Thanks so much for the quick reply.

We followed all of your specific guidance and then rechecked all resources
to find where the changes are stored but only found the same results.

The project file we opened is the only one at the location that the
metaproject.pprj points to. We can still find no reference in any file to
the changes we made to the instance description. However, when we restart
the Protege server, there they are. Additional changes also propagate to all
Protege attached users. Then once again we scanned the entire MySQl database
to search for the changes and could only find the original description. We
also tried to find any changed files on the Windows 2016 server on which the
Protege server is running. Same result.

Any additional ideas would be most welcome.

Thanks, Bill



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-Developer-f4659816.html
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev


_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: Where are changes stored in Protege 3.5 multiuser

bvasu
Hello again Samson and thanks for the assistance so far! I wonder if there is a disconnect between Protege 3.5 Frames (which is what we are using) and Protege 3.5 Owl (which is what you may be referencing). With what we are doing there are no owl files. We have three files each for the metaproject project and the particular project, .pprg, .pont and .pins. No .owl file in either case. If this is true, is there a different approach for the Frames projects? Thanks again, Bill

Sent from the Protege Developer mailing list archive at Nabble.com.

_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: Where are changes stored in Protege 3.5 multiuser

samsontu
No difference in terms of frame or owl ontologies, except that file system storage uses pont and pins files instead of owl files.

If the pprj file specifies the database backend, then you shouldn’t have pont and pins files. That’s where the ontology/knowledge base is stored if you are using file-based storage. Check your pprj file. If it references pont and pins files, then you are not using the database backend.

On Apr 4, 2020, at 12:30 PM, bvasu <[hidden email]> wrote:

Hello again Samson and thanks for the assistance so far! I wonder if there is a disconnect between Protege 3.5 Frames (which is what we are using) and Protege 3.5 Owl (which is what you may be referencing). With what we are doing there are no owl files. We have three files each for the metaproject project and the particular project, .pprg, .pont and .pins. No .owl file in either case. If this is true, is there a different approach for the Frames projects? Thanks again, Bill



With best regards,
Samson


_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: Where are changes stored in Protege 3.5 multiuser

bvasu
I think we finally have it. We were not clear on some key configuration
points on the original install from The Essential Project. Their docs need
some editing and consolidating. Your comments helped us to identify the
needed changes.

I can't thank you enough!

Bill



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-Developer-f4659816.html
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev