Quick note: you don't need to 'serialize the triples to XML". You need to express them as XDM (using specific element names). Which is anyway how managed triples are stored, if I am right. Serializing is creating the textual representation of that XDM, which should not happen if done right.
Yes, you can call me pedantic :-) On 18 Nov 2015 19:21, "Geert Josten" <[email protected]> wrote: > Managed means they are stored/updated in MarkLogic automatically for you. > Unmanaged means you have to handle that yourself. If you just insert RDF > data, you end up with managed triples automatically. Same if you use SPARQL > update. So that is just more practical in that sense. In other words, it > makes most sense if you use MarkLogic as a plain triple store, or have no > reason to embed triples in documents. > > To use documents and triples separately, just load the triples and the > documents separately, and maybe just have extra triples that have subject > or object value matching document uris to make links between the two worlds. > > Regarding ’triples’, that wrapper has no real meaning for MarkLogic, but > it can be useful to bundle triples. It is used in managed triples documents > as well, and can also be useful to put annotations on. You could for > instance add a start-date and a end-date property on triples, and use that > to get temporal triples. > > My best advice is to put triples in document properties. That means > serializing them to XML first, but that is just a minor detail for > MarkLogic. Even if you use DLS, you can still do direct updates on both > documents, and properties. DLS is just a library to help you with > versioning, it is not enforced rigidly. Though you probably want to provide > some abstraction to make sure people do their updates correctly.. > > Hope that helps! > > Kind regards, > Geert > > From: <[email protected]> on behalf of "Robert Del > Toro Jr." <[email protected]> > Reply-To: MarkLogic Developer Discussion <[email protected]> > Date: Wednesday, November 18, 2015 at 1:32 PM > To: MarkLogic Developer Discussion <[email protected]> > Subject: Re: [MarkLogic Dev General] Managed vs Unmanaged Triples > > "If you are only interested in running SPARQL, nor want to annotate > triples, using managed triples makes most sense." > > Why does it make the most sense? What is the advantage of doing it this > way? > > "If you are using document data as well, then you could still consider not > embedding them in the docs." > > How do I include document data without embedding the triple in a document? > > "A second option could be to store the triples in document properties, > instead of the body. > > Consider using a triples property that has an array-node with triple > objects." > > I did notice before I went to bed last night that the example of embedded > triples in an xml doc on the MarkLogic documents was displayed inside a > 'triples' object. > > I guess I haven't really found a strong advantage to using managed > triples, which it seems like there should be (why do they call them managed > anyway?), but I'm still not sure that I like that I have to strip my > triples out of my document every time so the end user does not see them or > that I have to update the document just to update the triple (I wanted to > use Document Library Services to store changes to documents, but I did not > want to store a new version every time a triple was added, edited, or > deleted so the embedded triples seem like it will take more code to do > that). > > On Wed, Nov 18, 2015, 3:35 AM Geert Josten <[email protected]> > wrote: > >> Hi Robert, >> >> If you are only interested in running SPARQL, nor want to annotate >> triples, using managed triples makes most sense. If you are using document >> data as well, then you could still consider not embedding them in the docs. >> A second option could be to store the triples in document properties, >> instead of the body. >> >> I don’t think there are performance implications. The triple index will >> be equally fast, and I have not heard that ingest speed of the triples will >> be different because of this. I think it mostly comes down to what helps >> your application best, which solution to select. >> >> Regarding node-replace, that sounds like you are working with triple data >> embedded in json. Consider using a triples property that has an array-node >> with triple objects.. >> >> Kind regards, >> Geert >> >> From: <[email protected]> on behalf of "Robert Del >> Toro Jr." <[email protected]> >> Reply-To: MarkLogic Developer Discussion <[email protected] >> > >> Date: Wednesday, November 18, 2015 at 7:21 AM >> To: "[email protected]" <[email protected]> >> Subject: [MarkLogic Dev General] Managed vs Unmanaged Triples >> >> Could someone please explain the pros and cons of using managed vs >> unmanaged triples? I understand that with managed triples, I can update or >> delete the triple without having to update the document, and with unmanaged >> triples I can include extra information that I could then search with, >> however, when trying to use triples stored in my documents I seem to run >> into complications. For instance, when I try to read my document from an >> API, my triples come with it. So in order to ensure that the user does not >> have access to the triples, I have to use a transform with every request to >> remove the triples. Also, when trying to update a document with more than >> one embedded triple using '*xdmp:node-replace*', I get the error >> '*XDMP-CHILDDUPNAME: >> Object nodes cannot have two children with the same name*'. I'm assuming >> because I have multiple nodes with the name 'triple'. Since using managed >> triples removes the ability to add meta-data to the triples, what are the >> advantages? (Speed?) >> >> Robert >> _______________________________________________ >> General mailing list >> [email protected] >> Manage your subscription at: >> http://developer.marklogic.com/mailman/listinfo/general >> > > _______________________________________________ > General mailing list > [email protected] > Manage your subscription at: > http://developer.marklogic.com/mailman/listinfo/general > >
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
