Re: [Virtuoso-users] Storing uris

2010-03-01 Thread Tim Haynes

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

2010-02-26 Thread Alexander Sidorov
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

2010-02-26 Thread Nathan
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

2010-02-26 Thread Alexander Sidorov
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