Re: [Virtuoso-users] Storing uris
Alexander Sidorov wrote: Hi Nathan, But Virtuoso will do all right even if I save uri value as literal http://a.uri; :) For example: scienceConferenceUri typeOfScience http://uri#mathematics; When I save object properties values I always see some kind of dualism :) On the one hand, object property is a uri (reference to some individual) and I should add it using uri syntax http://uri#mathematics. On the other hand, Virtuoso at the moment doesn't support object/data properties semantics that's why I can store value as literal. Now I do it the second way because it unifies my SPARQL queries: I can search literals and uri values the same way. What I mean by unifying is that if you add the value using uri syntax and then try to query it using literal syntax it won't work (obviously). I have created this post to find out some unique features of both approaches. Assuming I understand you right here, maybe a step back is useful: a) a subject (entity) must be a URI b) a predicate (attribute) must be a URI c) an object (value) may be either a URI or a literal value. A string that looks like a URI may be entered either as a literal (using around it) or as a URI (using in your N3/ttl). From the point of building a large corpus of data, work on the principle that if you're going to want to make statements *about* a URI, ie regard it as a subject later, it *must* be stored as a URI. Ie, it daisy-chains that, as long as you're talking URIs, one statement's object/value is another statement's subject/entity. If you absolutely must do string operations on a URI, that's what the SPARQL str() function is for, but meanwhile, store it as a URI. HTH, ~Tim -- Tim Haynes Product Development Consultant OpenLink Software http://www.openlinksw.com/ http://twitter.com/openlink
Re: [Virtuoso-users] Storing uris
Hi Nathan, I use SPARUL. Regards, Alexander 2010/2/26 Nathan nat...@webr3.org Alexander Sidorov wrote: Hello! What is the best way of storing properties' values that are uris: as literal (http://somgraph#somename;) or as uri (http://somegraph#somename). May be there are some specific built in functions for one of this ways... normally (always) as URIs - as for the method it depends on your context, how are you getting info in to virtuoso? Many Regards Nathan
Re: [Virtuoso-users] Storing uris
Alexander Sidorov wrote: I use SPARUL. In that case it's just a simple http://a.uri which denotes the type of the uri :) virtuoso will do the rest 2010/2/26 Nathan nat...@webr3.org Alexander Sidorov wrote: Hello! What is the best way of storing properties' values that are uris: as literal (http://somgraph#somename;) or as uri (http://somegraph#somename). May be there are some specific built in functions for one of this ways... normally (always) as URIs - as for the method it depends on your context, how are you getting info in to virtuoso? Many Regards Nathan
Re: [Virtuoso-users] Storing uris
Hi Nathan, But Virtuoso will do all right even if I save uri value as literal http://a.uri; :) For example: scienceConferenceUri typeOfScience http://uri#mathematics; When I save object properties values I always see some kind of dualism :) On the one hand, object property is a uri (reference to some individual) and I should add it using uri syntax http://uri#mathematics. On the other hand, Virtuoso at the moment doesn't support object/data properties semantics that's why I can store value as literal. Now I do it the second way because it unifies my SPARQL queries: I can search literals and uri values the same way. What I mean by unifying is that if you add the value using uri syntax and then try to query it using literal syntax it won't work (obviously). I have created this post to find out some unique features of both approaches. Regards, Alexander 2010/2/26 Nathan nat...@webr3.org Alexander Sidorov wrote: I use SPARUL. In that case it's just a simple http://a.uri which denotes the type of the uri :) virtuoso will do the rest 2010/2/26 Nathan nat...@webr3.org Alexander Sidorov wrote: Hello! What is the best way of storing properties' values that are uris: as literal (http://somgraph#somename;) or as uri (http://somegraph#somename). May be there are some specific built in functions for one of this ways... normally (always) as URIs - as for the method it depends on your context, how are you getting info in to virtuoso? Many Regards Nathan