Hi Scott, Thanks for taking the time to give this great help! I really appreciate it.
On 08/04/2011 04:29 PM, Scott Henninger wrote:
I recognize that I hacked that in quite ugly. Mostly to avoid doing http lookups for these files. I will investigate how to do this cleanly.Jerven; First of all the file you sent uses the base URI of a SPIN system file - http://spinrdf.org/sp - meaning that your skos_test.ttl file will be used instead of a system SPIN file. I.e. SPIN won't work properly because it will look to your file for SPIN definitions. You need to change the base URI of the skos_test.ttl file. I'd suggest re- starting Composer after doing that. For more on how Composer uses Web server standards to name files with URLs (the base URI) see http://www.topquadrant.com/products/TBS_FAQ.html#TBC11.
(I do realize you are using the API and not Composer, but the mechanisms are the same.)
Second, the SKOS constraints are defined for skos:Concept and apply to all entailed members of that class - i.e. all members of subclasses. Therefore if you make the class :Gene a owl:Class and a rdfs:subClassOf skos:Concept, a constraint violation warning will be raised for the instance you cite in your question.
This is a smack forehead moment for me ;) thanks for pointing it out.
Lastly, in RDF language tags are allowed only on plain (untyped) literals in RDF. You cannot have a typed literal with a language tag - this is just part of the RDF standard. Although not the most intuitive, it does make sense. Anything that requires a language tag is most likely a string, and given the syntax there really isn't a way to specify both a type and a language tag. One way of looking at this is that RDF literals come in three forms: - untyped literals, e.g. "foo" - typed literals, e.g. "foo"^^xsd:string - language tagged literals, e.g. "foo"@en
This makes complete sense, thanks. Regards, Jerven
-- Scott On Aug 4, 7:30 am, Jerven Bolleman<[email protected]> wrote:Dear TopBraid/SPIN-API developers, This might be more of a Jena question than a SPIN-API one. In SKOS one can not have to different prefferedLabels on a single resource. i.e. "Constraint S14: a resource has no more than one value of skos:prefLabel per language tag (@" However for some reason this does not get trigged on the following data @prefix skos:<http://www.w3.org/2004/02/skos/core#> . @prefix :<http://purl.uniprot.org/core/> <http://purl.uniprot.org/uniprot/P00001#_503030303031001> a :Gene ; skos:prefLabel "two"@en , "one"@en . Because the sparql in the spin implementation for this rule seems correct I am wondering if the lack of a ^^xsd:string datatype is the problem. If that is the case I will need to ask the Jena mailing list on how to get both a language tag and a datatype on the same literal. I attached everything in a single ttl file. Regards, Jerven skos_test.ttl 278KViewDownload jerven_bolleman.vcf < 1KViewDownload
-- You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include TopBraid Composer, TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/topbraid-users?hl=en
<<attachment: jerven_bolleman.vcf>>
