Hi Sanjeev,
I assume this is about TopBraid's relational database storage,
aka SDB. This stores RDF triples, and RDF triples can only store
literals (e.g. strings) in the object position. So if SDB stores
literals in a column called lex then this is indeed the only place
where user IDs are stored. However, note that users can sometimes
be stored as part of URIs, of the form urn:x-tb-users:XY where XY
is the user ID, and those may be used in either subject or object
position, and therefore be stored in corresponding RDB database
columns.
I am not sure if this answers your question.
Holger
--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/4499566c-2e47-402a-8cc0-8afd614c1634%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi Sanjeev,
I assume this is about TopBraid's relational database storage, aka SDB.
This stores RDF triples, and RDF triples can only store literals (e.g. strings) in the object position. So if SDB stores literals in a column called lex then this is indeed the only place where user IDs are stored.
However, note that users can sometimes be stored as part of URIs, of the form urn:x-tb-users:XY where XY is the user ID, and those may be used in either subject or object position, and therefore be stored in corresponding RDB database columns.
I am not sure if this answers your question.
Holger
On 4/07/2019 19:43, Sanjeev Devireddy wrote:
Hi Holger,
Thanks for your response. Your post answers some of my questions. Please check my other comments/queries below.
Hi Sanjeev,
I assume this is about TopBraid's relational database storage, aka SDB.
Yes, this is about our TopBraid EDG application instance's relational database storage and it is MySQL.
This stores RDF triples, and RDF triples can only store literals (e.g. strings) in the object position. So if SDB stores literals in a column called lex then this is indeed the only place where user IDs are stored.
So, my understanding is that if all the literals that are at the Object position of Triples are stored in the column called lex then the user IDs are also stored in that same column.
Yes.
However, note that users can sometimes be stored as part of URIs, of the form urn:x-tb-users:XY where XY is the user ID, and those may be used in either subject or object position, and therefore be stored in corresponding RDB database columns.
Does it mean to say that if an user ID (stored as part of URIs, of the form urn:x-tb-users:XY where XY is the user ID) is at the Subject position of a Triple then that user ID is stored in a different RDB database column other than the column named lex, which contains literals that are at the Object position of Triples?
There are only few triples of that form, that have the user URI in the subject position. They would be triples that attach some (meta) data to the user resources themselves. But yes, if these triples occur then they would be in a different column, for the subject position of triples.
Holger
I am not sure if this answers your question.
Holger
Thanks,Sanjeev
--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/f16475f3-efe1-4317-9857-d411bf89dde0%40googlegroups.com.
From an RDF perspective, these user references will typically only appear in graphs ending with .tch - those that capture the metadata about an asset collection, including the permissions and change history. Look for triples with sioc:has_creator as predicate, for example. These are in the object position only.
The subject position would be used by the graph urn:x-evn-user-data, e.g. the triple
<urn:x-tb-users:Administrator>
<http://topbraid.org/teamwork#recent_collections>
<urn:x-evn-master:xy_graph> ;
.
Holger
--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/d013dcb6-44e5-4169-b165-cb8bbfe75ebb%40googlegroups.com.
From an RDF perspective, these user references will typically only appear in graphs ending with .tch - those that capture the metadata about an asset collection, including the permissions and change history. Look for triples with sioc:has_creator as predicate, for example. These are in the object position only.
The subject position would be used by the graph urn:x-evn-user-data, e.g. the triple
<urn:x-tb-users:Administrator>
<http://topbraid.org/teamwork#recent_collections> <urn:x-evn-master:xy_graph> ;
.
Sorry for the delayed response; I was away for a couple of days.
Hi Holger,
Thanks for your response. As my actual question was not answered so assuming that I wasn't much clear in the previous post so here I am elaborating the same question again. Please check my comments below.
On Friday, July 5, 2019 at 12:28:39 PM UTC+5:30, Holger Knublauch wrote:
From an RDF perspective, these user references will typically only appear in graphs ending with .tch - those that capture the metadata about an asset collection, including the permissions and change history. Look for triples with sioc:has_creator as predicate, for example. These are in the object position only.
Yes, when the teamGraph is queried (please check the below SPARQL) then it gives the metadata including the permissions and change history. From that SPARQL results (please check the attachment), we can see the User IDs/URIs can be at Subject and/or Object positions of Triples.
SELECT ?s ?p ?o
WHERE {
BIND (<urn:x-evn-master:geo> AS ?projectGraph)
rdf:nil <http://topbraid.org/teamwork#graphsUnderTeamControl> ( ?projectGraph ?teamGraph ) .
GRAPH ?teamGraph {
?s ?p ?o
}
}
BTW you could replace the line starting with rdf:nil with BIND (teamwork:teamGraph(?projectGraph) AS ?teamGraph) .
And yes, correct, the user IDs are also sometimes encoded in the
URIs of teamwork:Change subjects.
The subject position would be used by the graph urn:x-evn-user-data, e.g. the triple
<urn:x-tb-users:Administrator>
<http://topbraid.org/teamwork#recent_collections> <urn:x-evn-master:xy_graph> ;
.
From previous posts it is understood that Object position of Triples are stored in the column called lex(in the table Nodes2). Now, my question is that as you also said (in one of your previous posts) that if an User URI is at the Subject position of a Triple then that User URI is stored in a different RDB database column other than the column named lex so, what could be the TopBraid EDG RDB Table/Column that stores the User URI that is at the Subject position of a Triple?
Please check the below two examples:
1) User URI at Object position of a Triple:
<urn:x-evn-master:geo.tch> <http://rdfs.org/sioc/ns#has_creator> <urn:x-tb-users:Administrator>
In the above example, since the User URI is at Object position so, it is stored in the column called lex (in the table Nodes2).
2) User URI at the Subject position of a Triple:
<urn:x-change:2019-07-05T08-29-53.421ZAdministrator-2db2948e-2f1b-46b3-852a-cbbe5c08aa56> rdfs:comment Create Continent with URI http://topquadrant.com/ns/examples/geography#CONTINENT-TestContinent
Here the question is that in which TopBraid EDG RDB Table/Column the above Subject(User URI) is stored if it is not the column called lex (in the table Nodes2)?
I will need to ask my colleague on which RDB table is involved,
and will get back to you.
Holger
--
Thanks,Sanjeev
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/d8b6d6b7-b300-49d0-baef-d61f2d9f399b%40googlegroups.com.
Sanjeev,
here is what I learned: The nodes table contains all nodes in the dataset. A node can be any type; blank, URI, literal. The nodes table primary key is the calculated hash for the node. The quads table then contains the foreign keys to the nodes table. So there is no way to know the position of a node within the statement without joining the 2 tables.
--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/f933cefe-2e03-42c8-818b-96a5995544c1%40googlegroups.com.