Hi Miroslav,

yes we do have a built-in magic property for that purpose. See TBC Help

    TopBraid Composer > Reference > TopBraid's SPARQL Property Functions

scroll to tops:constructRDFList

HTH
Holger


On 11/19/2015 20:48, Miroslav Blasko wrote:
Hi,

i would like to create OWL2 axioms with SPARQL construct query that is using rdf collections. I will demonstrate the idea on an example.

Lets imagine that i have an ontology of Fruit and Vegetable shops with following OWL classes :

Shop
   FruitShop
   VegetableShop
Food
    Fruit
        Apple
        Pear
        Banana
    Vegetable
        Carrot
        Cabbage



By querying the ontology I would like to create axiom that state what types of fruits is fruit shop selling (and possibly what type of vegetables can be vegetable-shop selling) i.e. i would like to say :

:FruitShop
  rdf:type owl:Class ;
  rdfs:subClassOf [
      rdf:type owl:Restriction ;
      owl:allValuesFrom [
          rdf:type owl:Class ;
          owl:unionOf (
              :Pear
              :Apple
              :Banana
            ) ;
        ] ;
      owl:onProperty :hasFruit ;
    ] ;



Would it be somehow possible to construct such OWL axiom using some "SPIN" func/template/magic properties ? I am thinking of something like this :

CONSTRUCT {

?shop  rdf:type owl:Class .
?shop  rdfs:subClassOf  _:restriction .
_:restriction rdf:type owl:Restriction .
_:restriction owl:allValuesFrom _:union .
_:union rdf:type owl:Class .
_:union  owl:unionOf *?coll_head* .
*?coll_subj ?coll_pred ?coll_obj .*
_:restriction owl:onProperty :hasFruit .

} WHERE {

   ?shop rdfs:subClassOf :Shop .
   ?food rdfs:subClassOf :Food .
   (FILTER ?shop = :FruitShop)
   (FILTER ?food = :Fruit)

   ?specificFood rdfs:subClassOf ?food .

*(?shop ?specificFood) :collectionConstructorMagicProperty (?coll_head ?coll_subj ?coll_pred ?coll_obj) . *

}

Note that my goal is not to create this specific query, but to create some helper vocabulary based on SPIN, that would help me construct tqueries that needs to construct such dynamic rdf collection (e.g. for making OWL axiom closures etc..)

Thank you,
Cheers,
Miroslav
--
You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), Reference Data Manager (RDM), TopBraid Composer, TopBraid Live, TopBraid Insight, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
---
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Group "TopBraid 
Suite Users", the topics of which include Enterprise Vocabulary Network (EVN), 
Reference Data Manager (RDM), TopBraid Composer, TopBraid Live, TopBraid Insight, 
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to [email protected]
--- You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to