Skos inference with subject indexing


(Orval Touitou) #1

According to the skos reference, when indexing a resource with a concept, it should be infered that this resource is indexed by the broader concepts aswell.

:Bird a skos:Concept; skos:broader :Animal.
:Animal a skos:Concept; skos:broader :LivingThing.
:owl skos:subject :Bird.

However, when the triples above are inserted into a Stardog database with the skos archetype, the following sparql query does not return the expected results as it doesn’t return anything :

select * { ?s skos:subject :Animal }

Why is it ? Am I missing or misunderstanding something?


(zachary.whitley) #2

skos:subject did not make it to the final recommendation. See Appendix D. at https://www.w3.org/TR/2009/REC-skos-reference-20090818/

The version you linked to was an old editor’s draft.


(Lorenz B.) #3

How should Stardog know about the inference? It’s not a standard like RDFS or OWL and even inference for that would have to be enabled first.
Reasoning in Skos is trivial, just create and add the inference rules you’re interested in.

Or rewrite your SPARQL query to
select * { ?s skos:subject/skos:broader* :Animal }


(zachary.whitley) #4

SKOS is a standard in exactly the same way that RDF and OWL are standards.

You can add any inferencing rules you’d like but it’s highly discouraged to do so under a namespace that you don’t control such as skos:subject and should be done under a namespace you do control like my:subject or you can simply use dc:subject. skos:subject was originally a sub property of dc:subject.


(Lorenz B.) #5

The TO was asking why inference doesn’t work with his query - I said because this kind of reasoning is not a built-in reasoning profile like for OWL, RDFS, etc. which is formally defined … what’s wrong with my statement?

I also think that simply using property paths might be enough. If not, just the rules he needs would also work as already stated in my previous comment.

By the way, from the SKOS W3C recommendation, the entailment the TO was asking for is not intended by SKOS, see here:

<A> skos:broader <B> .
<B> skos:broader <C> .

does not entail
<A> skos:broader <C> .

(system) #6

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.