You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@marmotta.apache.org by Sergio Fernández <wi...@apache.org> on 2014/08/01 08:44:00 UTC

Re: Marmotta/Kiwi and Anonymous Nodes

Hi Joshua,

On 31/07/14 18:54, Joshua Dunham wrote:
> I think I hastily typed a minimal working example. My real case was converted via rapper from ttl to rdfxml which checks out OK. What I’m seeing is, after import using the admin UI, the main record goes in a ‘linuxserver’ type which has three linked records (RAM, HD, and ‘runs’). No matter what I try I can’t get Marmotta to generate a URI for ‘runs’. My terminology is off, but the behavior I’d like is that the value for the runs (which seems like a randomly generated string?) be a typical link to the record which has the values for the Marmotta installation. Currently it looks like it’s just a string with no link to the sub-records.

Because that the definition of a blank node in rdf: a node which does 
not get a name (URI). The bnode identifier is just an internal system 
identifier, never a proper identifier.

I'd suggest you to read a bit more about the blank nodes concept in RDF: 
http://www.w3.org/TR/rdf11-concepts/#section-blank-nodes

> Is this possible? If so, what could be the issue that it doesn’t create a link to the record? When I’m using the data viewer and choose the test namespace I assigned this record to I see 50% of the records are in the linuxserver type and 50% are in a ‘no-type’. When I click on no-type in the admin UI I see that it actually made three copies of the records in the ‘runs’ array. I’m not sure why this happened either.

Well, I'm not sure how the Data Views handles navigation from bnodes. 
For that it's much better that you use directly the resource view:

http://localhost:8080/marmotta/resource?uri=http%3A%2F%2Fmy.marmottaDB.domain%2Fmarmotta%2Fresource%2Fserver

If you really have Marmotta accessible at my.marmottaDB.domain/marmotta, 
then you can directly access the resource: 
http://my.marmottaDB.domain/marmotta/resource/server

I'd recommend you to use a visualization tool, such as 
http://dev.redlink.io/demos/rdfdot , to see the actual graph your are 
generating from that RDF source.

> So my question is threefold.
> - Why is Marmotta not making the anonymous node a link from the linuxserver record to the node.

Because the Data Views does not support bnodes navigation, as I told you 
above.

> - Why is Marmotta making three copies of the hasResourceName/Version/Type records?

I saw it. It might be a bug in the Data Views. Such functionally it was 
never meant to be an inspector tool. Please, file in issue in case you 
think it's important.

> - Is it possible to define how the UUID for the anonymous node is created? Its difficult to traverse the linked data path if I’m not sure of the names that are in each record.

No, internal system identifier. Use a proper resource identifier with a 
uri if you want a meaningful identifier.

Hope that helps.

Cheers,

-- 
Sergio Fernández
Partner Technology Manager
Redlink GmbH
m: +43 660 2747 925
e: sergio.fernandez@redlink.co
w: http://redlink.co

Re: Marmotta/Kiwi and Anonymous Nodes

Posted by Joshua Dunham <jo...@vrtx.com>.
Hey Sergio

On Aug 1, 2014, at 2:44 AM, Sergio Fernández <wi...@apache.org> wrote:

> Hi Joshua,
>
> On 31/07/14 18:54, Joshua Dunham wrote:
>> I think I hastily typed a minimal working example. My real case was converted via rapper from ttl to rdfxml which checks out OK. What I’m seeing is, after import using the admin UI, the main record goes in a ‘linuxserver’ type which has three linked records (RAM, HD, and ‘runs’). No matter what I try I can’t get Marmotta to generate a URI for ‘runs’. My terminology is off, but the behavior I’d like is that the value for the runs (which seems like a randomly generated string?) be a typical link to the record which has the values for the Marmotta installation. Currently it looks like it’s just a string with no link to the sub-records.
>
> Because that the definition of a blank node in rdf: a node which does not get a name (URI). The bnode identifier is just an internal system identifier, never a proper identifier.
>
> I'd suggest you to read a bit more about the blank nodes concept in RDF: https://urldefense.proofpoint.com/v1/url?u=http://www.w3.org/TR/rdf11-concepts/%23section-blank-nodes&k=nlnsHLn0ybmZ0IJA5X3Bfg%3D%3D%0A&r=Ti2ZOdevHxjcPRKaSErKsJsdngV4bllmizMzlKHBb0U%3D%0A&m=TOY66dhdYH823IZKarqLmztTlwNDTCoh9M%2B%2BTo0Hy30%3D%0A&s=885c2b7355e96e2e39d42bbb33b81d27467ec6e6ceaece4b76474f3ee21175e2
>

Thanks for that.

>> Is this possible? If so, what could be the issue that it doesn’t create a link to the record? When I’m using the data viewer and choose the test namespace I assigned this record to I see 50% of the records are in the linuxserver type and 50% are in a ‘no-type’. When I click on no-type in the admin UI I see that it actually made three copies of the records in the ‘runs’ array. I’m not sure why this happened either.
>
> Well, I'm not sure how the Data Views handles navigation from bnodes. For that it's much better that you use directly the resource view:
>
> https://urldefense.proofpoint.com/v1/url?u=http://localhost:8080/marmotta/resource?uri%3Dhttp%253A%252F%252Fmy.marmottaDB.domain%252Fmarmotta%252Fresource%252Fserver&k=nlnsHLn0ybmZ0IJA5X3Bfg%3D%3D%0A&r=Ti2ZOdevHxjcPRKaSErKsJsdngV4bllmizMzlKHBb0U%3D%0A&m=TOY66dhdYH823IZKarqLmztTlwNDTCoh9M%2B%2BTo0Hy30%3D%0A&s=46c74c0b77bc5966b0d2202dc33b1d6c6469242e9f284abaf1a0474b17f9df5a
>
> If you really have Marmotta accessible at my.marmottaDB.domain/marmotta, then you can directly access the resource: https://urldefense.proofpoint.com/v1/url?u=http://my.marmottadb.domain/marmotta/resource/server&k=nlnsHLn0ybmZ0IJA5X3Bfg%3D%3D%0A&r=Ti2ZOdevHxjcPRKaSErKsJsdngV4bllmizMzlKHBb0U%3D%0A&m=TOY66dhdYH823IZKarqLmztTlwNDTCoh9M%2B%2BTo0Hy30%3D%0A&s=7bbf10d6bf4fd46b385bbf437ee7c86de2cf7f673422e3110c88ba134dab5e56
>
> I'd recommend you to use a visualization tool, such as https://urldefense.proofpoint.com/v1/url?u=http://dev.redlink.io/demos/rdfdot&k=nlnsHLn0ybmZ0IJA5X3Bfg%3D%3D%0A&r=Ti2ZOdevHxjcPRKaSErKsJsdngV4bllmizMzlKHBb0U%3D%0A&m=TOY66dhdYH823IZKarqLmztTlwNDTCoh9M%2B%2BTo0Hy30%3D%0A&s=0865f355e72df939a82e800b791f2dc65ad67d6b49955d5d7ed696c8b259ae09 , to see the actual graph your are generating from that RDF source.
>

I was trying to use the DataViewer to quickly ‘bug test’ the design. Since it looked drastically different from what the WME should have produced I was confused.

The RDFDot program on Redlink works. Looks similar to rapper and dot so I can use that going forward.


>> So my question is threefold.
>> - Why is Marmotta not making the anonymous node a link from the linuxserver record to the node.
>
> Because the Data Views does not support bnodes navigation, as I told you above.
>
>> - Why is Marmotta making three copies of the hasResourceName/Version/Type records?
>
> I saw it. It might be a bug in the Data Views. Such functionally it was never meant to be an inspector tool. Please, file in issue in case you think it's important.
>

I will only b/c it’s a bug. Will mark as trivial.


>> - Is it possible to define how the UUID for the anonymous node is created? Its difficult to traverse the linked data path if I’m not sure of the names that are in each record.
>
> No, internal system identifier. Use a proper resource identifier with a uri if you want a meaningful identifier.
>

This is an important point. How would this be done without using anonymous nodes? What I want to convey is that there is an object that has a relationship to another object BUT the relationship has some qualifiers which deviate from the generic state of the second object.

Are anonymous nodes the best way to do this? Maybe it’s a better question for a mailing list specific to RDF design (if you could recc’d one that would be helpful!)

> Hope that helps.
>
> Cheers,
>

Thanks for your help getting started!

> --
> Sergio Fernández
> Partner Technology Manager
> Redlink GmbH
> m: +43 660 2747 925
> e: sergio.fernandez@redlink.co
> w: https://urldefense.proofpoint.com/v1/url?u=http://redlink.co/&k=nlnsHLn0ybmZ0IJA5X3Bfg%3D%3D%0A&r=Ti2ZOdevHxjcPRKaSErKsJsdngV4bllmizMzlKHBb0U%3D%0A&m=TOY66dhdYH823IZKarqLmztTlwNDTCoh9M%2B%2BTo0Hy30%3D%0A&s=b6b89b058578966591f7a117f3601f8db2904fb233481a79401c1e706e8fdfce

This email message and any attachments are confidential and intended for use by the addressee(s) only. If you are not the intended recipient, please notify me immediately by replying to this message, and destroy all copies of this message and any attachments. Thank you.