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> 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> ;
>   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
>>>
>>> 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
>>>
>>> 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.
> 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/topbraid-users/CABfSiRPnHm%3D9Rtj90ooPVeU2ZM4VmfuCh%3DhODqBF4sKFSjw6-A%40mail.gmail.com.

Reply via email to