I am confused. Do you have conceptA and Content A or is it a typo?

If ContentA is a corpus:Document, you should see corpus:topic values on its 
form.

> On Jul 14, 2020, at 5:41 PM, Simon Opper <simon.op...@surroundaustralia.com> 
> wrote:
> 
> Hi Holger
> 
> A simple use case of viewing corpus topics is if the tagset is imported into 
> a datagraph. How are the values of the content and corresponding tag shown on 
> a form.
> 
> E.g.  
> Content1 corpus:topic conceptA
> Content 1 corpus:topic conceptB
> 
> 
> For example, if I have a form in the datagraph that references the URL of 
> Content1. How can the above corpus:topic triples be used to generate an 
> inference in a form to list all existing tags for Concent1 (e.g. content A 
> and B) ?
> 
> The only way I've been able to do this is to construct new instances of a 
> class with new properties
> 
> e.g. something like
> 
> Content1 a corpus:Document ;
> corpus:hasTopic Content A ;
> corpus:hasTopic Content B .
> 
> But this just leads to a lot of information bloat.
> 
> On the fly inferences are preferred.
> 
> Cheers mate
> 
> Simon
> 
> 
> 
> 
> 
> On Tue, Jul 14, 2020 at 3:18 PM Rob Atkinson 
> <rob.atkin...@surroundaustralia.com 
> <mailto:rob.atkin...@surroundaustralia.com>> wrote:
> 
> Sorry didnt get back to this..
> 
> the shape declaration looks like:
> 
> ex:MyClass-pshape
>   a sh:PropertyShape ;
>   sh:path <http://topbraid.org/corpus#topic 
> <http://topbraid.org/corpus#topic>> ;
>   sh:class skos:Concept ;
>   sh:description "Concept used to tag objects in this document" ;
>   sh:nodeKind sh:IRI ;
> .
> 
> 
> the other thing that happens is that if you add topic to the search results 
> display as an extra column it is blank - and inspection of the network 
> traffic shows the underlying graphql query is returning topic:[] incorrectly 
> for everything.
> 
> 
> 
> On Thursday, July 2, 2020 at 5:53:43 PM UTC+10 Holger Knublauch wrote:
> Is topic an object property shape or a literal-valued one? (Can you show the 
> shape declarations).
> 
> Holger
> 
> 
> 
> On 2/07/2020 5:32 pm, Rob Atkinson wrote:
>>  
>> {
>>   clauseSections(where: {
>>     topic: { 
>>       exists: {
>>              label: {pattern: "ID4"}
>>                                      }
>>                      }
>>      }) {
>>     rdfs_label
>>     topic {
>>       label
>>     }
>>     uri
>>   }
>> }
>> 
>> => 
>> 
>> {
>>   "errors": [
>>     {
>>       "message": "Validation error of type WrongType: argument 'where.topic' 
>> with value 'ObjectValue{objectFields=[ObjectField{name='topic', 
>> value=ObjectValue{objectFields=[ObjectField{name='exists', 
>> value=ObjectValue{objectFields=[ObjectField{name='label', 
>> value=ObjectValue{objectFields=[ObjectField{name='pattern', 
>> value=StringValue{value='ID4'}}]}}]}}]}}]}' contains a field not in 
>> 'ClauseSection_where_topic': 'exists'",
>>       "locations": [
>>         {
>>           "line": 2,
>>           "column": 18
>>         }
>>       ]
>>     }
>>   ]
>> }
>> 
>> 
>> 
>> 
>> 
>> On Thursday, July 2, 2020 at 5:24:02 PM UTC+10 Holger Knublauch wrote:
>> 
>> 
>> On 2/07/2020 17:15, Rob Atkinson wrote:
>>> 
>>> After some fiddling I can return data from a content tag set 
>>> 
>>> with a query like this
>>> 
>>> {
>>>   clauseSections(where: {rdfs_label: {pattern: "def"} 
>>>   } ) {
>>>     rdfs_label
>>>     topic {
>>>       label
>>>     }
>>>     uri
>>>   }
>>> }
>>> 
>>> This successfully returns details from the linked topic.
>>> 
>>> But I cant get a query to work the restricts the subjects by properties of 
>>> the topics. I cant find examples of syntax for:
>> 
>> The fallback for any type of filter is SPARQL:
>> 
>> https://www.topquadrant.com/graphql/graphql-queries.html#sparql 
>> <https://www.topquadrant.com/graphql/graphql-queries.html#sparql>
>> Did you try that?
>> 
>>> 
>>> 1) filtering main object on properties of nested objects
>> 
>> Similar to this? 
>> https://www.topquadrant.com/graphql/graphql-queries.html#where 
>> <https://www.topquadrant.com/graphql/graphql-queries.html#where>
>>> 2) filtering if a value is present ( _is_null) 
>> 
>> To check for non-existence of a property, you can probably use maxCount 0
>> 
>> {
>>   concepts(where: { 
>>     hidden: {
>>         maxCount: 0
>>       }}) {
>>     uri
>>   }
>> }
>> 
>>> 3) combining (AND and OR) filters 
>> 
>> Use SPARQL for that. GraphQL isn't meant as a complete replacement without 
>> "help" - its benefit is simplicity for the average web developer.
>> 
>>> 
>>> Also, I created property shapes for the subject root class and tagging 
>>> property in order to make this work to retrieve details of , but perhaps 
>>> there is some way of making this happen (I created and ran SHACL rules to 
>>> enforce this.. so its repeatable - but have I duplicated something?)
>> 
>> Sounds good. The GraphQL engine is based on the presence of SHACL 
>> definitions, so if no such property shapes exist, the engine will not offer 
>> GraphQL fields.
>> 
>> Holger
>> 
>> 
>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> 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 topbraid-user...@googlegroups.com <>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/topbraid-users/deda2c9b-08c1-4d51-8dfa-cde898e02c04n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/topbraid-users/deda2c9b-08c1-4d51-8dfa-cde898e02c04n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>> -- 
>> 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 topbraid-user...@googlegroups.com <>.
> 
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/topbraid-users/23302d9c-5e26-4b11-8449-7491452b402bn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/23302d9c-5e26-4b11-8449-7491452b402bn%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> 
> -- 
> 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 topbraid-users+unsubscr...@googlegroups.com 
> <mailto:topbraid-users+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/topbraid-users/e9612855-1c65-46ec-a443-0543995dee60n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/e9612855-1c65-46ec-a443-0543995dee60n%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> -- 
> 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 topbraid-users+unsubscr...@googlegroups.com 
> <mailto:topbraid-users+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/topbraid-users/CABfSiRPnHm%3D9Rtj90ooPVeU2ZM4VmfuCh%3DhODqBF4sKFSjw6-A%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/CABfSiRPnHm%3D9Rtj90ooPVeU2ZM4VmfuCh%3DhODqBF4sKFSjw6-A%40mail.gmail.com?utm_medium=email&utm_source=footer>.

-- 
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 topbraid-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/topbraid-users/35D6D3A1-B948-4917-9BEC-06FD15498558%40topquadrant.com.

Reply via email to