[topbraid-users] TopQuadrant is Hiring!

2022-04-04 Thread Irene Polikoff
Dear colleagues,

TopQuadrant is extending its team. We actively interviewing and are excited 
about growth we've been experiencing over the last year. Currently, we have 
open positions in Customer Success/Professional Services, Product Development 
and Technical Sales. All positions will let you work remotely.

If you have been enjoying using our products and are interested in exploring 
opportunities at TopQuadrant, check out this page: 
https://topquadrant.freshteam.com/jobs/ 
<https://topquadrant.freshteam.com/jobs/>. 

If you know someone who is not on this list, but may be interested, we will 
appreciate you forwarding this e-mail to them.

Thanks,

Irene Polikoff

-- 
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/82BCF35A-E311-4161-88FC-EED324E9113D%40topquadrant.com.


Re: [topbraid-users] superclass online

2021-12-24 Thread Irene Polikoff
Yes, it is expected. The data displayed is the data available to the tool.

What is available is {?r rdfs:subClassOf 
https://w3id.org/nen2660/def#PhysicalObject} statement and this is what the 
form in TBC displays.

The statement that {https://w3id.org/nen2660/def#PhysicalObject rdfs:label 
“Gebouw”} is not part of the data loaded into the tool. It is located somewhere 
else. If you want statements “from somewhere else” to be also loaded, you need 
to indicate this using owl:imports.

> On Dec 23, 2021, at 4:57 PM, David Price  wrote:
> 
> You must owl:import ontologies (ie named graphs) in TBC.
> 
> The ontology may be dereferenced, but not individual classes.
> 
> Cheers,
> David
> 
>> On 23 Dec 2021, at 11:57, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>  wrote:
>> 
>> 
>> I have an ontology with a class “Gebouw” that is subclassof the 
>> nen2660:PhysicalObject class available online:
>>  
>> https://w3id.org/nen2660/def#PhysicalObject 
>> 
>>  
>> (ie the latter is dereferenceable, or well … that is the intention).
>>  
>> In TBC however I do not see the superclass:
>> 
>>  
>> 
>>  
>> Is that expected behaviour (ie only superclass visible when explicitly 
>> imported)?
>>  
>> Or do I have to improve the dereferenceability somehow, ie wrt negotiation…?
>>  
>> Thx Michel
>>  
>>  
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl    
>> Location 
>> 
>>  
>>  
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the content of this e-mail, for the manner in which you use it 
>> and for damage of any kind resulting from the risks inherent to the 
>> electronic transmission of messages. 
>>  
>> 
>> -- 
>> 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/fa21ce68043a4a6e86d6140492b7aa07%40tno.nl
>>  
>> .
> 
> 
> -- 
> 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/E129CDCA-5569-4293-A6C4-B14CF7637A48%40topquadrant.com
>  
> .

-- 
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/4BF69EDB-A824-43E4-AF13-A91174887763%40topquadrant.com.


Re: [topbraid-users] The Manage-Delete and Manage-Clear menu options have disappeared

2021-12-16 Thread Irene Polikoff
Yes, viewers can’t make changes

> On Dec 16, 2021, at 4:25 PM, Steve Ray  wrote:
> 
> That setting is indeed set. 
> 
> That was the issue, because I just tried setting it on my new collection and 
> the options again disappeared. Somehow, I had been trying to configure things 
> so that users with view only permissions could not make changes to the 
> ontology. I suppose that is already enforced by virtue of the view role?
> 
> 
> Steve
> 
> 
> 
> 
> On Thu, Dec 16, 2021 at 1:21 PM Taryn Madey  <mailto:tma...@topquadrant.com>> wrote:
> There is a setting for read-only on the manage tab. If checked then those 
> options are removed. The collection should also be read-only in the editor. 
> Is this the issue?
> 
> On Thu, Dec 16, 2021 at 4:11 PM Steve Ray  <mailto:st...@steveray.com>> wrote:
> Yes, the menu options appear with a new ontology.
> Any way to repair the existing one, or should I just recreate it?
> 
> Steve
> 
> 
> 
> 
> On Thu, Dec 16, 2021 at 1:09 PM Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> I don’t think it is related to permissions. 
> 
> Try creating a new ontology to see if features appear there.
> 
>> On Dec 16, 2021, at 3:54 PM, Steve Ray > <mailto:st...@steveray.com>> wrote:
>> 
>> ...and here's a view of the EDG Permissions page, showing the SHACL Schema 
>> Customizations collection, which is the ontology
>> 
>> 
>> Steve
>> 
>> 
>> 
>> 
>> On Thu, Dec 16, 2021 at 12:45 PM Irene Polikoff > <mailto:ir...@topquadrant.com>> wrote:
>> If it was a permissions problem, Steve would not be able to see the Manage 
>> tab.
>> 
>> As David said, all these options are still there. I can’t think of a reason 
>> as to why they would not be shown other than someone deactivated them for 
>> this asset collection by using Manage>Configure Features.
>> 
>> However, such disabling has no effect on the Administrator user, they would 
>> still see all the features. A more “permanent” disabling could be done in 
>> SWP code.
>> 
>>> On Dec 16, 2021, at 2:20 PM, David Price >> <mailto:dpr...@topquadrant.com>> wrote:
>>> 
>>> That sounds like a permissions problem where you do not have Editor or 
>>> Manager privileges OR maybe you need to clear browser cache as you have a 
>>> mix of old and new EDG JS code running. 
>>> 
>>> Manage/Clear and Manage/Delete are still there.
>>> 
>>> There was never a Settings/Import feature so not sure what you mean with 
>>> that - Settings/Includes perhaps? 
>>> 
>>> Imports is a tab on its own with Import RDF File, etc.
>>> 
>>> Cheers,
>>> David
>>> 
>>>> On 16 Dec 2021, at 19:05, Steve Ray >>> <mailto:st...@steveray.com>> wrote:
>>>> 
>>>> Admittedly, it was July that I last updated one of our EDG Collections, 
>>>> but when I went to update it today (now using EDG 7.0.3) I no longer find 
>>>> the Manage-Clear menu option, which I used to use before, followed by 
>>>> Settings-Import to upload the latest version (also no longer present).
>>>> 
>>>> I have looked through the 7.0 documentation but clearly not in the right 
>>>> place, because I can't find how I'm supposed to do this now. Could you 
>>>> point me to the right document?
>>>> 
>>>> Thanks,
>>>> 
>>>> Steve
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 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/CAGUep87oTST1i2v3vb1zejXHECHqK7kD-e3dZTw2BS7MQtrd2g%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/d/msgid/topbraid-users/CAGUep87oTST1i2v3vb1zejXHECHqK7kD-e3dZTw2BS7MQtrd2g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>> 
>>> UK +44 (0) 7788 561308
>>> US +1 (336) 283-0808‬
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "TopBraid Suite Users" group.
>>> To unsub

Re: [topbraid-users] The Manage-Delete and Manage-Clear menu options have disappeared

2021-12-16 Thread Irene Polikoff
I don’t think it is related to permissions. 

Try creating a new ontology to see if features appear there.

> On Dec 16, 2021, at 3:54 PM, Steve Ray  wrote:
> 
> ...and here's a view of the EDG Permissions page, showing the SHACL Schema 
> Customizations collection, which is the ontology
> 
> 
> Steve
> 
> 
> 
> 
> On Thu, Dec 16, 2021 at 12:45 PM Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> If it was a permissions problem, Steve would not be able to see the Manage 
> tab.
> 
> As David said, all these options are still there. I can’t think of a reason 
> as to why they would not be shown other than someone deactivated them for 
> this asset collection by using Manage>Configure Features.
> 
> However, such disabling has no effect on the Administrator user, they would 
> still see all the features. A more “permanent” disabling could be done in SWP 
> code.
> 
>> On Dec 16, 2021, at 2:20 PM, David Price > <mailto:dpr...@topquadrant.com>> wrote:
>> 
>> That sounds like a permissions problem where you do not have Editor or 
>> Manager privileges OR maybe you need to clear browser cache as you have a 
>> mix of old and new EDG JS code running. 
>> 
>> Manage/Clear and Manage/Delete are still there.
>> 
>> There was never a Settings/Import feature so not sure what you mean with 
>> that - Settings/Includes perhaps? 
>> 
>> Imports is a tab on its own with Import RDF File, etc.
>> 
>> Cheers,
>> David
>> 
>>> On 16 Dec 2021, at 19:05, Steve Ray >> <mailto:st...@steveray.com>> wrote:
>>> 
>>> Admittedly, it was July that I last updated one of our EDG Collections, but 
>>> when I went to update it today (now using EDG 7.0.3) I no longer find the 
>>> Manage-Clear menu option, which I used to use before, followed by 
>>> Settings-Import to upload the latest version (also no longer present).
>>> 
>>> I have looked through the 7.0 documentation but clearly not in the right 
>>> place, because I can't find how I'm supposed to do this now. Could you 
>>> point me to the right document?
>>> 
>>> Thanks,
>>> 
>>> Steve
>>> 
>>> 
>>> 
>>> -- 
>>> 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/CAGUep87oTST1i2v3vb1zejXHECHqK7kD-e3dZTw2BS7MQtrd2g%40mail.gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/topbraid-users/CAGUep87oTST1i2v3vb1zejXHECHqK7kD-e3dZTw2BS7MQtrd2g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>> 
>> UK +44 (0) 7788 561308
>> US +1 (336) 283-0808‬
>> 
>> 
>> -- 
>> 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/992E5A34-8923-47F2-91FC-7C787828160C%40topquadrant.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/992E5A34-8923-47F2-91FC-7C787828160C%40topquadrant.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/0CEEDA38-2DBD-41C1-AC75-462867B81B30%40topquadrant.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/0CEEDA38-2DBD-41C1-AC75-462867B81B30%40topquadrant.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...@go

Re: [topbraid-users] The Manage-Delete and Manage-Clear menu options have disappeared

2021-12-16 Thread Irene Polikoff
If it was a permissions problem, Steve would not be able to see the Manage tab.

As David said, all these options are still there. I can’t think of a reason as 
to why they would not be shown other than someone deactivated them for this 
asset collection by using Manage>Configure Features.

However, such disabling has no effect on the Administrator user, they would 
still see all the features. A more “permanent” disabling could be done in SWP 
code.

> On Dec 16, 2021, at 2:20 PM, David Price  wrote:
> 
> That sounds like a permissions problem where you do not have Editor or 
> Manager privileges OR maybe you need to clear browser cache as you have a mix 
> of old and new EDG JS code running. 
> 
> Manage/Clear and Manage/Delete are still there.
> 
> There was never a Settings/Import feature so not sure what you mean with that 
> - Settings/Includes perhaps? 
> 
> Imports is a tab on its own with Import RDF File, etc.
> 
> Cheers,
> David
> 
>> On 16 Dec 2021, at 19:05, Steve Ray > > wrote:
>> 
>> Admittedly, it was July that I last updated one of our EDG Collections, but 
>> when I went to update it today (now using EDG 7.0.3) I no longer find the 
>> Manage-Clear menu option, which I used to use before, followed by 
>> Settings-Import to upload the latest version (also no longer present).
>> 
>> I have looked through the 7.0 documentation but clearly not in the right 
>> place, because I can't find how I'm supposed to do this now. Could you point 
>> me to the right document?
>> 
>> Thanks,
>> 
>> Steve
>> 
>> 
>> 
>> -- 
>> 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/CAGUep87oTST1i2v3vb1zejXHECHqK7kD-e3dZTw2BS7MQtrd2g%40mail.gmail.com
>>  
>> .
> 
> UK +44 (0) 7788 561308
> US +1 (336) 283-0808‬
> 
> 
> -- 
> 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/992E5A34-8923-47F2-91FC-7C787828160C%40topquadrant.com
>  
> .

-- 
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/0CEEDA38-2DBD-41C1-AC75-462867B81B30%40topquadrant.com.


Re: [topbraid-users] Properties shapes in ReadOnly (instances) and not displayed on classes.

2021-11-26 Thread Irene Polikoff
You can select the class, then use Explore -> Find Usages in Other Asset 
Collections

> On Nov 25, 2021, at 7:35 PM, Rob Atkinson  wrote:
> 
> but we want to be able to navigate the classes to find the instances

-- 
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/5D771780-D541-4755-ADFF-989C304D15D0%40topquadrant.com.


Re: [topbraid-users] sparql question

2021-11-26 Thread Irene Polikoff
Sorry, we can’t really get involved in debugging complex queries.

In general, using a filter in these situations should be unnecessary and is an 
anti-pattern since the query engine needs to pick all triples and then filter. 
It is much better to use the same variables.

The way OPTIONAL and FILTER are combined in this example does not make sense to 
me.  For example, you say that mengselType1 must be bound but mengselType2 can 
be unbound, but then you use FILTER to check that they are the same.


> On Nov 25, 2021, at 2:51 PM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> 
> Hu Holger,
>  
> It seems that only having ‘multiple object variables + filters’ gives the 
> right result.
>  
> So:
>  
> SELECT ?spec ?bpsWeg1 ?mengselType1 ?bpsStartKilometrering1 
> ?eisvoormengseltype ?minhol ?maxhol ?eiszeef2 ?eiszeef0dot063 ?minbind 
> ?monster ?locatie ?monsterLaag ?laag ?bitumenSoort ?verdichtingsgraad 
> ?holleruimtePercentage ?bindmiddelPercentage ?doorZeef2millimPercentage 
> ?doorZeef63micromPercentage ?jaar ?somVanRafeling
> {
>   ?spec rdf:type sa:OntwerpSpecificatie .
>   ?spec sa:bpsWeg ?bpsWeg .
>   ?spec sa:mengselVoldoetAanDeEisenVoor ?eisvoormengseltype .
>   ?spec sa:minimumPercentageHolleRuimte ?minhol .
>   ?spec sa:maximumPercentageHolleRuimte ?maxhol .
>   ?spec sa:algemeneEisPercentageDoorZeef2mm ?eiszeef2 .
>   ?spec sa:algemeneEisPercentageDoorZeef0dot063mm ?eiszeef0dot063 .
>   ?spec sa:minimalePercentageBindmiddel ?minbind .
>   ?monster rdf:type sa:Monster .
>   ?monster sa:bpsWeg ?bpsWeg1 .
>   OPTIONAL { ?monster sa:bpsStartKilometrering ?bpsStartKilometrering1 } .
>   ?monster sa:locatie ?locatie .
>   ?monster nen2660:hasPart ?monsterLaag .
>   ?monsterLaag rdf:type sa:MonsterLaag .
>   ?monsterLaag sa:mengselType ?mengselType1 .
>   ?monsterLaag sa:laag ?laag .
>   ?monsterLaag sa:bitumenSoort ?bitumenSoort .
>   OPTIONAL { ?monsterLaag sa:verdichtingsgraad ?verdichtingsgraad } .
>   OPTIONAL { ?monsterLaag sa:holleruimtePercentage ?holleruimtePercentage } .
>   OPTIONAL { ?monsterLaag sa:bindmiddelPercentage ?bindmiddelPercentage } .
>   OPTIONAL { ?monsterLaag sa:doorZeef2millimPercentage 
> ?doorZeef2millimPercentage } .
>   OPTIONAL { ?monsterLaag sa:doorZeef63micromPercentage 
> ?doorZeef63micromPercentage } .
>   ?meting rdf:type sa:MonitoringMeting .
>   OPTIONAL { ?meting sa:surfaceOmschrijving ?mengselType2 } .
>   ?meting sa:jaar ?jaar .
>   ?meting sa:bpsWeg ?bpsWeg2 .
>   ?meting sa:bpsStartKilometrering ?bpsStartKilometrering2 .
>   OPTIONAL { ?meting sa:somVanRafeling ?somVanRafeling } .
>   FILTER (?mengselType1 = ?mengselType2) .
>   FILTER (?bpsWeg1 = ?bpsWeg2) .
>   FILTER (?bpsStartKilometrering1 = ?bpsStartKilometrering2) .
> }
>  
> So, the red way gives the right results.
>  
> The result where there is only one ?bpsWeg, one ?bpsMengselType en one 
> ?bpsStartKilometring without filter gives many unwanted results.
>  
> I thought it would be equivalent. Guess not….(maybe related to optional 
> attributes?)
>  
> Gr Michel
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl
> Location
> 
>  
> 
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages.
>  
> From: Bohms, H.M. (Michel) 
> Sent: Thursday 25 November 2021 7:31 PM
> To: 'topbraid-users@googlegroups.com' 
> Subject: RE: [topbraid-users] sparql question
>  
> Yes it was ☹
>  
> Still a lot of (now changed) results that I have to check….
>  
> Can I derive that it should work in the end using this approach (involving a 
> common object variable)?
> Ie I do not need to use multiple variables and then FILTER them out based on 
> equalness?
>  
> Thx Michel
>  
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl
> Location
> 
>  
> 
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages.
>  
> From: topbraid-users@googlegroups.com  On 
> Behalf Of Holger Knublauch
> Sent: Thursday 25 November 2021 1:53 AM
> To: topbraid-users@googlegroups.com
> Subject: Re: [topbraid-users] sparql question
>  
> Is this a typo ?bpsStartkilometrering vs ?bpsStartKilometrering (uppe

Re: [topbraid-users] Properties shapes in ReadOnly (instances) and not displayed on classes.

2021-11-24 Thread Irene Polikoff
We recommend putting instances into a graph different from an ontology e.g., 
into a taxonomy, reference dataset, data graph and many other asset collection 
types available in EDG.

If you create instances in an ontology, by default, only label and comment will 
be editable. This can be changed on the Manage tab by checking the box shown 
below:




> On Nov 24, 2021, at 7:16 PM, Holger Knublauch  wrote:
> 
> Sorry I don't think I understand your exact scenario. Could you elaborate a 
> bit? Are you using Ontologies or some instance asset collection such as Data 
> Graphs/Taxonomies? That impacts which properties are editable. And on your 
> first question, what do you mean they are not displayed?
> 
> Some concrete example snippets would help.
> 
> Thanks,
> Holger
> 
> 
> 
> On 2021-11-25 3:05 am, bostoM wrote:
>> Hi folks,
>> 
>>I have two questions : 
>> I defined Node shapes with some properties shapes. When I try to use this 
>> NodeShape in an external ontologies (instances) I have my constraints 
>> applied correctly on my owl:Class but not displayed.
>> I create instances, now, the properties are displayed but "read-only" and I 
>> can't edit the values of these properties.
>> Thanks for your help and explanation.
>> 
>> Best,
>> -- 
>> 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/8270ef30-e3ed-4192-b09c-ef1a154cdee2n%40googlegroups.com
>>  
>> .
> 
> 
> -- 
> 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/e8ff942a-46a7-5322-d9b3-4d1a4e07b7ce%40topquadrant.com
>  
> .

-- 
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/23246081-BAA0-4A18-AC50-56902499FF86%40topquadrant.com.


Re: [topbraid-users] How to set the display icon for a class?

2021-11-19 Thread Irene Polikoff
Hi Tim,

Please see https://datashapes.org/propertyroles.html#IconRole 

This requires 7.1. 

> On Nov 19, 2021, at 10:53 AM, Tim Smith  wrote:
> 
> Hi,
> 
> I would like to be able to change the icon for instances (from the purple 
> diamond) to a custom icon based on class membership - e.g. like I see with 
> instances of edg:BusinessFunction.
> 
> Is it possible to assign an icon to a class?  If so, how would I do this?
> 
> Thanks,
> 
> Tim
> 
> 
> -- 
> 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/CAF0WbnJiPN_FrWv%2BEM8cazFFct-HpAkWuH1%3DAz1B_hKn3rBDDQ%40mail.gmail.com
>  
> .

-- 
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/35D68A64-92AB-4CB5-8A82-1F3B4628BA2E%40topquadrant.com.


Re: [topbraid-users] TopBraid 7.1 Public Beta Announcement

2021-11-11 Thread Irene Polikoff


> On Nov 11, 2021, at 6:30 PM, Tim Smith  wrote:
> 
> Ok... So for clarity...
> Should a beta release work without a TSM?
No, because, in their capabilities, beta releases are no different from the 
generally available product. The product requires a current license - whether 
it is a beta or not.
> Is the only way to access EDG is to purchase a (very expensive) server 
> license even though the need is for a single user?

Not quite. Let me provide a bit more information.

The first thing to say is that TopBraid EDG was never designed as a tool for 
single users. Its bundling with TBC served two purposes:

1. An IDE for developers creating customizations and/or preparing data for EDG. 

This need is now addressed by the TopBraid EDG Studio in a way that we believe 
to be better than what was possible with TBC

2. Some users were using it in order to explore and evaluate EDG prior to the 
purchase which, as you say, requires a more significant commitment than TBC.

This need could be addressed by requesting an evaluation server from 
TopQuadrant. It is true that this would be for a limited period e.g., a month 
or two. However, this approach is not unique to TQ. It is pretty much industry 
standard.

Beyond the beta, there is no technical reason why we could not license TopBraid 
EDG Studio to users who do not have EDG. We have not made this option available 
at the time of 7.1 beta because we are still considering what would work best 
for our user community and for TQ. We also are looking at other alternatives 
that may be better aligned with our move towards SaaS e.g., offering a hosted 
“Community Edition” of EDG that would have more limited features.

In the meantime, we appreciate users input on what they would prefer and why.

> If #2 is true, that's an interesting but not unexpected business decision as 
> I had sensed some bristling over the last couple of years at the notion of 
> people using TBC-EDG as a personal EDG instance vs strictly for EDG server 
> development. 

As stated in the release notes, running EDG within TBC was never exactly the 
same as running EDG server. Supporting this mode complicated certain aspects of 
our codebase and still was not 100% the same. We decided to simplify the code 
in order to provide more reliable, maintainable and better optimized software 
for our customers. For example, EDG Studio does not have any Eclipse in it and 
it does not use Jetty.

At the same time, for users who are only interested in TBC having EDG in TBC 
delivered no value and, instead, created some inconveniences for them e.g., 
slow start up due to the need to initialize the server.

So, after careful consideration we decided to separate the two tools. It is a 
change and changes can take getting used to. However, we believe it is a change 
for the better and we do not intend it to leave any current or perspective 
customers in the dark. Functionally, the same options exists with 7.1 and we 
are actually considering what else we could offer to the community.

> You have effectively eliminated the growth path for customers like me to 
> demonstrate enough value to warrant the large investment in a server version. 
>  Hopefully other RDF/SHACL engine providers will seize on the model-driven 
> user experience to support a broader array of use cases.  
> 
> On Thursday, November 11, 2021 at 5:12:13 PM UTC-5 Irene Polikoff wrote:
> Hi Tim,
> 
> 7.1 Release separates EDG from TBC. With 7.1:
> 
> TBC users can continue to use TBC for ontology modeling, RDF data and SPARQL 
> query. However, starting with 7.1 TBC will no longer serve as an IDE for EDG 
> 7.1. Thus, EDG is not available. 
> A separate, new IDE for EDG is provided. It is called TopBraid EDG Studio. If 
> your organization is a user of EDG, you will get EDG Studio licenses for each 
> TBC license.
> In other words, if an organization has TopBraid EDG and has also procured 3 
> TBC-ME licenses for its power users/developers, it will get 3 TopBraid Studio 
> licenses co-termed with the EDG license. 
> 
> TopQuadtrant will e-mail new licenses to all users when 7.1 is officially 
> released. During the beta test period, we will provide TopBraid EDG Studio 
> licenses on request to any EDG customers interested in participating in beta 
> testing.
> 
> We are running webinar next week to get users more familiar with all aspects 
> of 7.1. Please sign up to learn more:
> 
> Next Tuesday for the US 
> https://www.topquadrant.com/whats-new-in-topbraid-edg-7-1/ 
> <https://www.topquadrant.com/whats-new-in-topbraid-edg-7-1/>
> Next Thursday for Europe 
> https://www.topquadrant.com/european-run-whats-new-in-topbraid-edg-7-1/ 
> <https://www.topquadrant.com/european-run-whats-new-in-topbraid-edg-7-1/> and 
> Asia Pacific 
> https://www.topquadrant.com/asia-pac-run-whats-new-in-topbraid-

Re: [topbraid-users] TopBraid 7.1 Public Beta Announcement

2021-11-11 Thread Irene Polikoff
Hi Tim,

7.1 Release separates EDG from TBC. With 7.1:

TBC users can continue to use TBC for ontology modeling, RDF data and SPARQL 
query. However, starting with 7.1 TBC will no longer serve as an IDE for EDG 
7.1. Thus, EDG is not available. 
A separate, new IDE for EDG is provided. It is called TopBraid EDG Studio. If 
your organization is a user of EDG, you will get EDG Studio licenses for each 
TBC license.
In other words, if an organization has TopBraid EDG and has also procured 3 
TBC-ME licenses for its power users/developers, it will get 3 TopBraid Studio 
licenses co-termed with the EDG license. 

TopQuadtrant will e-mail new licenses to all users when 7.1 is officially 
released. During the beta test period, we will provide TopBraid EDG Studio 
licenses on request to any EDG customers interested in participating in beta 
testing.

We are running webinar next week to get users more familiar with all aspects of 
7.1. Please sign up to learn more:

Next Tuesday for the US 
https://www.topquadrant.com/whats-new-in-topbraid-edg-7-1/ 

Next Thursday for Europe 
https://www.topquadrant.com/european-run-whats-new-in-topbraid-edg-7-1/ 
 and 
Asia Pacific 
https://www.topquadrant.com/asia-pac-run-whats-new-in-topbraid-edg-7-1/ 
. 

Regards,

Irene 

> On Nov 11, 2021, at 4:56 PM, Tim Smith  wrote:
> 
> I downloaded the new 7.1 Beta TBC release.  Since my TSM is currently 
> expired, when I start 7.1 Beta, it tells me that my TSM has expired and TBC 
> will not work.  It still opens and I can navigate the workspace but, of 
> course, nothing works.
> 
> Two questions:
> Should a beta release work without a TSM?
> In the neutered version that starts, the TopBraid Applications menu is 
> missing.  I thought we would still be able to run EDG from TBC in 7.1.  Is 
> this option missing because my TSM has expired and neutered 7.1 or did I read 
> the change log incorrectly and EDG access from TBC has been removed?
> Thanks!
> 
> Tim
> 
> On Wednesday, November 10, 2021 at 5:32:32 PM UTC-5 TopQuadrant wrote:
> Dear Users,
> 
> TopQuadrant is pleased to announce the beta release of TopBraid EDG 7.1!
> 
> This release contains a new visualization tool, the EDG Diagram, available as 
> a new panel that combines the display of model elements with the display of 
> data.  This release also introduces a new development tool: TopBraid EDG 
> Studio. Additionally, there are also  new features, as well as UX and 
> performance improvements.  These features and improvements are described in 
> more detail in the release notes 
> .
> 
> As always, we appreciate your participation in our Beta test program and look 
> forward to your feedback.  Please submit your input by December 1st,  2021.
> 
> Downloads:
> TopBraid Composer Maestro Edition 7.1 Beta: 
> https://www.topquadrant.com/topbraid-composer-install/ 
> 
> 
> Licensed users of TopBraid EDG can access the enterprise server and EDG 
> Studio distribution here: http://download.topquadrant.com/live/edg 
> .  If you are an EDG user, have a 
> license for TBC-ME and would like to test EDG Studio, please contact support 
> to request a license file.
> 
>  *Note that product documentation including user guides is still being 
> updated and will be out of sync with the newly released Beta changes.
> 
> For questions, please do not hesitate to contact us:
> Thank you,
> The TopBraid Team
> 
> -- 
> 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/7fa0c538-6204-4a9d-b3b4-fe621a50e50en%40googlegroups.com
>  
> .

-- 
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/CC13DBC7-A8C7-4273-9C00-7CEB6F5EDC93%40topquadrant.com.


Re: [topbraid-users] Add metadata to class attribute

2021-11-02 Thread Irene Polikoff
Hi Kai,

This is a complex topic and I do not have enough context of your use case. 
Conceptually, there is a difference between the "design specification" and the 
real thing that is based on the design specification. I believe this is what 
you are trying to do. Let me try to explain this through examples:

1. There is a design for a model of a car e.g., Audi Q4. This design was 
created at some point in time by some group of designers and engineers. There 
was a date on which the first car based on the spec was manufactured. There are 
some factories that can build cars of this model. The model (design spec) has 
certain characteristics and parameters e.g., the type of transmission, how 
quickly it accelerates, after how many miles it needs to be serviced. Then, 
there are actual cars built based on this design. Each car, besides the 
parameters based on the design spec, has its own, more unique parameters e.g., 
the date it was manufactured, when it was last serviced, how many miles are on 
its odometer. These cars are not the instances of the design, they are more 
like occurrences of it in the world. The set they belong to - the set of all 
manufactured Audi A4 cars. Some of the properties of the design spec are not 
“transferred” to the instances e.g., the team that designed the model had no 
direct involvement with the individual car you may drive, the date when 
manufacturing started is different from the date when your car was 
manufactured, etc.

2. There is a concept of a disease such as, let’s say, chicken Pox. It has 
properties e.g., the average duration, suggested treatments, when it was first 
discovered and, possibly, by whom, etc. Then, there are occurrences of this 
disease in actual people. They will not have the average duration. Instead, 
they will have the actual duration. And there will be other properties e.g, who 
is the patient, who is his doctor, etc. With this, again, one could think of a 
class disease and a taxonomy of disease specifications where Chicken Pox is an 
instance with its characteristics and, in parallel, classes for disease 
occurrences e.g., all occurrences of the actual chicken pox illnesses in the 
world.

With this, I do not think there is an issue of weak semantics. Strictly 
speaking, semantics would be correct. The rdf:type relationship does not convey 
the exactly correct semantics in this case. You would need to pick the values 
from the “design spec” instance that are inherited by default by the occurrence 
of the spec. Because, as explained above, generally, not all values are.

Having said all of this, every modeling pattern has its own implications which 
can be positive and negative. 

Hope this helps,

Irene

> On Nov 2, 2021, at 4:30 AM, Kai Liu  wrote:
> 
> Hi Irene,
> 
> thanks for the suggestion. I tried to create a class "RealParameter" to 
> represent the Quantity with property values and then created an instance 
> called "SPR000-srate" in the ontology. Afterwards, I changed the srate 
> property shape from attribute to relationship and set the default value to 
> the "SPR000-srate". 
> 
> In the data graph, I created a new instance "new_srate" of "RealParameter" 
> and assigned different values to title, unit and value fields. By default, it 
> takes the value "SPR000-srate", but I was able to swtich the value to 
> "new_srate". I see several drawbacks, however:
> 
> 1) In the ontology, I would end up with creating thousands of "RealParameter" 
> instances. In my domain, I have to model several thousands such classes to 
> represent a modeling library, and some classes have up to 20 parameters.
> 2) I can only override the value by switching the whole object. It is not 
> possible to only override for example unit and take the value from the 
> default title. I have to copy the title value from the default instance to 
> the new instance even if it is not changed at all.
> 
> This is how it looks like with this approach:
> 
> 
> 
> I was thinking of modelling these classes as taxonomy after I saw your 
> teaching video about taxonomy. However, my current business problem is 
> creating instances of these classes and override values. If these 
> classes/parameters would be all concepts, I would need to create some custom 
> relationship (e.g. conformsTo) between them and their instances, since both 
> are individuals from RDF ponit of view. The semantics would be very weak. How 
> about your opinion?
> 
> Best regards, Kai
> 
> Irene Polikoff schrieb am Dienstag, 2. November 2021 um 01:01:49 UTC+1:
> Yes, reification would let you cut the number of property shapes to just 22:  
> 20 for the different properties that will hold values of your 
> quantities/measurements  plus the two for the title and the unit of measure.
> 
>

Re: [topbraid-users] Re: Add metadata to class attribute

2021-11-01 Thread Irene Polikoff
I believe when Kai mentioned reification he was referring to using RDF-star 
reification.

> On Nov 1, 2021, at 8:24 PM, robatki...@gmail.com  
> wrote:
> 
> 
> 
> You might want to consider a canonical model for observations here - its 
> basically a model for metadata for results of observations  :
> 
> https://www.w3.org/TR/vocab-ssn/
> 
> where sosa:Observation is a meta object about the value of a property 
> 
>  it needs to be married to a canonical model for measurement  (uom) as well 
> as for observable properties 
> 
> you could probably entail reified statements or simple properties against the 
> "feature of interest" - i.e. subject -  from the ssn/sosa model  - maybe 
> declaring
> 
> sosa:featureOfInterest, sosa:observedProperty and sosa:hasResult to be 
> subproperties of rdf:subject, rdf:predicate, rdf:object  would be sufficient 
> to do this in EDG?
> 
> This normalises patterns for observation time, procedure etc. 
> 
> I'm interested in formalising profiles of SOSA - and a formalisation of it as 
> a reification pattern might be an interesting idea if it has utility.
> 
>> On Tuesday, 2 November 2021 at 10:34:48 UTC+11 tjro...@gmail.com wrote:
>> In EDG, I have a class "Spring", on which a parameter "srate" of type float 
>> should be defined.  It has a default value. In addition, this parameter 
>> should also carry some metadata, e.g. a default title "spring rate", a 
>> default unit "N/m". The instances of this class can then override these 
>> default values. 
>> 
>> Currenlty, I defined for each of these metadata a separate attribute: 
>> "srate.title" of type string, "srate.unit" of type string and specified 
>> default values for them. I am wondering whether there is a modeling pattern 
>> to better cope with this problem, since I have classes with 20 parameters, 
>> and for which I need to define 60 attributes. Moreover, there are no 
>> semantic relationship between srate, srate.title and srate.unit. They are 
>> related just with the naming convention.
>> 
>> I tried to use Reification (statements about statements) to model this, but 
>> I was not able to set the default values for the title and unit in the 
>> ontology.
>> 
>> Thanks.
>> 
>> Kai
>> 
>> A screenshot of the property (attribute) definition:
>> 
>> 
>> 
>> The configuration of this parameter in the instance:
>> 
>> 
>> 
>> 
>> 
> 
> -- 
> 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/a3284231-88c1-4a19-a204-1dcfb4987bd5n%40googlegroups.com.

-- 
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/AF81B217-C937-4DBF-BF68-EF3AEED28614%40topquadrant.com.


Re: [topbraid-users] Add metadata to class attribute

2021-11-01 Thread Irene Polikoff
Yes, reification would let you cut the number of property shapes to just 22:  
20 for the different properties that will hold values of your 
quantities/measurements  plus the two for the title and the unit of measure.

However, you would not be able to specify a default value as you would only 
have a single property shape for the unit of measure property.

Another option is to have a class Quantity with properties value, unit of 
measure and title. Then, properties like srate become relationships and you 
would be creating new instances for each quantity. I think you should then be 
able to specify a default value for the srate/unit sequential path, but, 
without trying this out, I am not sure how practical this would be I.e., how 
well it would work in the EDG UI.


> On Nov 1, 2021, at 7:34 PM, Kai Liu  wrote:
> 
> In EDG, I have a class "Spring", on which a parameter "srate" of type float 
> should be defined.  It has a default value. In addition, this parameter 
> should also carry some metadata, e.g. a default title "spring rate", a 
> default unit "N/m". The instances of this class can then override these 
> default values. 
> 
> Currenlty, I defined for each of these metadata a separate attribute: 
> "srate.title" of type string, "srate.unit" of type string and specified 
> default values for them. I am wondering whether there is a modeling pattern 
> to better cope with this problem, since I have classes with 20 parameters, 
> and for which I need to define 60 attributes. Moreover, there are no semantic 
> relationship between srate, srate.title and srate.unit. They are related just 
> with the naming convention.
> 
> I tried to use Reification (statements about statements) to model this, but I 
> was not able to set the default values for the title and unit in the ontology.
> 
> Thanks.
> 
> Kai
> 
> A screenshot of the property (attribute) definition:
> 
> 
> 
> 
> The configuration of this parameter in the instance:
> 
> 
> 
> 
> 
> 
> -- 
> 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/972303f0-d963-41a9-9acc-5ef45193be59n%40googlegroups.com.
> 
> 

-- 
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/D5A79398-DB90-4E31-BA9E-6E6D1D0FC35A%40topquadrant.com.


Re: [topbraid-users] Validating owl:Classes or sh:NodeShapes

2021-10-28 Thread Irene Polikoff
myNamespace:MyRootClass  
  rdf:type rdfs:Class ;
  rdf:type sh:NodeShape ;
  rdfs:subClassOf rdfs:Resource ;

> On Oct 28, 2021, at 2:33 PM, Steve Ray  wrote:
> 
> One last(?) guidance request.
> Previously, I had been declaring classes as:
> 
>   ex:MyRandomClass 
>   rdf:type owl:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:subClassOf owl:Thing ;
> ...
> 
> Normally, I define a root class in my ontologies, and all my other classes 
> are subclasses of that:
> 
> myNamespace:MyRootClass  
>   rdf:type owl:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:subClassOf owl:Thing ;
> 
> So in my no-OWL migration, I have defined my own non-OWL version of owl:Class:
> 
> myNamespace:Class
>   rdf:type rdfs:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:subClassOf rdfs:Class ;
> 
> so my random classes would be:
> 
>   ex:MyRandomClass 
>   rdf:type myNamespace:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:subClassOf myNamespace:MyRootClass ;
> 
> so should my new root class be:
> 
> myNamespace:MyRootClass  
>   rdf:type myNamespace:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:subClassOf rdfs:Class ;
> 
> or should it be:
> 
> myNamespace:MyRootClass  
>   rdf:type myNamespace:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:subClassOf rdfs:Resource ;
> 
> 
> ...I'm starting to confuse myself about things being a subClassOf something 
> and being an rdf:type of something else. (I think I was absent during that 
> session of semantic web 101!)
> I'm thinking the first one, but does the SHACL/rdf world even need both a 
> type and a subClass?
> I realize that SHACL will just ignore the OWL stuff, but I'd like to go ahead 
> and not have it there to avoid confusion.
> 
> Steve
> 
> 
> 
> 
> On Tue, Oct 26, 2021 at 6:52 PM Holger Knublauch  <mailto:hol...@topquadrant.com>> wrote:
> 
> 
> On 2021-10-27 10:40 am, Steve Ray wrote:
>> Thanks Holger and Irene for this perspective. 
>> 
>> Regarding properties, are you saying I should just declare all my properties 
>> to be of type rdf:Property? I'm reluctant to just have them all embedded 
>> inside property shapes, just for clarity.
> This is your choice. SHACL or TopBraid doesn't require global rdf:Property 
> triples (except in some older code places which are now considered bugs). If 
> however you want to produce a generic ontology that is also useful for 
> external RDFS/OWL tools, then rdf:type rdf:Property is not harmful. But you'd 
> need to make sure they don't get out of synch, e.g. after renaming the 
> property.
>> 
>> Also, I have written SHACL rules to infer reverse triples for 
>> owl:SymmetricProperty and owl:InverseProperty declarations, but I suppose I 
>> could declare them as myNamespace:SymmetricProperty and 
>> myNamespace:InverseProperty which could be subClassOf rdf:Property. Would 
>> that be best practice?
> I assume you mean owl:inverseOf?
> 
> It is perfectly fine to use SHACL rules that react on the OWL vocabulary, 
> e.g. owl:SymmetricProperty.
> 
> FYI there is also a SHACL constraint in the dash: namespace that serves not 
> as inference but as a constraint
> 
> https://datashapes.org/constraints.html#SymmetricConstraintComponent 
> <https://datashapes.org/constraints.html#SymmetricConstraintComponent>
> I don't like using owl:inverseOf and strongly discourage its use. 
> sh:inversePath is sufficient and doesn't require the use of an (OWL) 
> inference engine.
> 
> Holger
> 
> 
> 
>> 
>> Steve
>> 
>> 
>> 
>> 
>> On Fri, Oct 22, 2021 at 5:32 PM Irene Polikoff > <mailto:ir...@topquadrant.com>> wrote:
>> Please see below.
>> 
>>> On Oct 22, 2021, at 7:54 PM, Steve Ray >> <mailto:st...@steveray.com>> wrote:
>>> 
>>> I now understand.
>>> 
>>> On a related point, is it true that the only owl uses that persist in SHACL 
>>> implementations are the two relating to managing graphs:
>>> 
>>> owl:imports (if you want to import other graphs), and
>> 
>> Yes, explicitly supported in SHACL e.g., 
>> https://www.w3.org/TR/shacl/#shapes-graph 
>> <https://www.w3.org/TR/shacl/#shapes-graph>
>> 
>>> X a owl:Ontology (if you want to name a graph so that you can do things 
>>> like imports)?
>> 
>> Not really supported/required, but you can use it if you want.
>>> 
>>> Do you endorse the use of owl property declarations, e.g. Y a 
>>> owl:ObjectProperty, etc., or do you recommend enforcing the implications of 
>>&g

Re: [topbraid-users] Validating owl:Classes or sh:NodeShapes

2021-10-28 Thread Irene Polikoff
In SHACL, you give a name to the inverse relation by creating a property shape 
with the inverse path. For example:

skos:Concept-broader-inverse
  a sh:PropertyShape ;
  sh:path [
  sh:inversePath skos:broader ;
] ;
  sh:class skos:Concept ;
  sh:name "narrower concept" ;
.

This is the true notion of the inverse relation in a graph because it describes 
traversing a relationship in an opposite direction and it gives a name to the 
opposite direction.

When you declare a separate URI for a property and say that it is an inverse 
e.g.,

skos:narrower owl:inverseOf skos:broader.

And then talk about triples that use the skos:narrower predicate, strictly 
speaking, you are not really talking about triples with the skos:broader 
relationship that exist in your graph - whether you traverse such triples in 
one direction or in another. At most, you are talking about skos:broader 
triples that would get generated from the skos:narrower should a reasoner be 
applied.

> On Oct 27, 2021, at 12:41 PM, Steve Ray  wrote:
> 
> Yes, you are correct - I meant the use of owl:inverseOf, for which I infer 
> the inverse triple. I agree with you about not needing this, but it seems 
> some on the committee like being able to refer to the inverse relation by a 
> more familiar relation name. I may try one more time to argue to eliminate 
> our inverse properties.
> 
> Regarding the owl:SymmetricProperty declaration, I plan to go ahead and 
> replace it with a mynamespace:SymmetricProperty declaration, since I wrote 
> the SHACL inference rule anyway. One less OWL element in the model.
> 
> Steve
> 
> 
> 
> 
> On Tue, Oct 26, 2021 at 6:52 PM Holger Knublauch  <mailto:hol...@topquadrant.com>> wrote:
> 
> 
> On 2021-10-27 10:40 am, Steve Ray wrote:
>> Thanks Holger and Irene for this perspective. 
>> 
>> Regarding properties, are you saying I should just declare all my properties 
>> to be of type rdf:Property? I'm reluctant to just have them all embedded 
>> inside property shapes, just for clarity.
> This is your choice. SHACL or TopBraid doesn't require global rdf:Property 
> triples (except in some older code places which are now considered bugs). If 
> however you want to produce a generic ontology that is also useful for 
> external RDFS/OWL tools, then rdf:type rdf:Property is not harmful. But you'd 
> need to make sure they don't get out of synch, e.g. after renaming the 
> property.
>> 
>> Also, I have written SHACL rules to infer reverse triples for 
>> owl:SymmetricProperty and owl:InverseProperty declarations, but I suppose I 
>> could declare them as myNamespace:SymmetricProperty and 
>> myNamespace:InverseProperty which could be subClassOf rdf:Property. Would 
>> that be best practice?
> I assume you mean owl:inverseOf?
> 
> It is perfectly fine to use SHACL rules that react on the OWL vocabulary, 
> e.g. owl:SymmetricProperty.
> 
> FYI there is also a SHACL constraint in the dash: namespace that serves not 
> as inference but as a constraint
> 
> https://datashapes.org/constraints.html#SymmetricConstraintComponent 
> <https://datashapes.org/constraints.html#SymmetricConstraintComponent>
> I don't like using owl:inverseOf and strongly discourage its use. 
> sh:inversePath is sufficient and doesn't require the use of an (OWL) 
> inference engine.
> 
> Holger
> 
> 
> 
>> 
>> Steve
>> 
>> 
>> 
>> 
>> On Fri, Oct 22, 2021 at 5:32 PM Irene Polikoff > <mailto:ir...@topquadrant.com>> wrote:
>> Please see below.
>> 
>>> On Oct 22, 2021, at 7:54 PM, Steve Ray >> <mailto:st...@steveray.com>> wrote:
>>> 
>>> I now understand.
>>> 
>>> On a related point, is it true that the only owl uses that persist in SHACL 
>>> implementations are the two relating to managing graphs:
>>> 
>>> owl:imports (if you want to import other graphs), and
>> 
>> Yes, explicitly supported in SHACL e.g., 
>> https://www.w3.org/TR/shacl/#shapes-graph 
>> <https://www.w3.org/TR/shacl/#shapes-graph>
>> 
>>> X a owl:Ontology (if you want to name a graph so that you can do things 
>>> like imports)?
>> 
>> Not really supported/required, but you can use it if you want.
>>> 
>>> Do you endorse the use of owl property declarations, e.g. Y a 
>>> owl:ObjectProperty, etc., or do you recommend enforcing the implications of 
>>> those with SHACL shapes? If the latter, are there SHACL definitions for 
>>> those?
>> 
>> In general, we do not recommend the use of property declarations. SHACL will 
>> ignore them. However, if yo

Re: [topbraid-users] Validating owl:Classes or sh:NodeShapes

2021-10-22 Thread Irene Polikoff
Please see below.

> On Oct 22, 2021, at 7:54 PM, Steve Ray  wrote:
> 
> I now understand.
> 
> On a related point, is it true that the only owl uses that persist in SHACL 
> implementations are the two relating to managing graphs:
> 
> owl:imports (if you want to import other graphs), and

Yes, explicitly supported in SHACL e.g., 
https://www.w3.org/TR/shacl/#shapes-graph

> X a owl:Ontology (if you want to name a graph so that you can do things like 
> imports)?

Not really supported/required, but you can use it if you want.
> 
> Do you endorse the use of owl property declarations, e.g. Y a 
> owl:ObjectProperty, etc., or do you recommend enforcing the implications of 
> those with SHACL shapes? If the latter, are there SHACL definitions for those?

In general, we do not recommend the use of property declarations. SHACL will 
ignore them. However, if you wanted to, you could use them - as long as you 
understand that they have no meaning to SHACL.

If you say:

:PS a sh:PropertyShape;
sh:path :p;
sh:nodeKind sh:BlankNodeOrIRI ( sh:IRI or sh:BlankNode)

You have effectively said that :p is used to connect two resources. If you know 
what class values of :p belong to, you could also say:

:PS a sh:PropertyShape;
sh:path :p;
sh:class :C .

This would also indicate that the property connects two resources, but it says 
more than that. Using both, sh:class constraint and sh:nodeKind 
sh:BlankNodeOrIRI is redundant. 

If you are not able to identify the class, you could say sh:class rdfs:Resource.

Instead of  owl:Datatype property, you would use sh:nodeKind sh:Literal or use 
sh:datatype constraint if you can be more specific and identify the datatype. 
This is not one to one to OWL since OWL distinguishes between the datatype and 
annotation properties because annotation properties are not used in DL 
reasoning. SHACL does not have this concept.

Another difference is that OWL property type declarations are global. SHACL 
property shape definitions are specific to targets where a scope of a target 
could be quite limited. In principle, while a bad practice, it is possible to 
define two different property shapes with the same path but different targets 
and have one use sh:nodeKind sh:IRI and another sh:nodeKind sh:Literal. 


> 
> Steve
> 
> 
> 
> 
> On Fri, Oct 22, 2021 at 4:12 PM Holger Knublauch  > wrote:
> 
> 
>> On 23 Oct 2021, at 3:50 am, Steve Ray > > wrote:
>> 
>> Holger,
>> 
>> Your final suggestion was the key! Who knew that we must declare owl:Class 
>> to be of type sh:NodeShape!
>> I had a similar validation test for labelling all properties, and declaring 
>> rdf:Property as rdf:type sh:NodeShape fixed that one as well.
>> Thank you so much for that subtle tip. If this is documented in the SHACL 
>> spec, I missed it. If it is not, I'll bet other people will bump into this 
>> problem.
> 
> It’s mentioned here: https://www.w3.org/TR/shacl/#implicit-targetClass 
> 
> 
> To validate instances of any class, either use sh:targetClass X or make X 
> rdf:type rdfs:Class AND rdf:type sh:NodeShape.
> 
> Holger
> 
> 
>> 
>> Steve
>> 
>> 
>> 
>> 
>> On Thu, Oct 21, 2021 at 6:18 PM Holger Knublauch > > wrote:
>> Hi Steve,
>> 
>> it SHOULD work, but TBC has two validation buttons and only the green one 
>> includes the classes and properties:
>> 
>> <3HjnsEUcNN3NjWZm.png>
>> 
>> On 2021-10-22 8:09 am, Steve Ray wrote:
>>> I'm not understanding something about validating SHACL files. Normally I 
>>> successfully use shapes and SPARQLConstraints to validate rdf instance 
>>> files, but I'd also like to apply some constraints to our SHACL shape 
>>> definitions themselves.
>>> 
>>> For example, I'd like to ensure all our declared classes/Nodeshapes have an 
>>> rdfs:label, so I wrote:
>>> 
>>> owl:Class
>>>   sh:property [
>>> sh:path rdfs:label ;
>>> sh:minCount 1 ;
>>>   ] ;
>>> .
>> On the above, please double-check that owl:Class rdf:type sh:NodeShape is 
>> also asserted.
>> 
>> Holger
>> 
>> 
>> 
>>> I also tried 
>>> 1. Writing a SPARQLConstraint to do the same thing.
>>> 2. Using the sh:targetClass method with an explicitly named shape.
>>> 3. Using these with sh:NodeShape instead of owl:Class, since all my classes 
>>> are also instances of sh:NodeShape.
>>> 
>>> None produced any validation errors when I ran the TBC validator on a 
>>> shapes file containing the definition of a class where I intentionally 
>>> omitted an rdfs:label value.
>>> 
>>> I know that the SHACL spec even has the shsh:ShapeShape specification, so I 
>>> assume this kind of thing can be done. Is something blocking the validation 
>>> error from showing up? Is it because rdfs:label is an annotation property?
>>> 
>>> Steve
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "TopBraid Suite Users" group.
>>> To unsubsc

Re: [topbraid-users] owl restrictions for individuals?

2021-10-18 Thread Irene Polikoff
The reasoner implements OWL RL profile.

> On Oct 18, 2021, at 9:48 AM, Irene Polikoff  wrote:
> 
> Irrespective of this, OWL is open world. There are no warnings on max car 
> finality unless there is an explicit statement that each member is different 
> from all others.
> 
> Sent from my iPhone
> 
>>> On Oct 18, 2021, at 4:41 AM, David Price  wrote:
>>> 
>> Hi Michel,
>> 
>> Tthe TopBraid rules engine is based on SHACL, not OWL, so Composer does not 
>> come with an embedded DL reasoner (i.e. you should not have expected any 
>> result testing your model this way).
>> 
>> Cheers,
>> David
>> 
>>>> On 18 Oct 2021, at 09:26, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>>>  wrote:
>>>> 
>>>> Hi David
>>>> My owl experiment:
>>>> 
>>> 
>>>  
>>> I would have expected a warning about the maxcard being 3 but having 4 
>>> members in the data.
>>> (note that in real there will be no explicit members, just here to check 
>>> the logic…).
>>>  
>>> Gr michel
>>>  
>>>  
>>> Dr. ir. H.M. (Michel) Bohms
>>> Scientist Specialist
>>> Structural Reliability
>>> T +31 (0)88 866 31 07
>>> M +31 (0)63 038 12 20
>>> E michel.bo...@tno.nl
>>> Location
>>> 
>>>  
>>> 
>>> This message may contain information that is not intended for you. If you 
>>> are not the addressee or if this message was sent to you by mistake, you 
>>> are requested to inform the sender and delete the message. TNO accepts no 
>>> liability for the content of this e-mail, for the manner in which you use 
>>> it and for damage of any kind resulting from the risks inherent to the 
>>> electronic transmission of messages.
>>>  
>>> From: Bohms, H.M. (Michel)  
>>> Sent: Wednesday, October 13, 2021 10:55 PM
>>> To: topbraid-users@googlegroups.com
>>> Cc: Michel Bohms 
>>> Subject: Re: [topbraid-users] owl restrictions for individuals?
>>>  
>>> Thx david, much appreciated
>>> I will experiment both owa owl and cwa shacl variants. Lets see if i can 
>>> bring the pattern correctly to shacl first... 
>>> The results will indeed help us to decide
>>> Gr michel
>>>  
>>>  
>>> Op 13 okt. 2021 15:04 schreef David Price :
>>> Hi Michel, 
>>>  
>>> A final question … Have you run any OWL reasoner over this and produced any 
>>> inconsistency e.g. in the case of 301 members of your Container saying only 
>>> 300 are allowed? 
>>>  
>>> I’m not sure the “semantics” you think exist in this setup are actually 
>>> there. Maybe I’m wrong as I’ve not tried it, but it looks questionable to 
>>> me and actually using a tool such as a DL reasoner is the only way to be 
>>> sure.  Does it at least not complain about these structures as it’s 
>>> possible the customers of your ontology might use these tools.  FWIW I’ve 
>>> not used any OWL Full reasoners so not sure how you’d test what you propose 
>>> otherwise.
>>>  
>>> Also, as always note that OWL is OWA so missing data such as min card = 1 
>>> cannot not be reported as an error.
>>>  
>>> Anyway, in answer to your “Would that be possible within TBC/EDG?":
>>>  
>>> TBC will probably let you view that structure but not 100% sure the 
>>> form-based editing supports it. I did not try it myself.
>>>  
>>> EDG = not out-of-the-box but perhaps with some configuration. The EDG UI is 
>>> driven by SHACL and the out-of-the-box OWL2SHACL feature does not cover the 
>>> restriction structures you sent. It’s not hard to extend the OWL2SHACL 
>>> within EDG so you could add whatever SHACL generation you wanted to see 
>>> appear taking that OWL structure as input.  EDG 7.1 will support the SHACL 
>>> qualified value shapes and it does report violations … I’ve actually tested 
>>> that and the CWA helps make that so.
>>>  
>>> Cheers,
>>> David
>>>  
>>> On 13 Oct 2021, at 13:00, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>>  wrote:
>>>  
>>> Hi David
>>>  
>>> Thx for your view.
>>>  
>>> Personally I think the rdfs containers captures at least some generic 
>>> “grouping” semantics.
>>> I would not like to redefine that myself (own group classes, member 
>>>

Re: [topbraid-users] owl restrictions for individuals?

2021-10-18 Thread Irene Polikoff
Irrespective of this, OWL is open world. There are no warnings on max car 
finality unless there is an explicit statement that each member is different 
from all others.

Sent from my iPhone

> On Oct 18, 2021, at 4:41 AM, David Price  wrote:
> 
> Hi Michel,
> 
> Tthe TopBraid rules engine is based on SHACL, not OWL, so Composer does not 
> come with an embedded DL reasoner (i.e. you should not have expected any 
> result testing your model this way).
> 
> Cheers,
> David
> 
>>> On 18 Oct 2021, at 09:26, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>>  wrote:
>>> 
>>> Hi David
>>> My owl experiment:
>>> 
>> 
>>  
>> I would have expected a warning about the maxcard being 3 but having 4 
>> members in the data.
>> (note that in real there will be no explicit members, just here to check the 
>> logic…).
>>  
>> Gr michel
>>  
>>  
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl
>> Location
>> 
>>  
>> 
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the content of this e-mail, for the manner in which you use it 
>> and for damage of any kind resulting from the risks inherent to the 
>> electronic transmission of messages.
>>  
>> From: Bohms, H.M. (Michel)  
>> Sent: Wednesday, October 13, 2021 10:55 PM
>> To: topbraid-users@googlegroups.com
>> Cc: Michel Bohms 
>> Subject: Re: [topbraid-users] owl restrictions for individuals?
>>  
>> Thx david, much appreciated
>> I will experiment both owa owl and cwa shacl variants. Lets see if i can 
>> bring the pattern correctly to shacl first... 
>> The results will indeed help us to decide
>> Gr michel
>>  
>>  
>> Op 13 okt. 2021 15:04 schreef David Price :
>> Hi Michel, 
>>  
>> A final question … Have you run any OWL reasoner over this and produced any 
>> inconsistency e.g. in the case of 301 members of your Container saying only 
>> 300 are allowed? 
>>  
>> I’m not sure the “semantics” you think exist in this setup are actually 
>> there. Maybe I’m wrong as I’ve not tried it, but it looks questionable to me 
>> and actually using a tool such as a DL reasoner is the only way to be sure.  
>> Does it at least not complain about these structures as it’s possible the 
>> customers of your ontology might use these tools.  FWIW I’ve not used any 
>> OWL Full reasoners so not sure how you’d test what you propose otherwise.
>>  
>> Also, as always note that OWL is OWA so missing data such as min card = 1 
>> cannot not be reported as an error.
>>  
>> Anyway, in answer to your “Would that be possible within TBC/EDG?":
>>  
>> TBC will probably let you view that structure but not 100% sure the 
>> form-based editing supports it. I did not try it myself.
>>  
>> EDG = not out-of-the-box but perhaps with some configuration. The EDG UI is 
>> driven by SHACL and the out-of-the-box OWL2SHACL feature does not cover the 
>> restriction structures you sent. It’s not hard to extend the OWL2SHACL 
>> within EDG so you could add whatever SHACL generation you wanted to see 
>> appear taking that OWL structure as input.  EDG 7.1 will support the SHACL 
>> qualified value shapes and it does report violations … I’ve actually tested 
>> that and the CWA helps make that so.
>>  
>> Cheers,
>> David
>>  
>> On 13 Oct 2021, at 13:00, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>  wrote:
>>  
>> Hi David
>>  
>> Thx for your view.
>>  
>> Personally I think the rdfs containers captures at least some generic 
>> “grouping” semantics.
>> I would not like to redefine that myself (own group classes, member 
>> relations etc.).
>>  
>> On the other hand we might misuse this way a mechanism meant for explicit 
>> grouping for implicit grouping.
>>  
>> In any case the practical need is really there in asset mngt. People do not 
>> want to model (in their view) all the details from others.
>> In the example: they want to be able to model the groups of things having 
>> typical properties and the group having properties like an amount of 
>> members, total cost, etc. without the need to be able to explicitly point to 
>> the members.
>>  
>> In that sense our pattern could fulfil those needs: we have a group 
>> (container), we do not model explicit members, but add other properties to 
>> the group (like total cost) and are able to put restrictions on their 
>> members (like ‘all should be yellow’). So we capture the typical member data 
>> in a restriction without having the (explicit) members themselves….that 
>> might be special too….
>>  
>> Anyway, we’ll consider, thx
>>  
>>  
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl
>> Location
>> 
>>  
>> 
>> This messag

Re: [topbraid-users] hiding assets from menus or lists - but giving view permissions

2021-09-27 Thread Irene Polikoff


> On Sep 27, 2021, at 5:31 PM, Simon Opper  
> wrote:
> 
> Thanks for the info Holger and Irene
> 
> Yes, Irene, I am referring to hiding asset collections.
> 
> It seems to me that "view ( read) data access" should be able to be managed 
> differently from "visibility" in asset collection menus and lists and indeed 
> in a datagraphs "settings" menu import lists. 

Perhaps, but this is not a requirement we have heard nor implemented.

You can submit it through the support desk for future consideration. The more 
you could tell us about the overall use case and its context, the better. Such 
feature would need to be carefully considered and designed to work for 
different customers.


> Could they be "hidden imports" for certain roles and governance models 1?
> 
> Our use case is that we have upwards of 10 or so ontologies and shapes 
> ontologies that support downstream graphs in use by users, but they don't 
> need to see them in menus or know that they are there at all.

One option available today is to implement such ontologies as files. Starting 
with 7.0, you can edit files with EDG. 

The downsides of this approach:

1. Only Administrators are able to edit Files.
2. It is one person editing at the time
3. There is no persistent audit trail across the edit sessions. Once the change 
is saved, the audit trail is gone. However, Git integration coming in 7.1 may 
help address this limitation. I have not looked at it deeply enough though.

This approach would be best for “system” ontologies that only a small group of 
pretty technical users would ever be changing.


> For a general subject matter expert user who may only need to look at and 
> work in around 2 or 3 graphs, there is a growing set of data graphs and 
> tagsets used by other layers of users that import into these, and so the 
> import closure spreads across many collections.  Even after using role-based 
> and subject area asset collection permission use the import net becomes very 
> wide.

Now you seem to be talking about hiding data graphs and tag sets. Or am I 
confused?

> 
> We have talked about using rules (sparql) to insert data into other graphs 
> instead of using imports, to try and deal with this, but it takes that extra 
> amount of work to achieve this, especially for every graph and so we've not 
> committed to this.
> 
> Cheers
> 
> Simon
> 
> On Thursday, September 23, 2021 at 11:37:05 PM UTC+10 Irene Polikoff wrote:
> It sounds like you are wanting to hide Asset Collections, not assets.
> 
> If a user has view privileges for an asset collection, it will appear in the 
> list of collections, quick navigation/hamburger menu, etc.
> 
>> On Sep 22, 2021, at 11:38 PM, Holger Knublauch > > wrote:
>> 
>> 
> 
>> I am afraid the short answer is no, we don't have such features. Other 
>> colleagues may have additional input.
>> 
>> There is dash:hidden which you can theoretically use to hide skos:Concepts 
>> from the Taxonomy tree, but that's about it.
>> 
>> Holger
>> 
>> 
>> On 2021-09-23 1:13 pm, Simon Opper wrote:
>>> Hi TQ crew
>>> 
>>> Is there a way to hide assets from the edg UI which are required imports, 
>>> but maintain required view permissions so that any top level graph e.g. the 
>>> top level taxonomy is shown in menus but not (some or all of ) its imports?
>>> 
>>> e.g. give view permissions for users (via roles and governance singleton) 
>>> to imported graphs such as ontologies and shapes or customisations 
>>> ontologies, (as far as I'm aware required to allow a user to view the top 
>>> level asset) but hide these assets from:
>>> 1. the the main EDG home screen;
>>> 2. the "quick navigation to your collections" 
>>> 3. the table view of asset collections 
>>> 
>>> We are working on governance models for user and role permissions but 
>>> haven't come across a method to hide assets.
>>> 
>>> Many thanks in advance
>>> 
>>> Simon
>>> -- 
>>> 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/86fe6c0c-eca9-4620-96ca-f78d01761861n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/topbraid-users/86fe6c0c-eca9-4620-96ca-f78d01761861n%40googlegroups.com?utm_me

Re: [topbraid-users] malformed shacl

2021-09-25 Thread Irene Polikoff
Hi Michel,

If you think your problem is due to some issue with prefixes, a quick 
workaround is to replace the QNames in the query with full URIs in <>.

I know that you sent a number of other e-mails to this list about your prefixes 
problems. I am quite certain that they are not about bugs in our tool, but are 
either a result of user error or some issues with the files you are using. 

Investigating what is happening with your example would require me to get your 
files and try to reproduce what you were doing. Unfortunately, we do not have 
time and resources to provide this kind of involved assistance free of charge. 

Many of our users have technical expertise to resolve such issues themselves 
and only need some general tips and hints that this list is designed to offer. 
When this is not the case (or for projects that may be too complicated to do 
without more intense interaction and mentoring from TopQuadrant), we can 
provide help off the mailing list through a contracted professional services 
project.

Regards,

Irene

> On Sep 24, 2021, at 3:16 PM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> Took out the prefixes there, and added 3x declare in beginning, still:
>  
> 
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl 
> Location 
> 
>  
>  
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages. 
>  
> From: 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
> mailto:topbraid-users@googlegroups.com>> 
> Sent: Friday, September 24, 2021 8:56 PM
> To: topbraid-users@googlegroups.com 
> Subject: [topbraid-users] malformed shacl
>  
> Hi David, Irene
>  
> Tbc says maformed shacl for:
>  
> 
> Any tip welcome, thx Michel
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl 
> Location 
> 
>  
>  
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages. 
>  
> -- 
> 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/6a93f92fda784aaf98b0bc4773ce7e71%40tno.nl
>  
> .
> 
> -- 
> 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/0ffc2a35a5414b63993ea69ed18b1e13%40tno.nl
>  
> .

-- 
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/8DA4CD5F-BA0A-44C6-96D7-57AA83A6CB32%40topquadrant.com.


Re: [topbraid-users] define transform rule

2021-09-24 Thread Irene Polikoff
I don’t know about red, but you need to associate a rule with a class that has 
instances, not with a class does not have any.

This is what David said - build a rule to process instances of a class that you 
have. Associating a rule with something that has no data will not do anything.

See examples here: https://w3c.github.io/shacl/shacl-af/#rules-examples

You could add a rule to a node shape that is not a class. Then, you need an 
explicit target statement. Target delivers resources over which a rule can 
operate to generate new triples based on the information that exists about 
these resources.

> On Sep 23, 2021, at 2:43 PM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> 
> Ok, i tried:
>  
> 
>  
> But the query stays red….
>  
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl
> Location
> 
>  
> 
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages.
>  
> From: topbraid-users@googlegroups.com  On 
> Behalf Of David Price
> Sent: Thursday, September 23, 2021 3:08 PM
> To: topbraid-users@googlegroups.com
> Subject: Re: [topbraid-users] define transform rule
>  
>  
> 
> 
> On 23 Sep 2021, at 13:44, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
>  
> Think you did not confuse me with target. I meant target class being the 
> class i want to transform to...in the target ontology sa.
>  
> I think the below pattern does not do the job for me.
> I have to create new instances of sa:Project etc. based on the existing 
> MonsterLaag instance.
>  
> Based on!
>  
> Yes, I understood that.
> 
> 
>  
> That is...i use an attribute value of that instance to create an new target 
> instance. Being projectNaam.
>  
> This transformation will in a sense normalise my original excel relation 
> splitting it into subtables.
>  
> I just need to find again the way to create such an instance.
>  
> Some swp function i used to use in spin in the past.. and bind the result 
> in a where clause i think...
> ???
>  
> SPARQL functions probably. BIND, IRI, CONCAT are usually enough.
>  
> See https://www.w3.org/TR/sparql11-query/#func-iri
>  
> Cheers,
> David
> 
> 
>  
>  
> Op 23 sep. 2021 13:50 schreef David Price :
> Not quite and I think I confused you by mentioning “target” by which I did 
> NOT mean sh:targetClass. 
>  
> Put the actual SPARQLRule against the source class so that $this refers to 
> instances of that class. There is no need for TripleRule. More like this but 
> using $this in the WHERE rule to iterate through the instances of the class:
>  
> add to the source class sa-input:Monsterlaag :
>  
>  sh:rule [
> a sh:SPARQLRule ;
> sh:prefixes sa: ;
> sh:construct """
>   CONSTRUCT {
>  ?uri rdf:type 
> sa:Project .
>   }
>   WHERE {
>  ?someproject 
> sa-input:projectNaam ?projectNaam .
>  ? Uri = ….( 
> projectNaam)
>   }
>   """ ;
>   ] ;
> .
>  
> but 
>  
> WHERE {
> $this sa-input:SomeAttrOf Monsterlaag ?value .
> $this sa-input:SomeOtherAttrOf Monsterlaag ?valueother .
> Etc
>  
> Cheers,
> David
>  
>  
>  
> On 23 Sep 2021, at 12:22, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
>  
>   Ahh, ok, so in my case I would add to the source class 
> sa-input:Monsterlaag :
>  
> sh:rule [
> a sh:TripleRule ;
> sh:subject (sh:this ATTRIBUTE projectName as URI) 
> ;
> sh:predicate rdf:type ;
> sh:object sa:Project ;
>   ] .
>  
> Apart from the yellow I can also think of putting the rule at the target:
>  
> sa:ProjectShape
>   a sh:NodeShape ;
>   sh:targetClass sa:Project ;
>   sh:rule [
> a sh:SPARQLRule ;
> sh:prefixes sa: ;
> sh:construct """
>   CONSTRUCT {
>  ?uri rdf:type 
> sa:Project .
>   }
>   WHERE {

Re: [topbraid-users] hiding assets from menus or lists - but giving view permissions

2021-09-23 Thread Irene Polikoff
It sounds like you are wanting to hide Asset Collections, not assets.

If a user has view privileges for an asset collection, it will appear in the 
list of collections, quick navigation/hamburger menu, etc.

> On Sep 22, 2021, at 11:38 PM, Holger Knublauch  wrote:
> 
> 
> I am afraid the short answer is no, we don't have such features. Other 
> colleagues may have additional input.
> 
> There is dash:hidden which you can theoretically use to hide skos:Concepts 
> from the Taxonomy tree, but that's about it.
> 
> Holger
> 
> 
> On 2021-09-23 1:13 pm, Simon Opper wrote:
>> Hi TQ crew
>> 
>> Is there a way to hide assets from the edg UI which are required imports, 
>> but maintain required view permissions so that any top level graph e.g. the 
>> top level taxonomy is shown in menus but not (some or all of ) its imports?
>> 
>> e.g. give view permissions for users (via roles and governance singleton) to 
>> imported graphs such as ontologies and shapes or customisations ontologies, 
>> (as far as I'm aware required to allow a user to view the top level asset) 
>> but hide these assets from:
>> 1. the the main EDG home screen;
>> 2. the "quick navigation to your collections" 
>> 3. the table view of asset collections 
>> 
>> We are working on governance models for user and role permissions but 
>> haven't come across a method to hide assets.
>> 
>> Many thanks in advance
>> 
>> Simon
>> -- 
>> 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/86fe6c0c-eca9-4620-96ca-f78d01761861n%40googlegroups.com.
> -- 
> 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/652215e6-4fc1-d546-2b52-c92f1ffef803%40topquadrant.com.

-- 
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/3A89FAFF-82B6-450A-BFFF-1AFE98CCF205%40topquadrant.com.


Re: [topbraid-users] enriching the semantic table

2021-09-21 Thread Irene Polikoff
If you need to script a custom importer for EDG, here is the way to do it:

https://www.topquadrant.com/project/importing-data-using-active-data-shapes/

https://datashapes.org/active/import.html#spreadsheets

Once you script it, you can use it repeatedly. The custom import can become a 
part of the EDG UI.

If you are using TBC spreadsheet imports, then you could develop a set of rules 
or queries to post process converted RDF and save them so you could execute 
them again later. As David described, this could be done in EDG as well, but 
this means a 2 step approach to conversion.


> On Sep 21, 2021, at 6:54 AM, David Price  wrote:
> 
> Hi Michel,
> 
> The spreadsheet importers that are simple and out-of-the-box support a 
> table-maps-to-single class scenario.
> 
> If you have a more complex ontology and data about multiple classes in the 
> same spreadsheet table, then you are writing a bespoke importer rather than 
> an EDG Import Spreadsheet by Template kind of thing.
> 
> One approach we take with some customers is to use an external 
> spreadsheet-to-RDF mapping tool (e.g. R2RML) and then just import the RDF 
> into EDG. This is particularly useful if the spreadsheets are very, very 
> large (i.e. a data migration).
> 
> A second approach is to make it two steps in EDG, and it sounds like you’ve 
> done the first. For the second, it’s probably simpler to make another graph 
> based on the more complex ontology as the target and write SHACL Rules (i.e. 
> sh:SPARQLRule) which you can include into the target traph to be executed via 
> the Transform tab to do the conversion. After conversion you un-include the 
> rules graph so you’re left with only the real ontology and data based on it.
> 
> The logic of when/if to create new URIs for things is, however, entirely up 
> to you. Re-generating the same URI many times is fine though, as triples 
> processing means that duplicates cannot be written into the graphs.
> 
> Cheers,
> David
> 
>> On 21 Sep 2021, at 11:21, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>  wrote:
>> 
>> When I have read in a semantic excel into TBC/EDG I want to convert it to a 
>> more structured ontology (ie normalize it) via sparql construct queries.
>> In a sense I am splitting the big nonnormalized table into multiple tables.
>> In this process I have to (I assume) create IDs for individuals that were 
>> not in the original table (more as just a column there).
>>  
>> Is there some standard approach for this (like create only first time when 
>> encountered, reuse when already created )?
>>  
>> Thank for pointing me to the right resources!
>> Michel
>>  
>>  
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl
>> Location
>> 
>>  
>> 
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the content of this e-mail, for the manner in which you use it 
>> and for damage of any kind resulting from the risks inherent to the 
>> electronic transmission of messages. 
>>  
>> 
>> -- 
>> 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/452d2e85c60f4002be786f9be49aefd4%40tno.nl.
> 
> UK +44 (0) 7788 561308
> US +1 (336) 283-0808‬
> 
> -- 
> 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/034D872D-BA23-4D5A-8D82-83C2EC88BD72%40topquadrant.com.

-- 
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/EDACBD0D-01F9-4080-B634-63C025010F9C%40topquadrant.com.


Re: [topbraid-users] RE: third issue sheet import

2021-09-16 Thread Irene Polikoff
Just noticed your message that the 1st sheet is empty. 

This may be a reason as well. In some importers index starts with zero. In 
some, it starts with 1.

Overtime, several different spreadsheet importers were built. Based on our and 
customer’s experience with them, we are no longer actively maintaining 
spreadsheet import options unique to TBC. We discovered that no matter how much 
one tries, there will always be cases when a canned spreadsheet import does not 
do exactly what a user needs - because of how a particular spreadsheet is 
structured and the data in it  and/or because a canned import is not fully 
aligned with the user’s unique needs.

Spreadsheet importer available in EDG is under active maintenance. This is the 
only pre-canned option under active maintenance. All other options are as-is. 
For use cases that are outside of the current capabilities of that importer, we 
recommend and made available facilities for scripting a custom import as 
explained in https://www.datashapes.org/active/import.html#spreadsheets

Also see the video 
https://www.topquadrant.com/project/importing-data-using-active-data-shapes/

> On Sep 16, 2021, at 11:25 AM, Irene Polikoff  wrote:
> 
> Yes, index starts with 0
> 
> 
>>> On Sep 16, 2021, at 10:23 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite 
>>> Users  wrote:
>>> 
>> 
>> More info:
>> It only goes wrong when the first sheet is empty
>> If there is data classification is fine.
>>  
>>  
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl
>> Location
>> 
>>  
>> 
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the content of this e-mail, for the manner in which you use it 
>> and for damage of any kind resulting from the risks inherent to the 
>> electronic transmission of messages.
>>  
>> Van: 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>  
>> Verzonden: Thursday, September 16, 2021 12:54 PM
>> Aan: topbraid-users@googlegroups.com
>> Onderwerp: [topbraid-users] third issue sheet import
>>  
>> In excel i have 3 sheets
>> 1 en 3 are empty, 2 is filled:
>>  
>> 
>>  
>> Result:
>> Data from sheet 2 is classified as sheet no 1 ..
>>  
>> 
>>  
>> Is this expected?
>>  
>> Thx Michel
>>  
>>  
>>  
>>  
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl
>> Location
>> 
>>  
>> 
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the content of this e-mail, for the manner in which you use it 
>> and for damage of any kind resulting from the risks inherent to the 
>> electronic transmission of messages.
>>  
>> -- 
>> 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/d0148d90da724fd2889e6100f25fa6b2%40tno.nl.
>> -- 
>> 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/d4e75bb24ee0414db65532e6a77e375a%40tno.nl.

-- 
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/DE421DE1-5D21-4FAE-A2F0-823208A4A0AC%40topquadrant.com.


Re: [topbraid-users] RE: third issue sheet import

2021-09-16 Thread Irene Polikoff
Yes, index starts with 0


> On Sep 16, 2021, at 10:23 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> 
> More info:
> It only goes wrong when the first sheet is empty
> If there is data classification is fine.
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl
> Location
> 
>  
> 
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages.
>  
> Van: 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  
> Verzonden: Thursday, September 16, 2021 12:54 PM
> Aan: topbraid-users@googlegroups.com
> Onderwerp: [topbraid-users] third issue sheet import
>  
> In excel i have 3 sheets
> 1 en 3 are empty, 2 is filled:
>  
> 
>  
> Result:
> Data from sheet 2 is classified as sheet no 1 ..
>  
> 
>  
> Is this expected?
>  
> Thx Michel
>  
>  
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl
> Location
> 
>  
> 
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages.
>  
> -- 
> 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/d0148d90da724fd2889e6100f25fa6b2%40tno.nl.
> -- 
> 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/d4e75bb24ee0414db65532e6a77e375a%40tno.nl.

-- 
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/8DBF0191-FD21-4AEE-B9D0-9464CF9EBBA5%40topquadrant.com.


Re: [topbraid-users] View Query schemas for use with GraphQL

2021-08-30 Thread Irene Polikoff

To get to the integrated GraphiQL query editor, go to your Taxonomy in EDG and 
then click on Export -> GraphQL Query. 

> On Aug 30, 2021, at 2:16 AM, Holger Knublauch  wrote:
> 
> 
> Hi Sanjeev,
> 
> these are GraphQL schemas, and you can use external GraphQL tools to view 
> them. In particular, the GraphiQL editor that is integrated with TopBraid has 
> a Documentation tab (on the upper right) that allows you to see the technical 
> details. For example
> 
> 
> 
> This tool is also quite popular: https://apis.guru/graphql-voyager/ but you 
> need to understand that GraphQL uses so-called introspection queries to drive 
> such interfaces. I have just run this on the Geography taxonomy - I leave it 
> to your judgement whether this is a sensible display here:
> 
> 
> 
> Usually there is no need to see the whole schema. Many people learn about 
> what's available by simply starting with an empty query such as { } and then 
> use auto-complete to see what's available:
> 
> 
> 
> HTH
> 
> Holger
> 
> 
> 
> On 2021-08-30 4:02 pm, deviredd...@gmail.com wrote:
>> Hi,
>>   From the following TopQuadrant documentation, 
>> https://www.topquadrant.com/technology/graphql/ , I understand that the 
>> "Query schemas for use with GraphQL are automatically generated from the 
>> data models". Now my question is that how to view those Query schemas of a 
>> Concept/Taxonomy in TopBraid EDG user interface(UI)? Could someone please 
>> help to understand that?
>> 
>> 
>> Thanks, 
>> Sanjeev
>> 
>> -- 
>> 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/e529e304-68eb-494d-9246-7b18254e0e6cn%40googlegroups.com.
> -- 
> 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/98a5117a-c8bc-3f6d-b46b-fb24a3902186%40topquadrant.com.

-- 
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/56D58B7A-49CC-472A-8C5B-ABB16C66AC8A%40topquadrant.com.


Re: [topbraid-users] Query Error in EDG but not in TBC

2021-07-23 Thread Irene Polikoff
Use FILTER NOT EXISTS

Correct syntax is in the SPARQL spec e.g., 
https://www.w3.org/TR/sparql11-query/#neg-pattern. When in doubt, simply check 
the spec.

As Pat said, TBC (and Jena, I think) support syntax as per the spec as well as 
certain shortcuts, but SPARQL editor in EDG only supports syntax as per the 
spec:

- EXISTS and NOT EXISTS should always be preceded by the FILTER.

- Aggregate functions (count, min, avg, etc.) in the SELECT clause should 
always be stated as follows (F(?var1) AS ?var2) - see 
https://www.w3.org/TR/sparql11-query/#aggregates

I think these are the two main items.

> On Jul 23, 2021, at 7:30 PM, Tim Smith  wrote:
> 
> Another question... any thoughts on the correct syntax of NOT EXISTS in the 
> EDG SPARQL editor?  Also, is this editor documented somewhere such that I can 
> read-up on the correct syntax?  I have a lot of "querying" to do and I need 
> to do it within EDG unless I open the XDB graph in Composer.  I'm hesitant to 
> do that as I have had it cause corruption issues in the past.
> 
> Thanks!
> 
> Tim
> 
> 
> 
> On Fri, Jul 23, 2021 at 4:55 PM Tim Smith  > wrote:
> Thanks Pat & Steve,
> 
> I will give it a try.
> 
> Tim
> 
> On Fri, Jul 23, 2021, 4:20 PM Steve Ray  > wrote:
> Just to chime in, that second syntax is exactly what I always use.
> 
> Steve
> 
> 
> 
> 
> On Fri, Jul 23, 2021 at 1:15 PM Pat Doyle  > wrote:
> If I recall correctly, this is a consequence of the third party sparql query 
> editor library we use in the browser being a bit more picky about syntax than 
> we are in Composer itself. 
> 
> I think I worked around it in the past by changing any instance of SELECT 
> COUNT(*) to SELECT (COUNT(*) as ?count), or something similar. 
> 
> On Fri, Jul 23, 2021 at 1:07 PM Tim Smith  > wrote:
> Hi,
> 
> Could someone please check this query in EDG?
> 
> SELECT COUNT(*)
> WHERE {
> ?s rdfs:label ?slabel .
> }
> 
> Using TBC 7.0.3, I start TBC, after closing all browsers, open EDG , open the 
> Kennedy Family Data Graph, open a SPARQL panel and type in the query above.
> 
> EDG thinks there is an error in the query:
> 
> 
> 
> Remove the COUNT, and it will work.
> 
> Using the same query in TBC, it executes as expected.  I've reset the SPARQL 
> panel to the default query and re-typed the query several times with the same 
> error message.
> 
> Am I missing something obvious? 
> 
> Thanks,
> 
> Tim
> 
> -- 
> 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/CAF0WbnJLQdHzNR%3Dczy%2BTKXfbJMm8aaUdcLfBB7ZcSeAhXMEP7g%40mail.gmail.com
>  
> .
> 
> -- 
> 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/CA%2B5SJmHv8VgbZ-qquztor4sD0CSfE_2UvO9UfC0%3DrMpwkD4SbQ%40mail.gmail.com
>  
> .
> 
> -- 
> 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/CAGUep85%3DP%2BLs7xqzrRveX1ZBHM7Eyo75piVbMaK8SEXuZQ-4nw%40mail.gmail.com
>  
> .
> 
> -- 
> 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/CAF0WbnLV8mjfbQLxK0CHvvwGcVL64wQ6Vg_w4C7_XB4sJAHb1w%40mail.gmail.com
>  
> 

Re: [topbraid-users] "Return local results only" option appears to be negated

2021-07-22 Thread Irene Polikoff
I tested as well and it is working correctly for me.

> On Jul 22, 2021, at 8:00 PM, Holger Knublauch  wrote:
> 
> Hi Matt,
> 
> this works for me in local tests, but I may be doing something different. Do 
> you have any other search filters or columns active?
> 
> Note that the search now sometimes relies on the auto-complete index (for 
> performance reasons), and that index needs to have the rdf:type triples in 
> the same graph as the label triples. Just in case that could play a role here.
> 
> Ideally, could you raise a TSM support ticket with the relevant files 
> attached?
> 
> Thanks
> Holger
> 
> 
> 
> On 2021-07-23 12:38 am, Matt Goldberg wrote:
>> I'm finally getting around to upgrading from EDG 6 to 7.0.3. I have a Data 
>> Graph that includes a file with a bunch of instances and also has additional 
>> instances defined in the Asset Collection. 
>> 
>> If I run a SPARQL query with the "Also query the included subgraphs" 
>> unchecked, I see 12 instances of a particular class. I know this is true 
>> from the data I imported to the Asset Collection. If I check "Also query the 
>> included subgraphs", then I get 1714 instances of that class. I know this is 
>> correct from Composer.
>> 
>> However, if I select that class in the Data Graph Search pane with the 
>> "Return local results only" UNCHECKED, I only see the 12 results that were 
>> defined locally, and if I check it I see >1000 results that include the 
>> instances from the imported graph. It seems that the behavior of this option 
>> is negated. As a result, the Search pane defaults to only showing resources 
>> defined in the Asset Collection.
>> 
>> Has this been reported before and/or can.others replicate this issue? 
>> -- 
>> 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/5c2b411e-955b-4284-8b86-a458179bd307n%40googlegroups.com
>>  
>> .
> 
> 
> -- 
> 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/54d71280-e1c3-0ab3-b02f-dd8a938d1e65%40topquadrant.com
>  
> .

-- 
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/5DF73195-837D-4EC2-86AD-3375C42E9C51%40topquadrant.com.


Re: [topbraid-users] linking images

2021-07-21 Thread Irene Polikoff
We are considering hosting a Git repository for such extensions.

> On Jul 21, 2021, at 8:57 PM, Rob Atkinson  wrote:
> 
> yes - sorry I managed to lose some text there.. I was going to refer to the 
> edg:classDiagram view as a default image source but allowing it to be 
> overridden with a custom version..
> 
> Irene is right - looking to see if there is a reusable solution out there,   
> 
> but also a question for TQ regarding possibilities for mechanisms for the 
> user community to have a library of components we can share and draw - like 
> the extensive plug-in managers and community marketplaces most IDEs and 
> common platforms come with these days.  
> 
> On Wed, 21 Jul 2021 at 17:11, Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> RDFS and OWL define a few properties that are to be used to describe classes 
> and properties e.g., RDFS:subClassOf for classes. These are available in EDG 
> because RDFS/OWL defines this.
> 
> There are also properties like RDFS:label and comment that are traditionally 
> used in ontologies. They are available in EDG for classes and properties 
> because TopQuadrant added definitions (shapes) for them.
> 
> A given ontology may decide to use other properties when describing classes. 
> For example, RDFS:seeAlso or SKOS:altLabel or my:canonicalExample. This is 
> typically done without declaring that a given property will be used to 
> describe a class and what it’s values should be. Such practice presents an 
> issue for editing tools. Without definitions they can’t know what fields to 
> make available for a given resource and what their values may be e.g., should 
> this be a number, a string, HTML, image, link to another resource, etc.
> 
> When one loads an external ontology into EDG, they will be able to see values 
> of such “undefined” properties, if they check the box for this option in the 
> Form’s settings menu. However, they will not be able to edit the values - as 
> no shapes exist for them.
> 
> To be able to create and edit values of these properties, there needs to be a 
> shape defining them. Rob is asking if anyone already created some additional 
> useful shapes for describing classes that they are willing to share.
> 
> 
>> On Jul 21, 2021, at 2:35 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>> mailto:topbraid-users@googlegroups.com>> 
>> wrote:
>> 
>> 
>> Hi Rob
>> 
>>  
>> 
>> Is there some text missing after:
>> 
>>  
>> 
>> -i.e. a shape that uses the  …..
>> 
>>  
>> 
>> It would help me understand the actual broader issue you triggered (broader 
>> than just my need to have a standard link towards a jpg/png, less generic 
>> than seeAlso).
>> 
>>  
>> 
>> I am not understanding now how my simple technical issue ‘brings us to’ the 
>> broader issue wrt externel owl usage..
>> 
>>  
>> 
>> Thx michel
>> 
>>  
>> 
>>  
>> 
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> 
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl <mailto:michel.bo...@tno.nl>   
>> Location <http://www.tno.nl/locations/DTS>
>> 
>>  
>> 
>>  <http://www.tno.nl/>
>>  <http://www.tno.nl/>
>> 
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the content of this e-mail, for the manner in which you use it 
>> and for damage of any kind resulting from the risks inherent to the 
>> electronic transmission of messages.
>> 
>>  
>> 
>> Van: topbraid-users@googlegroups.com 
>> <mailto:topbraid-users@googlegroups.com> > <mailto:topbraid-users@googlegroups.com>> Namens Rob Atkinson
>> Verzonden: woensdag 21 juli 2021 02:00
>> Aan: topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com>
>> Onderwerp: Re: [topbraid-users] linking images
>> 
>>  
>> 
>> I have had the same requirement - I added a new property "explanatory image" 
>> - and also "canonicalExample" for RDF instances matching the model and 
>> "implementationExample" for implementations of the model in other forms 
>> (such as XML)
>> 
>>  
>> 
>> We are using asciidocs and pyLode to generate documentation automatically 
>> from models via the SPARQL endpoin

Re: [topbraid-users] linking images

2021-07-21 Thread Irene Polikoff
RDFS and OWL define a few properties that are to be used to describe classes 
and properties e.g., RDFS:subClassOf for classes. These are available in EDG 
because RDFS/OWL defines this.

There are also properties like RDFS:label and comment that are traditionally 
used in ontologies. They are available in EDG for classes and properties 
because TopQuadrant added definitions (shapes) for them.

A given ontology may decide to use other properties when describing classes. 
For example, RDFS:seeAlso or SKOS:altLabel or my:canonicalExample. This is 
typically done without declaring that a given property will be used to describe 
a class and what it’s values should be. Such practice presents an issue for 
editing tools. Without definitions they can’t know what fields to make 
available for a given resource and what their values may be e.g., should this 
be a number, a string, HTML, image, link to another resource, etc.

When one loads an external ontology into EDG, they will be able to see values 
of such “undefined” properties, if they check the box for this option in the 
Form’s settings menu. However, they will not be able to edit the values - as no 
shapes exist for them.

To be able to create and edit values of these properties, there needs to be a 
shape defining them. Rob is asking if anyone already created some additional 
useful shapes for describing classes that they are willing to share.


> On Jul 21, 2021, at 2:35 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> Hi Rob
>  
> Is there some text missing after:
>  
> -i.e. a shape that uses the  …..
>  
> It would help me understand the actual broader issue you triggered (broader 
> than just my need to have a standard link towards a jpg/png, less generic 
> than seeAlso).
>  
> I am not understanding now how my simple technical issue ‘brings us to’ the 
> broader issue wrt externel owl usage..
>  
> Thx michel
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl
> Location
> 
>  
> 
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages.
>  
> Van: topbraid-users@googlegroups.com  Namens 
> Rob Atkinson
> Verzonden: woensdag 21 juli 2021 02:00
> Aan: topbraid-users@googlegroups.com
> Onderwerp: Re: [topbraid-users] linking images
>  
> I have had the same requirement - I added a new property "explanatory image" 
> - and also "canonicalExample" for RDF instances matching the model and 
> "implementationExample" for implementations of the model in other forms (such 
> as XML)
>  
> We are using asciidocs and pyLode to generate documentation automatically 
> from models via the SPARQL endpoint.  Still looking for automated (by 
> default) diagramming options. -i.e. a shape that uses the 
>  
> Which brings us to a idea thats been floating around - how TQ users might 
> share shapes that enable external OWL to be used within the EDG environment - 
> since its obviously not scalable or appropriate to wait till TQ includes 
> these in the core.  A "EDG model extension" pattern that can be SHACL 
> validated to plug in a new ontology into an EDG environment seems like a good 
> thing - anyone got such a thing already that can be shared? 
>  
>  
>  
>  
> On Tue, 20 Jul 2021 at 22:40, David Price  wrote:
>  
> 
> 
> On 20 Jul 2021, at 13:26, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
>  
> Thx David, very clear!
> Indeed used as schematics maybe showing how to interprete attributes etc.
>  
> I guess, even when embedded in HTML, there is no special version of 
> rdfs:seeAlso towards HTML resources?
>  
> seeAlso does not refer to the HTML I pasted. That is from the W3C site 
> supporting Prov-O.
>  
> There is no “special version” of any rdfs or owl annotation property.
>  
> Cheers,
> David
> 
> 
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl
> Location
> 
>  
> 
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages.
>  
> Van: topbraid-users@googlegroups.com  Namens 
> David Price
> Verzonden: dinsdag 20 juli 2021 13:04
> Aan: topbraid-users@googlegroups.com
> Onderwerp: Re: [topbraid-users] l

Re: [topbraid-users] EDG does not display sh:qualifiedValueShapes properly

2021-07-12 Thread Irene Polikoff
f course, having 1000 different input and output properties is probably 
excessive. However, using just one may not be the right solution either. I 
can’t say much more without better understanding your information and 
requirements.

2. Using a property in a context where for members of a given class there are 
multiple different sets of values for it - AND - you want to differentiate it 
for a user, as they create data

For example, instead of letting a user to enter any investment instruments in 
the “owns" slot, you want them to have separate form fields to enter stocks 
separately from bonds, separately from commodities, etc. Data will be using the 
same property, but the UI will separate the data entry according to possible 
values. 

In this situation, qualified value shapes give you a way to enumerate different 
value classes, but:

1. There is no out of the box data entry UI to facilitate this experience

You attached a screenshot with the model, but I think your requirements are 
primarily about data creation and what is displayed on a form for that, and not 
so much what is shown on the class form. Correct?

Right now:

If you do not have a class constraint in the general shape on “owns”, then the 
value selector will simply let you pick any resource - provided you specified 
the sh:nodeKind constraint. Otherwise, it does not even know that this supposed 
to be a resource as opposed to a literal
If you have a class constraint with the general parent class e.g., Investment 
Instrument, then a user gets to select any investment instrument.
Data validation will use qualified value shapes, but the form generator will 
not.

2. If you can specify a common super class in the sh:class constraint e.g., 
Investment Instrument, then, even from the data validation perspective, 
qualified value shapes may not give you anything special. The only situations 
where they are useful are when:

There is no natural superclass for all possible objects
You have some specific cardinality constraints or other constraints that are 
different for different shapes. For example, all investors in your world must 
have some stocks, they could also have bonds, etc., but stocks are required. 
Holger said "we had other customers or projects with heavy usage of qualified 
value shapes recently, with similar requirements”. Thus, we will be improving 
the UI.

In doing this, we need to be clear on requirements. I believe the other 
customers Holger talks about primarily care about the UI for creating the 
qualified value shapes, while your requirements are strongly about the data 
entry based on the qualified value shapes. Is this the case?

> 
> Anyway... I will explore other ways to achieve my objective.  Maybe some 
> custom UI elements are warranted.
> 
> Thanks for the always informative discussion,
> 
> Tim
> 
> 
> 
> 
> 
> On Fri, Jul 9, 2021 at 10:08 PM Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> To add to what Holger said, this is the reason sh:name exists. If this was 
> the label of the property shape, then there would be no need to define a new 
> property. One could simply use rdfs:label - as Holger’s example shows. 
> 
> Sh:name was created because it is not the label of the resource that is the 
> subject of the sh:name triples. Instead, it is a display label for the path.
> 
>> On Jul 8, 2021, at 9:34 PM, Holger Knublauch > <mailto:hol...@topquadrant.com>> wrote:
>> 
>> I don't agree on that and believe your use of sh:name does not align with 
>> how the standard intended it to be used. sh:name is supposed to be the 
>> display label for the property, e.g. "owns" and not the label of the 
>> property shape. The label of the property shape should be in rdfs:label, 
>> like you would do it for node shapes. 
> 
> 
> -- 
> 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/47B2E936-0AA8-46BF-82E0-E0DF31F20156%40topquadrant.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/47B2E936-0AA8-46BF-82E0-E0DF31F20156%40topquadrant.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 
> htt

Re: [topbraid-users] EDG does not display sh:qualifiedValueShapes properly

2021-07-09 Thread Irene Polikoff
To add to what Holger said, this is the reason sh:name exists. If this was the 
label of the property shape, then there would be no need to define a new 
property. One could simply use rdfs:label - as Holger’s example shows. 

Sh:name was created because it is not the label of the resource that is the 
subject of the sh:name triples. Instead, it is a display label for the path.

> On Jul 8, 2021, at 9:34 PM, Holger Knublauch  wrote:
> 
> I don't agree on that and believe your use of sh:name does not align with how 
> the standard intended it to be used. sh:name is supposed to be the display 
> label for the property, e.g. "owns" and not the label of the property shape. 
> The label of the property shape should be in rdfs:label, like you would do it 
> for node shapes. 

-- 
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/47B2E936-0AA8-46BF-82E0-E0DF31F20156%40topquadrant.com.


Re: [topbraid-users] sh:targetClass question

2021-07-02 Thread Irene Polikoff
https://www.w3.org/TR/shacl/#shapes-recursion

> On Jul 2, 2021, at 10:50 AM, Steve Ray  wrote:
> 
> I believe that I now understand everything you say regarding sh:node. I 
> recognize that any instance that satisfies the constraints of the NodeShape 
> will pass the sh:node constraint, thus not error is raised.
> 
> All was good until I found that I was hanging TBC. My hypothesis is that in 
> determining satisfaction of the sh:node constraint, the engine had to examine 
> all the properties of the NodeShape. Since some of those properties in turn 
> contained sh:node constraints, it had to recurse in to check if those 
> properties were satisfied. Since some of the instances pointed to each other, 
> I figured I had sent TBC into an infinite recursion.
> 
> To check this, I built a toy example (attached) with a "sibling" relation 
> with the same pattern. However, this example seems to validate just fine, 
> without hanging. I'm wondering why the same infinite recursion is not 
> happening. 
> 
> Steve
> 
> 
> 
> 
> On Wed, Jun 23, 2021 at 3:09 PM Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> 
> Not sure I understand the question. 
> 
> sh:node :Connectable
> 
> Simply means that the values need to satisfy the constraints defined for 
> :Connectable. If you have a type constraint defined for :Connectable (i.e., a 
> property have that rdf:type must be some specific class), then it will be 
> evaluated, but if you don’t, then, it does not matter what is the type of the 
> value resource.
> 
> 
> Given your model, there are two ways to identify nodes to validate against 
> :Connectable - 1)values of :connectsFrom for instances of SomeOtherClass and 
> instances of Device and other target classes. This includes instances of 
> subclass.
> 
> 
>> On Jun 23, 2021, at 3:00 PM, Steve Ray > <mailto:st...@steveray.com>> wrote:
>> 
>> I forgot one detail, which is that I have a subClassOf hierarchy under 
>> Device, and the instances of any of those subClasses do not seem to validate 
>> against the Connectable shape. Does sh:node traverse the subClassOf 
>> hierarchy of the sh:targetClass values?
>> 
>> Steve
>> 
>> 
>> 
>> 
>> On Wed, Jun 23, 2021 at 11:47 AM Irene Polikoff > <mailto:ir...@topquadrant.com>> wrote:
>> What behaviour did you expect?
>> 
>> Since Connectable is just a shape and does not have any instances, then you 
>> can’t use it in sh:class. This constraint says that the value must be an 
>> instance of Connectable, which will always be wrong.
>> 
>> When you say sh:node s223:Connectable, it means that values should validate 
>> against the constraints defined for Connectable. For this scenario targets 
>> associated with Connectable are ignored since the constraint is already 
>> targeting - all values of s223:connectedFrom that belong to members of 
>> SomeOtherClass will be validated against the shape.
>> 
>> All instances of Device, DomainSpace and Sensor will also be validated 
>> against the Connectable shape - because of the target statements.
>> 
>> https://www.w3.org/TR/shacl/#NodeConstraintComponent 
>> <https://www.w3.org/TR/shacl/#NodeConstraintComponent>
>> 
>> https://www.w3.org/TR/shacl/#focusNodes 
>> <https://www.w3.org/TR/shacl/#focusNodes>
>> 
>>> On Jun 23, 2021, at 1:19 PM, Steve Ray >> <mailto:st...@steveray.com>> wrote:
>>> 
>>> The discussion you have been having regarding sh:targetClass reminds me of 
>>> a problem I am having, as follows. 
>>> 
>>> I'm defining an abstract "mixin" shape, Connectable, that has various 
>>> properties used by a number of target classes. I do not want to allow 
>>> instantiation of Connectable, so I defined it only as a NodeShape, but not 
>>> an owl:Class. (I cannot use the dash:abstract property without stepping 
>>> outside strict SHACL). Then, I need other classes to have the equivalent of 
>>> a sh:class constraint on properties that point to instances of all those 
>>> target classes. I assume I cannot use sh:class as in the example below, 
>>> since Connectable is not a class. I tried sh:node, since the documentation 
>>> implies that's what I need, but I'm not getting the expected behavior.
>>> 
>>> Am I misunderstanding the use of sh:node?
>>> 
>>> s223:Connectable
>>>   a sh:NodeShape ;
>>> ...various properties
>>>   sh:targetClass s223:Device ;
>>>   sh:targetClass s223:DomainSpace ;
>>>   

Re: [topbraid-users] label position

2021-06-29 Thread Irene Polikoff
I will answer this question from two perspectives:

1. Standards
2. TopBraid EDG

1. From the standards perspective, rdfs:isDefinedBy is a utility property that 
has no standard semantics.

It is typically used to connect a resource to its “home” vocabulary (a graph). 
This is the use case specifically mentioned by the RDFS specification and this 
is how it is typically used in practice.

Not having standard semantics means that users are generally free to use it in 
any way they want - with an understanding that there is no standard treatment 
of it by tools. A tool could decide to do something special when they see this 
property - or not. Most (all?) tools don’t.

Thus, if your intended semantics (meaning) is that the object of a triple with 
rdfs:isDefinedBy predicate carries a label and a definition for the subject of 
that triple, it is up to you to implement software that will understand this 
semantics and will act on it. You can’t expect that a standards compliant tools 
will understand this.

2. How TopBraid EDG will treat this information

As per above, by default, TopBraid EDG will simply treat a triple with 
rdfs:isDefinedBy predicate the same ass any other triple. It will not mean 
anything special to EDG - unless you tell EDG that it has a special meaning.

You can define inference rules to give rdfs:isDefinedBy a special meaning. For 
example, the property value rule below will automatically infer skos:definition 
for sml:Activity from sml-term:Activity.

Or, more generally, for any class from any concept connected to it by 
rdfs:isDefinedBy.


owl:Class
  sh:property owl:Class-definition ;
sh:property owl:Class-isDefinedBy ;
.


owl:Class-isDefinedBy
  a sh:PropertyShape ;
  sh:path rdfs:isDefinedBy ;
  sh:class skos:Concept ;


owl:Class-definition
  a sh:PropertyShape ;
  sh:path skos:definition ;
  sh:values [
  sh:path skos:definition ;
  sh:nodes [
  sh:path rdfs:isDefinedBy ;
] ;
] ;
.

Note: You can do this for any property except for the 
rdfs:label/skos:prefLabel. EDG uses special indexing and algorithms for these 
labels and their values need to be asserted directly for each resource.

> On Jun 29, 2021, at 3:46 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> Dear All,
> 
> We use the pattern:
> 
>  
> 
> sml-term:Activity
> 
>   a skos:Concept ;
> 
>   skos:broader sml-term:Entity ;
> 
>   skos:definition "An activity is something possibly or actually happening in 
> space and time"@en ;
> 
>   skos:prefLabel "Activity"@en ;
> 
> .
> 
>  
> 
> sml:Activity
> 
>   a rdfs:Class ;
> 
>   rdfs:isDefinedBy sml-term:Activity ;
> 
>   rdfs:subClassOf sml:Entity ;
> 
> .
> 
>  
> But this means that the label is only indirectly available for sml:Activity 
> (via “isDefinedBy.prefLabel”)
>  
> Is this an issue? (many tools like to have a direct label for their classes)
> Better solutions?
> (I’d like to define only once, not double; label feels naturally close to 
> definition; maybe only prefLabel to rdfs-variant and leave 
> altLabel/definition at skos?)
>  
> Thx for advice,
> Michel
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl 
> Location 
> 
>  
>  
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages. 
>  
> 
> -- 
> 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/65077d500edc4a6bb4f8289d08326df2%40tno.nl
>  
> .

-- 
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/635E061F-7D01-4786-9506-597AFB7249E3%40topquadrant.com.


Re: [topbraid-users] sh:or vs sh:xone

2021-06-24 Thread Irene Polikoff
Because you can only have one value for each property, I think the following 
will work:

resnet:CellExpression
  rdf:type owl:Class ;
  rdf:type sh:NodeShape ;
  rdfs:label "CellExpression" ;
  rdfs:subClassOf owl:Thing ;
  sh:property [
sh:path resnet:target ;
sh:NodeKind sh:IRI ;
sh:maxCount 1 ;
sh:minCount 1 ;
  ] ;
  sh:property [
sh:path resnet:regulator ;
sh:NodeKind sh:IRI 
sh:maxCount 1 ;
sh:minCount 1 ;
  ] ;
  sh:or (
  [
sh:property [
sh:path resnet:regulator;
sh:class resnet:CellType ;
  ] ;
sh:property [
sh:path resnet:target ;
sh:class resnet:Complex ;
  ] ;
  ]
  [
sh:property [
sh:path resnet:regulator ;
sh:class resnet:Organ 
  ] ;
sh:property [
sh:path resnet:target ;
sh:class resnet:Virus ;
  ] ;
  ]
  [
sh:property [
sh:path resnet:regulator ;
sh:class resnet:Organ ;
  ] ;
sh:property [
sh:path resnet:target ;
sh:class resnet:FunctionalClass ;
  ]
  ]
  );
.

> On Jun 24, 2021, at 4:27 AM, Maatary Okouya  wrote:
> 
> Hi,
> 
> I am trying  to double check some modeling use of sh:or/sh:xone my team and I 
> have done so far. It will greatly help me wrap my head around the meanings of 
> disjunction in shacl. 
> 
> 
> 
> We need to express the following: 
> 
> A Cell Expression (reified relation) is between either ( exclusively) a 
> CellType and a Complex, (x)or an Organ and Virus, (x)or an Organ and a 
> FunctionalClass and so on. 
> 
> Another way to look at it is your graph can have CellType - cellexpression -> 
> Complex | Organ - cellExpression -> Virus | .
> 
> 
> The way we have modeled that is with an sh:xone as in what follows: 
> 
> 
> resnet:CellExpression
>   rdf:type owl:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:label "CellExpression" ;
>   rdfs:subClassOf owl:Thing ;
>   sh:xone (
>   [
> sh:property [
> sh:path resnet:regulator ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:CellType ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
> sh:property [
> sh:path resnet:target ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:Complex ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
>   ]
>   [
> sh:property [
> sh:path resnet:regulator ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:Organ ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
> sh:property [
> sh:path resnet:target ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:Virus ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
>   ]
>   [
> sh:property [
> sh:path resnet:regulator ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:Organ ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
> sh:property [
> sh:path resnet:target ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:FunctionalClass ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ]
>   ]
>   );
> .
> 
> 
> However  based on conversation and read I have had here and there (in 
> particular with Hogler)  on sh:or , i'm thinking maybe the sh:xor is actually 
> not necessary here, and simply using
> 
> sh:or would be best. Indeed as soon as one of the alternative works, it 
> should only be that one if more properties are added, none of the alternative 
> should pass. 
> 
> hence we could express it as such: 
> 
> resnet:CellExpression
>   rdf:type owl:Class ;
>   rdf:type sh:NodeShape ;
>   rdfs:label "CellExpression" ;
>   rdfs:subClassOf owl:Thing ;
>   sh:or (
>   [
> sh:property [
> sh:path resnet:regulator ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:CellType ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
> sh:property [
> sh:path resnet:target ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:Complex ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
>   ]
>   [
> sh:property [
> sh:path resnet:regulator ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:Organ ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
> sh:property [
> sh:path resnet:target ;
> sh:NodeKind sh:IRI ;
> sh:class resnet:Virus ;
> sh:maxCount 1 ;
> sh:minCount 1 ;
>   ] ;
>   ]
>   [
> sh:property [
>   

Re: [topbraid-users] sh:targetClass question

2021-06-23 Thread Irene Polikoff

Not sure I understand the question. 

sh:node :Connectable

Simply means that the values need to satisfy the constraints defined for 
:Connectable. If you have a type constraint defined for :Connectable (i.e., a 
property have that rdf:type must be some specific class), then it will be 
evaluated, but if you don’t, then, it does not matter what is the type of the 
value resource.


Given your model, there are two ways to identify nodes to validate against 
:Connectable - 1)values of :connectsFrom for instances of SomeOtherClass and 
instances of Device and other target classes. This includes instances of 
subclass.


> On Jun 23, 2021, at 3:00 PM, Steve Ray  wrote:
> 
> I forgot one detail, which is that I have a subClassOf hierarchy under 
> Device, and the instances of any of those subClasses do not seem to validate 
> against the Connectable shape. Does sh:node traverse the subClassOf hierarchy 
> of the sh:targetClass values?
> 
> Steve
> 
> 
> 
> 
> On Wed, Jun 23, 2021 at 11:47 AM Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> What behaviour did you expect?
> 
> Since Connectable is just a shape and does not have any instances, then you 
> can’t use it in sh:class. This constraint says that the value must be an 
> instance of Connectable, which will always be wrong.
> 
> When you say sh:node s223:Connectable, it means that values should validate 
> against the constraints defined for Connectable. For this scenario targets 
> associated with Connectable are ignored since the constraint is already 
> targeting - all values of s223:connectedFrom that belong to members of 
> SomeOtherClass will be validated against the shape.
> 
> All instances of Device, DomainSpace and Sensor will also be validated 
> against the Connectable shape - because of the target statements.
> 
> https://www.w3.org/TR/shacl/#NodeConstraintComponent 
> <https://www.w3.org/TR/shacl/#NodeConstraintComponent>
> 
> https://www.w3.org/TR/shacl/#focusNodes 
> <https://www.w3.org/TR/shacl/#focusNodes>
> 
>> On Jun 23, 2021, at 1:19 PM, Steve Ray > <mailto:st...@steveray.com>> wrote:
>> 
>> The discussion you have been having regarding sh:targetClass reminds me of a 
>> problem I am having, as follows. 
>> 
>> I'm defining an abstract "mixin" shape, Connectable, that has various 
>> properties used by a number of target classes. I do not want to allow 
>> instantiation of Connectable, so I defined it only as a NodeShape, but not 
>> an owl:Class. (I cannot use the dash:abstract property without stepping 
>> outside strict SHACL). Then, I need other classes to have the equivalent of 
>> a sh:class constraint on properties that point to instances of all those 
>> target classes. I assume I cannot use sh:class as in the example below, 
>> since Connectable is not a class. I tried sh:node, since the documentation 
>> implies that's what I need, but I'm not getting the expected behavior.
>> 
>> Am I misunderstanding the use of sh:node?
>> 
>> s223:Connectable
>>   a sh:NodeShape ;
>> ...various properties
>>   sh:targetClass s223:Device ;
>>   sh:targetClass s223:DomainSpace ;
>>   sh:targetClass s223:Sensor ;
>> .
>> 
>> s223:Device
>>   a owl:Class ;
>>   a sh:NodeShape ;
>> ...
>> .
>> 
>> # Presumed invalid case
>> s223:SomeOtherClass
>>   a owl:Class ;
>>   a sh:NodeShape ;
>>   sh:property [
>>   sh:path s223:connectsFrom ;
>>   sh:class s223:Connectable ;
>> ...
>> 
>> #Expected valid case
>> s223:SomeOtherClass
>>   a owl:Class ;
>>   a sh:NodeShape ;
>>   sh:property [
>>   sh:path s223:connectsFrom ;
>>   sh:node s223:Connectable ;
>> ...
>> 
>> 
>> Steve
>> 
>> 
>> 
>> -- 
>> 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/CAGUep86aRz_enWzvhfMkT5pW0SvNA3XYdbdB%2BAsSXP%3DfEFAusQ%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/CAGUep86aRz_enWzvhfMkT5pW0SvNA3XYdbdB%2BAsSXP%3DfEFAusQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TopBraid Suite Users" gr

Re: [topbraid-users] sh:targetClass question

2021-06-23 Thread Irene Polikoff
What behaviour did you expect?

Since Connectable is just a shape and does not have any instances, then you 
can’t use it in sh:class. This constraint says that the value must be an 
instance of Connectable, which will always be wrong.

When you say sh:node s223:Connectable, it means that values should validate 
against the constraints defined for Connectable. For this scenario targets 
associated with Connectable are ignored since the constraint is already 
targeting - all values of s223:connectedFrom that belong to members of 
SomeOtherClass will be validated against the shape.

All instances of Device, DomainSpace and Sensor will also be validated against 
the Connectable shape - because of the target statements.

https://www.w3.org/TR/shacl/#NodeConstraintComponent

https://www.w3.org/TR/shacl/#focusNodes

> On Jun 23, 2021, at 1:19 PM, Steve Ray  wrote:
> 
> The discussion you have been having regarding sh:targetClass reminds me of a 
> problem I am having, as follows. 
> 
> I'm defining an abstract "mixin" shape, Connectable, that has various 
> properties used by a number of target classes. I do not want to allow 
> instantiation of Connectable, so I defined it only as a NodeShape, but not an 
> owl:Class. (I cannot use the dash:abstract property without stepping outside 
> strict SHACL). Then, I need other classes to have the equivalent of a 
> sh:class constraint on properties that point to instances of all those target 
> classes. I assume I cannot use sh:class as in the example below, since 
> Connectable is not a class. I tried sh:node, since the documentation implies 
> that's what I need, but I'm not getting the expected behavior.
> 
> Am I misunderstanding the use of sh:node?
> 
> s223:Connectable
>   a sh:NodeShape ;
> ...various properties
>   sh:targetClass s223:Device ;
>   sh:targetClass s223:DomainSpace ;
>   sh:targetClass s223:Sensor ;
> .
> 
> s223:Device
>   a owl:Class ;
>   a sh:NodeShape ;
> ...
> .
> 
> # Presumed invalid case
> s223:SomeOtherClass
>   a owl:Class ;
>   a sh:NodeShape ;
>   sh:property [
>   sh:path s223:connectsFrom ;
>   sh:class s223:Connectable ;
> ...
> 
> #Expected valid case
> s223:SomeOtherClass
>   a owl:Class ;
>   a sh:NodeShape ;
>   sh:property [
>   sh:path s223:connectsFrom ;
>   sh:node s223:Connectable ;
> ...
> 
> 
> Steve
> 
> 
> 
> -- 
> 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/CAGUep86aRz_enWzvhfMkT5pW0SvNA3XYdbdB%2BAsSXP%3DfEFAusQ%40mail.gmail.com
>  
> .

-- 
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/3A11B544-71EA-48BD-B068-0BA71EBD5E1D%40topquadrant.com.


Re: [topbraid-users] simple shacl question

2021-06-23 Thread Irene Polikoff
You need a target - either explicitly by using one the SHACL target statements 
or implicitly by saying that it is a class as well as a node shape

> On Jun 23, 2021, at 3:27 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> And then similar question for:
>  
> ex:heightShape
>   a sh:NodeShape ;
>   sh:targetObjectsOf ex:height ;
>   sh:class sml:QuantityValue ;
> .
>  
> Can it be:
>  
> ex:height
>   a sh:NodeShape ;
>   sh:class sml:QuantityValue ;


The first shape targets all resources that are objects in the ?s ex:height ?o 
triples.

The second one does not target anything. If you make it a class, it will target 
all resources of the ex:height.
> .
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl 
> Location 
> 
>  
>  
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages. 
>  
> Van: Bohms, H.M. (Michel) 
> Verzonden: woensdag 23 juni 2021 09:25
> Aan: topbraid-users@googlegroups.com 
> Onderwerp: simple shacl question
>  
> Just checking…
>  
> Instead of:
>  
> ex:BridgeShape
>   a sh:NodeShape ;
>   sh:targetClass ex:Bridge ;
>   sh:property [
> sh:path ex:height ;
> sh:minCount 1 ;
> ] ;
>   sh:property [
> sh:path sml:hasPart ;
> sh:minCount 1 ;
> sh:maxCount 1 ;
> sh:class ex:Deck ;
> ] ;
> .
>  
> I can say:
>  
> ex:Bridge
>   a sh:NodeShape ;
>   sh:property [
> sh:path ex:height ;
> sh:minCount 1 ;
> ] ;
>   sh:property [
> sh:path sml:hasPart ;
> sh:minCount 1 ;
> sh:maxCount 1 ;
> sh:class ex:Deck ;
> ] ;
> .
>  
> Right?
> Thx michel
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl 
> Location 
> 
>  
>  
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages. 
>  
> 
> -- 
> 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/e9de0317a39a47fd822f2b35b3a6d25c%40tno.nl
>  
> .

-- 
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/869413D0-8A62-4A49-8D9C-7121B25C01C8%40topquadrant.com.


Re: [topbraid-users] simple shacl question

2021-06-23 Thread Irene Polikoff
>  
> ex:Bridge
>   a sh:NodeShape, owl:Class ; (or rdfs:Class)
>   sh:property [
> sh:path ex:height ;
> sh:minCount 1 ;
> ] ;
>   sh:property [
> sh:path sml:hasPart ;
> sh:minCount 1 ;
> sh:maxCount 1 ;
> sh:class ex:Deck ;
> ] ;
> .


This is necessary to establish the target.

> On Jun 23, 2021, at 3:25 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> Just checking…
>  
> Instead of:
>  
> ex:BridgeShape
>   a sh:NodeShape ;
>   sh:targetClass ex:Bridge ;
>   sh:property [
> sh:path ex:height ;
> sh:minCount 1 ;
> ] ;
>   sh:property [
> sh:path sml:hasPart ;
> sh:minCount 1 ;
> sh:maxCount 1 ;
> sh:class ex:Deck ;
> ] ;
> .
>  
> I can say:
>  
> ex:Bridge
>   a sh:NodeShape ;
>   sh:property [
> sh:path ex:height ;
> sh:minCount 1 ;
> ] ;
>   sh:property [
> sh:path sml:hasPart ;
> sh:minCount 1 ;
> sh:maxCount 1 ;
> sh:class ex:Deck ;
> ] ;
> .
>  
> Right?
> Thx michel
>  
>  
> Dr. ir. H.M. (Michel) Bohms
> Scientist Specialist
> Structural Reliability
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E michel.bo...@tno.nl 
> Location 
> 
>  
>  
> This message may contain information that is not intended for you. If you are 
> not the addressee or if this message was sent to you by mistake, you are 
> requested to inform the sender and delete the message. TNO accepts no 
> liability for the content of this e-mail, for the manner in which you use it 
> and for damage of any kind resulting from the risks inherent to the 
> electronic transmission of messages. 
>  
> 
> -- 
> 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/165cca5ae08e4e088d45585a8994b992%40tno.nl
>  
> .

-- 
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/813D5CF6-DCB7-493B-B4BE-271AD2D6635A%40topquadrant.com.


[topbraid-users] Sunsetting support for SPIN constraints

2021-06-21 Thread Irene Polikoff
This month marks the fourth anniversary of SHACL becoming a W3C standard. SHACL 
is now supported by nearly all major RDF technology vendors. It has become much 
wider known and used than SPIN ever was. TopQuadrant offers industry leading 
support for SHACL. 

With this, we are starting a gradual process for sunsetting some of the SPIN 
capabilities. Details of the schedule will be developed in consultation with 
customers. 

We are starting with SPIN constraints (see 
https://www.topquadrant.com/technology/sparql-rules-spin/spin-constraints/ 
<https://www.topquadrant.com/technology/sparql-rules-spin/spin-constraints/>) 
as SHACL Constraints offer all the functionality of SPIN Constraints and much 
more with its pre-defined constraint library. We plan to sunset support for 
SPIN Constraints in the 7.1 release in October 2021. SPIN rules, templates and 
functions will still be supported.

We believe that the vast majority (hopefully, all) of our users today are 
already using only SHACL for data validation. Thus, we expect this to have very 
little impact on our customers. If, by any chance, you are still using SPIN 
Constraints, now is a good time to start the migration.

Regards,

Irene Polikoff

-- 
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/731617FB-D267-4267-9D29-4ED50253CAD6%40topquadrant.com.


Re: [topbraid-users] Staying with official SHACL

2021-06-20 Thread Irene Polikoff
If you have no need for it, you don’t have to use it, just like you don’t have 
to use every single feature of SHACL.

> On Jun 20, 2021, at 12:12 PM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> 
> Ok butthat stuff is not used internally, like when checking shacl?
> Ie if we do not use it...no issue?
> Thx
> 
> Op 20 jun. 2021 04:59 schreef Irene Polikoff :
> This is very easy to find out. Just go to http://datashapes.org/dash. All 
> functionality is explained in detail.
> 
>> On Jun 19, 2021, at 5:48 PM, Steve Ray  wrote:
>> 
>> Very cool! With bated breath, I tried it, and nothing blew up!
>> 
>> It would be good to know at some point what functionality I lose by directly 
>> importing 
>> owl:imports
>> <http://www.w3.org/ns/shacl#>
>>  ;
>> 
>> 
>> instead of
>>  
>> owl:imports
>> <http://datashapes.org/dash>
>>  ;
>> 
>> 
>> 
>> 
>> Steve
>> 
>> 
>> 
>> 
>> On Sat, Jun 19, 2021 at 3:36 AM David Price  wrote:
>>> Hi Steve and Michel
>>> 
>>> I’m not near my computer so cannot do it for you, but suggest replacing 
>>> dash import with SHACL import and trying it. I think that’s ok.
>>> 
>>> Cheers,
>>> David
>>> 
>>>> On 19 Jun 2021, at 08:44, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>>>>  wrote:
>>>> 
>>>> 
>>>> I have exactly the same issue in CEN TC442/WG4/TG3 ….
>>>> 
>>>>  
>>>> 
>>>> I now have:
>>>> 
>>>>  
>>>> 
>>>> # baseURI: https://w3id.org/sml/shacl/def
>>>> 
>>>> # imports: https://w3id.org/sml/rdfs/def
>>>> 
>>>> # imports: http://datashapes.org/dash
>>>> 
>>>> # imports: http://qudt.org/schema/qudt
>>>> 
>>>> # imports: http://qudt.org/vocab/quantitykind
>>>> 
>>>> # imports: http://qudt.org/vocab/unit
>>>> 
>>>> # imports: http://www.w3.org/2004/02/skos/core
>>>> 
>>>> # imports: https://www.w3.org/2006/time
>>>> 
>>>> # prefix: sml
>>>> 
>>>>  
>>>> 
>>>> @prefix dash: <http://datashapes.org/dash#> .
>>>> 
>>>> @prefix sml: <https://w3id.org/sml/def#> .
>>>> 
>>>> @prefix owl: <http://www.w3.org/2002/07/owl#> .
>>>> 
>>>> @prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
>>>> 
>>>> @prefix qudt: <http://qudt.org/schema/qudt/> .
>>>> 
>>>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>>>> 
>>>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>>>> 
>>>> @prefix sh: <http://www.w3.org/ns/shacl#> .
>>>> 
>>>> @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
>>>> 
>>>> @prefix time: <http://www.w3.org/2006/time#> .
>>>> 
>>>> @prefix unit: <http://qudt.org/vocab/unit/> .
>>>> 
>>>> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
>>>> 
>>>>  
>>>> 
>>>> <https://w3id.org/sml/shacl/def>
>>>> 
>>>>   a owl:Ontology ;
>>>> 
>>>>   owl:imports <https://w3id.org/sml/rdfs/def> ;
>>>> 
>>>>   owl:imports <http://datashapes.org/dash> ;
>>>> 
>>>>   owl:imports <http://qudt.org/schema/qudt> ;
>>>> 
>>>>   owl:imports <http://qudt.org/vocab/quantitykind> ;
>>>> 
>>>>   owl:imports <http://qudt.org/vocab/unit> ;
>>>> 
>>>>   owl:imports <https://www.w3.org/2006/time> ;
>>>> 
>>>> .
>>>> 
>>>> Etc.
>>>> 
>>>>  
>>>> 
>>>> But people question the red.
>>>> 
>>>>  
>>>> 
>>>> Thx michel
>>>> 
>>>>  
>>>> 
>>>>  
>>>> 
>>>> Dr. ir. H.M. (Michel) Bohms
>>>> Scientist Specialist
>>>> Structural Reliability
>>>> 
>>>> T +31 (0)88 866 31 07
>>>> M +31 (0)63 038 12 20
>>>> E michel.bo...@tno.nl
>>>> 
>>>> Location
>>>> 
>>>>  
>>&

Re: [topbraid-users] Staying with official SHACL

2021-06-19 Thread Irene Polikoff
This is very easy to find out. Just go to http://datashapes.org/dash. All 
functionality is explained in detail.

> On Jun 19, 2021, at 5:48 PM, Steve Ray  wrote:
> 
> Very cool! With bated breath, I tried it, and nothing blew up!
> 
> It would be good to know at some point what functionality I lose by directly 
> importing 
>   owl:imports > ;
> instead of
>owl:imports > ;
> 
> Steve
> 
> 
> 
> 
> On Sat, Jun 19, 2021 at 3:36 AM David Price  > wrote:
> Hi Steve and Michel
> 
> I’m not near my computer so cannot do it for you, but suggest replacing dash 
> import with SHACL import and trying it. I think that’s ok.
> 
> Cheers,
> David
> 
>> On 19 Jun 2021, at 08:44, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>> mailto:topbraid-users@googlegroups.com>> 
>> wrote:
>> 
>> 
>> I have exactly the same issue in CEN TC442/WG4/TG3 ….
>> 
>>  
>> 
>> I now have:
>> 
>>  
>> 
>> # baseURI: https://w3id.org/sml/shacl/def 
>> # imports: https://w3id.org/sml/rdfs/def 
>> # imports: http://datashapes.org/dash 
>> # imports: http://qudt.org/schema/qudt 
>> # imports: http://qudt.org/vocab/quantitykind 
>> 
>> # imports: http://qudt.org/vocab/unit 
>> # imports: http://www.w3.org/2004/02/skos/core 
>> 
>> # imports: https://www.w3.org/2006/time 
>> # prefix: sml
>> 
>>  
>> 
>> @prefix dash: > .
>> 
>> @prefix sml: > .
>> 
>> @prefix owl: > > .
>> 
>> @prefix quantitykind: > > .
>> 
>> @prefix qudt: > .
>> 
>> @prefix rdf: > > .
>> 
>> @prefix rdfs: > > .
>> 
>> @prefix sh: > .
>> 
>> @prefix skos: > > .
>> 
>> @prefix time: > .
>> 
>> @prefix unit: > .
>> 
>> @prefix xsd: > > .
>> 
>>  
>> 
>> >
>> 
>>   a owl:Ontology ;
>> 
>>   owl:imports > > ;
>> 
>>   owl:imports > ;
>> 
>>   owl:imports > ;
>> 
>>   owl:imports > > ;
>> 
>>   owl:imports > ;
>> 
>>   owl:imports > ;
>> 
>> .
>> 
>> Etc.
>> 
>>  
>> 
>> But people question the red.
>> 
>>  
>> 
>> Thx michel
>> 
>>  
>> 
>>  
>> 
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> 
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl    
>> Location 
>> 
>>  
>> 
>>  
>>  
>> 
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the content of this e-mail, for the manner in which you use it 
>> and for damage of any kind resulting from the risks inherent to the 
>> electronic transmission of messages.
>> 
>>  
>> 
>> Van: topbraid-users@googlegroups.com 
>>  > > Namens Steve Ray
>> Verzonden: vrijdag 18 juni 2021 21:58
>> Aan: TopBraid Suite Users > >
>> Onderwerp: [topbraid-users] Staying with official SHACL
>> 
>>  
>> 
>> Hi, I'm working with a standards committee that would rather avoid straying 
>> outside the official W3C SHACL standard. My question is, if I removed the 
>> import of datashapes.org/dash  from the files 
>> I'm working with, does this bring the TopQuadrant tools to a crashing halt 
>> as far as running the SHACL reasoner?
>> 
>>  
>> 

Re: [topbraid-users] Reading and mapping JSON files

2021-06-11 Thread Irene Polikoff
o map the JSON to RDF using SHACL shapes. 
The value of graphql:queryShape is used as root shape for the traversal.

To use this option, you will need to have a model in SHACL that corresponds to 
the structure of your JSON objects. It can be a separate model just for what is 
in the JSON objects or a a part of a larger SHACL ontology.

This module is closely connected to our GraphQL capabilities. GraphQL 
technology pages are available here: 
https://www.topquadrant.com/technology/graphql/. 

Technical details of how GraphQL Schemas are generated from SHACL are here 
https://www.topquadrant.com/graphql/shacl-graphql.html 
<https://www.topquadrant.com/graphql/shacl-graphql.html>. Yes, this is used to 
query RDF with GraphQL and get JSON out. But it is also used in the other 
direction, to convert JSON to RDF. 

You would also need to create an instance of the graphql:Schema class and 
declare which node shapes/classes are part of the schema. If you identify a 
class/node shape as public class of the scheme, all its subclasses/node shapes 
are also a part of the scheme.


In short, these are two very different modules. 


> On Jun 11, 2021, at 11:11 AM, Jack Hodges  wrote:
> 
> I of course read everything TQ had on the use of SPARQL Motion (and many 
> times over the years) before posting anything, as well as to search the forum 
> archives. To do less would have been disrespectful of your time.
> 
> We are up to date on our support agreement but I wanted to move to the end of 
> this project without new learning curves being involved. The project is just 
> too tight on hours for that.
> 
> You said "This module does not produce the same output as the ConvertXMLToRDF 
> module, so you would need to change your next steps". Do you have any 
> documentation or are you willing to share what you mean by "change your next 
> steps"? I will reread Holger's original response and try to go there, but I 
> didn't see the answer in his answer.
> 
> Jack
> 
> On Thursday, June 10, 2021 at 5:25:48 PM UTC-7 Irene Polikoff wrote:
> Hi Jack,
> 
> We continuously evolve and improve our technologies based on the feedback 
> from the marketplace and our users. 
> 
> SPARQLMotion and SPINMap are cool, but, for one reason or another, they did 
> not get broadly used by our customers. In response to this, we have developed 
> our next generation of technology - it is heavily based on SHACL and includes 
> GraphQL and Active Data Shapes (ADS). To some extent, SWP as well, but we 
> recommend ADS over SWP - it has less of a learning curve and better tooling. 
> SPARQLMotion modules themselves continue to get used, but the scripts do not.
> 
> The original e-mail below from 2 years ago describes how the ConvertJSONToRDF 
> module works. This module does not produce the same output as the 
> ConvertXMLToRDF module, so you would need to change your next steps.
> 
> I understand that you would prefer to continue to use what you have been 
> using starting with 6 or 7 years ago (or may be even longer). However, our 
> advise for any new work is to chose what is being currently broadly used, 
> developed and supported.
> 
> Our current recommendation for converting JSON into RDF is to use ADS 
> scripting: 
> https://www.topquadrant.com/configuring-topbraid-edg-with-javascript/ 
> <https://www.topquadrant.com/configuring-topbraid-edg-with-javascript/>. The 
> other options described in the e-mail below are still applicable, but we 
> believe that ADS will be the most optimal in dealing with transformations 
> that you may need. It was not yet released in the summer of 2019.
> 
> ADS scripts can be developed directly in EDG which you, presumably, could 
> launch on the localhost, single user model from TBC - if you kept up to date 
> with the current releases. 7.0 release introduces Files option so that you 
> could even do this in a file. If you are dealing with large scale data, 
> though, we recommend creation of proper EDG ontologies that are separate from 
> the asset collections that contain instance data. As I recall, you are in 
> process of purchasing EDG server license to upgrade your outdate server 
> version of TopBraid Live. Given this, you should be able to readily run these 
> scripts on the server.
> 
> You will find development information, examples and videos here 
> http://www.datashapes.org/active/ <http://www.datashapes.org/active/>. If you 
> have some experience with JavaScript, it should be easy for you to get 
> started with ADS.
> 
> Irene
> 
> 
>> On Jun 10, 2021, at 7:41 PM, Jack Hodges > > wrote:
>> 
> 
>> I am doing the same thing and want to convert a SPIN Map mapping that I am 
>> using with XML and have been asked to use JSON i

Re: [topbraid-users] Reading and mapping JSON files

2021-06-10 Thread Irene Polikoff
Hi Jack,

We continuously evolve and improve our technologies based on the feedback from 
the marketplace and our users. 

SPARQLMotion and SPINMap are cool, but, for one reason or another, they did not 
get broadly used by our customers. In response to this, we have developed our 
next generation of technology - it is heavily based on SHACL and includes 
GraphQL and Active Data Shapes (ADS). To some extent, SWP as well, but we 
recommend ADS over SWP - it has less of a learning curve and better tooling. 
SPARQLMotion modules themselves continue to get used, but the scripts do not.

The original e-mail below from 2 years ago describes how the ConvertJSONToRDF 
module works. This module does not produce the same output as the 
ConvertXMLToRDF module, so you would need to change your next steps.

I understand that you would prefer to continue to use what you have been using 
starting with 6 or 7 years ago (or may be even longer). However, our advise for 
any new work is to chose what is being currently broadly used, developed and 
supported.

Our current recommendation for converting JSON into RDF is to use ADS 
scripting: 
https://www.topquadrant.com/configuring-topbraid-edg-with-javascript/. The 
other options described in the e-mail below are still applicable, but we 
believe that ADS will be the most optimal in dealing with transformations that 
you may need. It was not yet released in the summer of 2019.

ADS scripts can be developed directly in EDG which you, presumably, could 
launch on the localhost, single user model from TBC - if you kept up to date 
with the current releases. 7.0 release introduces Files option so that you 
could even do this in a file. If you are dealing with large scale data, though, 
we recommend creation of proper EDG ontologies that are separate from the asset 
collections that contain instance data. As I recall, you are in process of 
purchasing EDG server license to upgrade your outdate server version of 
TopBraid Live. Given this, you should be able to readily run these scripts on 
the server.

You will find development information, examples and videos here 
http://www.datashapes.org/active/. If you have some experience with JavaScript, 
it should be easy for you to get started with ADS.

Irene

> On Jun 10, 2021, at 7:41 PM, Jack Hodges  wrote:
> 
> I am doing the same thing and want to convert a SPIN Map mapping that I am 
> using with XML and have been asked to use JSON instead.
> 
> TBCME has a ConvertXMLToRDF SPARQL Motion module that takes plain (but valid) 
> XML and produces a default RDF graph. I then use a SPIN Map to map from that 
> generic RDF to my target schema. This works great.
> 
> I expected the ConvertJSONToRDF module to work the same way; that TBCME would 
> read the JSON, convert it to a generic RDF that would look the same as the 
> previous one (since I converted the XML to JSON to test everything). All I 
> expected to have to do was to swap the ConvertXMLToRDF module with the 
> ConvertJSONToRDF module. If I stop the execution after this module there are 
> a number of instances of the http://topbraid.org/json namespace (which 
> doesn't appear to exist) but the next conversion doesn't work.
> 
> I do not want to use GraphQL or SHACL or SWP to do this, just SPARQL Motion, 
> SPIN Map, and the published modules. Please advise.
> 
> Jack
> 
> On Tuesday, August 20, 2019 at 1:23:43 PM UTC-7 Irene Polikoff wrote:
> Hi Daniel,
> 
> The key piece is to have SHACL Shapes that correspond to the structure of 
> your JSON. They are used to guide the conversion.
> 
> If you already have a GraphQL schema for your JSON, TopBraid EDG can create 
> SHACL Shapes from it. 
> 
> For example, in TBC, you could use Import:
> 
> 
> 
> Technical details behind how this works are here: 
> https://www.topquadrant.com/graphql/graphql-shacl.html 
> <https://www.topquadrant.com/graphql/graphql-shacl.html>
> 
> 
> sml:ConvertJSONToRDF described below by Holger, has the following arguments:
> 
> sml:keepRootObject (xsd:boolean): [Optional] In GraphQL mode (sml:service is 
> provided) then the root object is typically just a container derived from the 
> Query. By default, the triples of this root object will not be kept. Set to 
> true to keep these triples in the result graph.
> sm:outputVariable (xsd:string): [Optional] The name of the result variable 
> (defaults to "root") that will contain the root object of the converted JSON 
> code.
> sml:service (graphql:Schema): [Optional] A GraphQL service object providing 
> information on how to map the JSON to RDF using SHACL shapes.
> sml:text (xsd:string): The JSON input text, either a JSON object or array.
> 
> If you do not have a GraphQL Schema for your JSON, then you could start by 
> creating a SHACL model that correspond to your J

Re: [topbraid-users] Proper use of sh:prefixes

2021-06-01 Thread Irene Polikoff


> On Jun 1, 2021, at 4:39 AM, Jan Voskuil  wrote:
> 
> Hi, 
> While trying to familiarize myself with sh:values in EDG, I fail to get the 
> results I think I expect using sh:prefixes. I’ve read the spec and Holger’s 
> mail dd March 22 2021 on this topic in  this forum.
> In TopBraid Examples Geo Ontology, I added a values property shape to 
> g:GeoConcept that counts the number of narrowers, see [1]. It works as 
> expected.
> But I had to use sh:prefixes as in [2], with the urn-URI. When using the 
> “external graph URI” as the graphURI as in [3], the prefix declaration is not 
> found, even though I did set this parameter on the settings tab, as seen 
> under [4].
>  
> The external graphURI is to be used as value of owl:imports*, so I would 
> expect [3] to work, or is this by design? -j


Right, the external graph URI only works for import/export and re-directs of 
owl:imports, not in SPARQL. You do need to refer to the actual URI that has 
prefix declarations.

Btw, Your declarations in (4) seem to be missing quotes around the namespaces. 
They should be

sh:declare [
  sh:namespace "http://topquadrant.com/ns/examples/geography#"^^xsd:anyURI ;
  sh:prefix "g" ;
] ;


You probably already know this, but just in case - if you decide to declare a 
prefix in the query, use:

sh:values [
  sh:prefixes [
  sh:declare [
  sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ;
  sh:prefix "skos" ;
] ;
] ;
  sh:select """
  SELECT COUNT(?n)
  WHERE {
?n skos:broader ?this .
  }
  """ ;
] ;

Also, there is no need to use SPARQL for this particular example. You could do 
the following:

skos:Concept-countOfChildren
  a sh:PropertyShape ;
  sh:path g:countOfChildren ;
  sh:datatype xsd:integer ;
  sh:name "count of children" ;
  sh:values [
  sh:count [
  sh:path [
  sh:inversePath skos:broader ;
] ;
] ;
] ;
.
>  
> [1]
> 
>  
> [2]
> g:GeoConcept-numberOfNarrowers
>   a sh:PropertyShape ;
>   sh:path g:numberOfNarrowers ;
>   sh:datatype xsd:integer ;
>  sh:maxCount 1 ;
>   sh:name "number of narrowers" ;
>   sh:values [
>   sh:prefixes  ;
>   sh:select """
>   SELECT COUNT(?n)
>   WHERE {
> ?n skos:broader ?this .
>   }
>   """ ;
> ] ;
> .
>  
> [3]
>   sh:prefixes  > ;
> or
>   sh:prefixes g: ;
>  
> [4]
> 
>   a owl:Ontology ;
>   metadata:status metadata:UnderDevelopmentStatus ;
>   swa:defaultNamespace http://topquadrant.com/ns/examples/geography# 
>  ;
>   teamwork:externalGraphURI g: ;
>   rdfs:comment "Schema definition for Geography Taxonomy." ;
>   rdfs:label "TopBraid Examples Geo Ontology" ;
>   owl:imports http://datashapes.org/dash  ;
>   owl:imports http://datashapes.org/graphql  ;
>   owl:imports http://spinrdf.org/spl  ;
>   owl:imports http://topbraid.org/skos-xl.shapes 
>  ;
>   owl:imports http://topbraid.org/skos.shapes 
>  ;
>   owl:imports http://topbraid.org/tbgeo  ;
>   owl:imports http://topbraid.org/teamworkconstraints 
>  ;
>   sh:declare [
>   sh:namespace http://topquadrant.com/ns/examples/geography# 
> ^^xsd:anyURI ;
>   sh:prefix "g" ;
> ] ;
>   sh:declare [
>   sh:namespace http://www.w3.org/2004/02/skos/core# 
> ^^xsd:anyURI ;
>  sh:prefix "skos" ;
> ] ;
>   sh:declare [
>   sh:namespace http://www.wikidata.org/prop/direct/ 
> ^^xsd:anyURI ;
>   sh:prefix "wdt" ;
> ] ;
> .
>  
> Jan Voskuil | CEO Taxonic
> Veldzigt 2, 3454 PW, De Meern, The Netherlands
> T +31 (0)88 829 66 00 | M:+31 (0)6 14488335
> jan.vosk...@taxonic.com  | www.taxonic.com 
> 
> Registered office in Den Haag, The Netherlands
> Registration Number Chamber of Commerce: 54529190
>  
> 
> -- 
> 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/AM0PR03MB37457F535B94C01BE60F12B9E93E9%40AM0PR03MB3745.eurprd03.prod.outlook.com
>  
> .

-- 
You receiv

Re: [topbraid-users] converting excel to rdf - ontology- querying using SPARQL

2021-05-17 Thread Irene Polikoff
Logically speaking, you need an ontology before you convert data into triples. 
Otherwise, the best a software can do is assume that there is a single class 
and each column is a property with literal values. In other words, no 
relationships.

In any case, have you tried to just open the file in TBC? It should ask you if 
you already have an ontology. If not, it will create properties using the above 
assumption. The ontology must have annotations to help transform data in a more 
“custom” way.

Go to Help->TopBraid Composer > Importing Data Sources > Import external 
information > Import Spreadsheets >Handling Table documents with Semantic 
Tables to learn more.

Once your data is converted, query it with SPARQL.


Another option:

If you have TBC Maestro, you also have a local version of TopBraid EDG - go 
there from the TopBraid Applications menu in TBC.

1. Create an ontology in EDG

2. Create classes reflected in your data. If you are talking about 
relationships, you are likely to have more than one class. If your 
relationships are between members of the same class, then you only need one 
class.

3. Populate class properties from the spreadsheet using Derive property shapes 
from spreadsheet columns for each class. See 
https://doc.topquadrant.com/7.0/ontologies/#Modify_Menu and 
https://doc.topquadrant.com/7.0/importing/#Import_Property_Shapes_from_Spreadsheet_Columns.
 You will get a dialog where you will be able to indicate that some columns are 
relationships.

4. Make your classes “public” as described here: 
https://doc.topquadrant.com/7.0/ontologies/#SHACL_requirements_for_working_with_Reference_Datasets_and_Data_Graphs

5. Create a data graph in EDG, base it on the ontology above. 

6. Import spreadsheet data as described here: 
https://doc.topquadrant.com/7.0/importing/#Import_Spreadsheet_using_Pattern

Each import creates instances of a single class that you select in the wizard.

Further, you must have a row to import for each resource you want to create. 

For example, if there are two columns Person and Organization and you want this 
to be a relationship. You need to first create organizations, then people. You 
would need to import the spreadsheet twice - first time to create organizations 
(you would not map the Person column), second time to create people and build 
the relationship to organizations (you would map both, person and organization 
columns).

7. Switch to the SPARQL Layout to query your data



> On May 17, 2021, at 5:01 PM, varun ramireddy  
> wrote:
> 
> Hi all, 
> 
> I am trying to do the below using TopBraid Composer Maestro edition :
> 1) convert an excel file to RDF triples (output format required as .ttl)
> 2) create an Ontology so that relationships between columns can be mapped
> 3) followed by the creation of an ontology and triples (by using excel data), 
> I would like to query the triples using SPARQL. 
> 
> Being new to the TopBraid Composer Maestro software, any help/ advice on the 
> above is very much appreciated. 
> 
> Kind regards, 
> Varun
> 
> 
> -- 
> 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/bed54728-0ad3-4681-9508-de86ff2fe22an%40googlegroups.com
>  
> .

-- 
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/14C8652B-55C7-4B8E-97D4-467A1C289E64%40topquadrant.com.


Re: [topbraid-users] Querying the TCH for the last changed date of a resource

2021-05-14 Thread Irene Polikoff
I can explain how the data is stored in more detail:

There is a change resource that has the time of a change.


  rdf:type teamwork:Change ;
  dcterms:created "2021-05-14T21:56:29.119Z"^^xsd:dateTime ;
  sioc:has_creator  ;

Change resource is a subject of added and deleted triples in this transaction. 
These triples capture what exactly was added or deleted.

Let’s say, an alternative label was added for Raleigh. You will get:


  rdf:type teamwork:Change ;
  dcterms:created "2021-05-14T21:56:29.119Z"^^xsd:dateTime ;
  sioc:has_creator  ;
 teamwork:added [
  teamwork:object "new synonym" ;
  teamwork:predicate skos:altLabel ;
  teamwork:subject g:Raleigh ;
] ;

If you looking for the last change only, then you need to go for the most 
recent date among the change records that did something with each concept - in 
the example above g:Raleigh. There may be multiple changes where g:Raleigh is 
the value of a teamwork:subject, you want to select the one with the greatest  
dcterms:created to determine the last date/time of a change.

If a change happened in a working copy, the change resource will have the tag 
property which value is a working copy. For example.


teamwork:tag 
.

If you want to include only committed changes and go by the date of commit, not 
the date a change was made, this adds some complexity since the most recent 
change is not necessary the one where the edit happened most recently. You need 
to:

First, select only changes that are associated with a workflow/working copy 
that is committed {?wc. teamwork:status teamwork:Committed} 

And look for the date of commit as opposed to the date of a particular change. 
The workflow captures all its status changes, this gives you the date of commit.

For example,


  rdf:type teamwork:Tag ;
  teamwork:status teamwork:Committed ;
  teamwork:statusChange [
  dcterms:created "2021-05-14T18:02:37.739-04:00"^^xsd:dateTime ;
  sioc:has_creator  ;
  teamwork:newStatus teamwork:FrozenForReview ;
] ;
  teamwork:statusChange [
  dcterms:created "2021-05-14T18:03:43.626-04:00"^^xsd:dateTime ;
  sioc:has_creator  ;
  teamwork:newStatus teamwork:Approved ;
] ;
  teamwork:statusChange [
  dcterms:created "2021-05-14T18:04:00.756-04:00"^^xsd:dateTime ;
  sioc:has_creator  ;
  teamwork:newStatus teamwork:Committed ;
] ;



> On May 14, 2021, at 4:57 PM, cbur...@healthwise.org  
> wrote:
> 
> Suppose I want to write a query for the last changed date of every concept in 
> my taxonomy. Further suppose that in the case of changes made in working 
> copies, I'm only interested in the date the change was committed to 
> production.
> 
> How can I write these kinds of queries? Is there someplace where all the 
> classes and properties in the teamwork: namespace are documented? I don't 
> really see much here: https://doc.topquadrant.com/7.0/teamwork/
> 
> By searching the archives of this message board, I discovered that the 
> property  > exists, but it seems to apply only 
> to entire knowledge graphs, not to individual resources like concepts. Is 
> that right?
> 
> -- 
> 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/ba353455-1708-4ecf-a280-20d654ac9c10n%40googlegroups.com
>  
> .

-- 
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/5330E624-FDAF-4481-8137-AFAB5CC35B4F%40topquadrant.com.


Re: [topbraid-users] Importing external change history

2021-05-13 Thread Irene Polikoff
Example of how changes look like is provided at 
https://doc.topquadrant.com/7.0/teamwork/

Regarding the TriG import option, there are a couple of things to know about it:

1. This import will create either asset collections in EDG (loading data into 
them) or RDF files in EDG’s workspace
2. Asset collections are created for graphs in the TriG file that are described 
as such. In other words, they have they follow the EDG naming convention 
(urn:x-evn-master:XY) and they specify the collection type e.g.,


  a taxonomies:Taxonomy ;
  a teamwork:Vocabulary ;
  a owl:Ontology ;

This triple indicates that it should be created as a taxonomy:


  a taxonomies:Taxonomy ;

If you want a graph to be created as an ontology asset collection (e.g., to 
contain classes or properties other than SKOS that you want to be used in your 
taxonomies), then skip " a taxonomies:Taxonomy”.

See: https://doc.topquadrant.com/7.0/importing/#Import_TriG_file.

Also, relevant is: https://doc.topquadrant.com/7.0/preparing-rdf-data/ 

> On May 13, 2021, at 12:45 PM, David Price  wrote:
> 
> 
> 
>> On 13 May 2021, at 17:37, Boris Pelakh > > wrote:
>> 
>> Thank you, Holger, that's great. I was able to find the ontology at 
>> https://www.topbraid.org/teamwork , but 
>> are you aware of any sample Change data I can look at as examples?
> 
> I test running EDG from Composer, doing some changes and then exit EDG and 
> look at the tch graph of the collection you edited. Use that pattern and 
> you’re sure whatever you generate matches what looks nice when displayed in 
> EDG.
> 
> Cheers,
> David
> 
>> 
>> On Thursday, May 13, 2021 at 4:44:54 AM UTC-4 Holger Knublauch wrote:
>> Hi Boris,
>> 
>> On 2021-05-13 10:33 am, Boris Pelakh wrote:
>>> I am in the process of migrating some taxonomies from PoolParty into 
>>> TopBraid EDG. The simple path is an RDF export of the taxonomy (which is 
>>> SKOS and dcterms-compliant), and then import the RDF after creating the 
>>> taxonomy in EDG. I have a couple of questions:
>>> 
>>> Is there an API endpoint to create a new taxonomy from RDF content, i.e. 
>>> without manual interaction, so I can automate the process?
>> 
>> Yes there are various options, depending on what input file(s) you have and 
>> whether the taxonomies already exist and you just want to replace the 
>> content. Basically if you click through the UI with a network monitor you 
>> can see which web services are called. For example you could use 
>> teamwork:ImportTrigFileService which is the service behind the + > Create 
>> Multiple Asset Collections from TriG File  button. You can also write SWP or 
>> ADS scripts that actively pull content from external web services. Or you 
>> could call a combination of the teamwork:createProject service and 
>> tbl/importFileUpload.
>> 
>> What is your starting point: individual Turtle files but no existing 
>> Taxonomy yet?
>> 
>>> I have a way of exporting revision history from PoolParty either as JSON or 
>>> RDF. Is there a way for me to import this history into EDG (I can transform 
>>> it into any schema required)
>> 
>> The change history of EDG graphs is stored in so-called .tch graphs using 
>> RDF. For example you could create instances of teamwork:Change using SPARQL. 
>> If the PP history is already in RDF, I guess you could do an INSERT { ... } 
>> WHERE { ... } update using SPARQL.
>> 
>> 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-users+unsubscr...@googlegroups.com 
>> .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/topbraid-users/5b3ef746-63c3-4979-9430-cb9072778382n%40googlegroups.com
>>  
>> .
> 
> UK +44 (0) 7788 561308
> US +1 (336) 283-0808‬
> 
> 
> -- 
> 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/BD136B92-8ED4-4975-ABBE-0A83DD130BCC%40topquadrant.com
>  
> .

-- 
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 

Re: [topbraid-users] retrieving triples in a .txt file

2021-05-10 Thread Irene Polikoff
?

You have listed 3 triples:

:Abdominalandgastrointestinalinfections a :TOCILIZUMAB.
:Abdominalandgastrointestinalinfections :hasadverseReaction "Abdominal and 
gastrointestinal infections” .
:Abdominalandgastrointestinalinfections rdfs:label "Abdominal and 
gastrointestinal infections" .

and then you bolded object of one triple and predicate and object of another 
triple

> On May 11, 2021, at 1:34 AM, Monika Yadav  wrote:
> 
> 
> Actually I am getting the following output in my turtle file(I have provided 
> only one term as an example). I want the ones in BOLD ONLY
> 
> :Abdominalandgastrointestinalinfections
>   a :TOCILIZUMAB ;
>   :hasadverseReaction "Abdominal and gastrointestinal infections" ;
>   rdfs:label "Abdominal and gastrointestinal infections" ;
> 
>  
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
> Virus-free. www.avast.com 
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>  
> On Mon, May 10, 2021 at 7:55 PM Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> I think a simpler question is “what does your Turtle file contains that you 
> do not want”.
> 
>> On May 10, 2021, at 4:52 AM, Monika Yadav > <mailto:mnk.yadav...@gmail.com>> wrote:
>> 
>> I want to export triples from the .ttl file. Actually I have made a ontology 
>> by merging many .ttl file in top braid composer. Now I want to export it in 
>> any format so that i can have only triples(Subject,Predicate, Object).
>> e.g. drug1 hasadversereaction reaction1
>> drug2 hasadversereaction reaction2
>> where drug1 and drug2 are classes, hasdversereaction is an object property 
>> having all values for adverse reaction due to drug
>> 
>>  
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>Virus-free. www.avast.com 
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>  <>
>> On Mon, May 10, 2021 at 5:26 AM Holger Knublauch > <mailto:hol...@topquadrant.com>> wrote:
>> Hi Monika,
>> 
>> I am not sure I understand your question, so I cannot help you. Could you 
>> clarify what input file you have and what you want TopBraid to do with that 
>> file?
>> 
>> Holger
>> 
>> 
>> 
>> On 2021-05-08 2:52 am, mnk.ya...@gmail.com <mailto:mnk.ya...@gmail.com> 
>> wrote:
>>> Hello Everyone,
>>> Can we retrieve only triplets from .ttl file  in  a .txt file or any other 
>>> file from top braid composer maestro edition.
>>> Please Help!
>>> Thanks & Regards
>>> Monika
>>> -- 
>>> 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/8865882f-8477-403d-89bd-3f03b15e04a3n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/topbraid-users/8865882f-8477-403d-89bd-3f03b15e04a3n%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/4ad0b2a4-40a7-5adf-892e-6784ae744262%40topquadrant.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/4ad0b2a4-40a7-5adf-892e-6784ae744262%40topquadrant.com?utm_medium=email&utm_source=footer>.
>> 
>> 
>> -- 
>> Regards:
>> Monika Yadav
>> Assistant Professor
>> M.Tech (Computer Science)
>> 
>> 
>> 
>> -- 
>> 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...@googlegro

Re: [topbraid-users] retrieving triples in a .txt file

2021-05-10 Thread Irene Polikoff
I think a simpler question is “what does your Turtle file contains that you do 
not want”.

> On May 10, 2021, at 4:52 AM, Monika Yadav  wrote:
> 
> I want to export triples from the .ttl file. Actually I have made a ontology 
> by merging many .ttl file in top braid composer. Now I want to export it in 
> any format so that i can have only triples(Subject,Predicate, Object).
> e.g. drug1 hasadversereaction reaction1
> drug2 hasadversereaction reaction2
> where drug1 and drug2 are classes, hasdversereaction is an object property 
> having all values for adverse reaction due to drug
> 
>  
> 
> Virus-free. www.avast.com 
> 
>  
> On Mon, May 10, 2021 at 5:26 AM Holger Knublauch  > wrote:
> Hi Monika,
> 
> I am not sure I understand your question, so I cannot help you. Could you 
> clarify what input file you have and what you want TopBraid to do with that 
> file?
> 
> Holger
> 
> 
> 
> On 2021-05-08 2:52 am, mnk.ya...@gmail.com  wrote:
>> Hello Everyone,
>> Can we retrieve only triplets from .ttl file  in  a .txt file or any other 
>> file from top braid composer maestro edition.
>> Please Help!
>> Thanks & Regards
>> Monika
>> -- 
>> 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/8865882f-8477-403d-89bd-3f03b15e04a3n%40googlegroups.com
>>  
>> .
> 
> 
> -- 
> 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/4ad0b2a4-40a7-5adf-892e-6784ae744262%40topquadrant.com
>  
> .
> 
> 
> -- 
> Regards:
> Monika Yadav
> Assistant Professor
> M.Tech (Computer Science)
> 
> 
> 
> -- 
> 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/CAAauOwX3a57Qiiy5d1YKku_dX5by-f%3D6OvrqvM-DsDHS0pUepg%40mail.gmail.com
>  
> .

-- 
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/89FD4C4A-5247-4486-BBEE-992D3F53522C%40topquadrant.com.


Re: [topbraid-users] inheriting dash viewer and other properties from superclass shapes

2021-05-04 Thread Irene Polikoff
I don’t quite understand your model, but may be the following will help:

1. If you have a NodeShape that is not a class, but targets a class, it is 
considered an alternative view for the class members.  The default view is 
always based on what is defined for the class that is also a node shape - 
unless you change it as described in 3.

2. The best practice for modeling is to use such node shapes to declare views 
with a smaller number of properties than the class itself or with the same 
number of properties but organized in a different way.

3. The node shape views will be available on forms as drop downs. You can make 
such view to be the default for all or some users. This is done by setting the 
"default view for roles" property.

4. The “merged view” is intended to support cases when a resource is a member 
of two or more classes unrelated to each other e.g., a Database Column and a 
Numeric Data Element.

> On May 4, 2021, at 10:11 PM, robatki...@gmail.com  
> wrote:
> 
> 
> I have a nodeshape for a superclass that defines viewers for some key 
> properties that I want subClasses to use.
> 
> Three issues - possibly with a common thread of ignorance connecting them :-)
> 
> 1 ) The subclass form offers me two views - the superclass shape with the 
> correct DetailsViewer and the subclass, which reverts to a blank node display.
> 
> The "merged view" loses the superclass's viewer constraint - so i get the 
> ugly blank node option..
> 
> 2) why doesnt the subclass view use the superclass NodeShape ?
> (it has a nodeshape declared with a single extra property )
>  
> 3) why does the subclass inherit properties from superclasses obove the 
> superclass with its NodeShape,  but not from the superclass itself?
> 
> 
> 
> 
> 
> -- 
> 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/2cb36b06-fa46-465b-84d8-ccc68c8c0711n%40googlegroups.com
>  
> .

-- 
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/30B7372C-2DBE-4536-BC57-5662B2DCC612%40topquadrant.com.


Re: [topbraid-users] [topbraid users] SPARQL results export to TTL file not working as expected

2021-04-29 Thread Irene Polikoff
The values bound to ?p are blank nodes which are in turn are subjects of 
triples that form a complex structure - as you see in your RDF snippet.

Sent from my iPhone

> On Apr 29, 2021, at 6:49 AM, Rashmi Burse  wrote:
> 
> 
> Hi,
> 
> I want to create a subgraph consisting of only the "Disorder sub-hierarchy" 
> of SNOMED. I am trying to create this subgraph from the complete SNOMED-OWL 
> graph using a SPARQL CONSTRUCT query. I have used the SPARQL query tab 
> provided in the free edition of TopBraid ontology editor Version 6.0.1 
> (tbcfe-6.0.1). The query displays the correct result in the ontology editor 
> window. However, when I export the results to a TTL file, the properties 
> consisting of owl:equivalentCLass/ owl:intersectionOf / owl:Restriction show 
> an empty [] in the created subgraph. Can someone please help me with this 
> issue? 
> 
> PFA attached screenshots.
> 
> Best,
> Rashmi
> -- 
> 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/CAGaQz-jQOxfvDtry_ZpYLG5eyorh1xrBfYGFy_7xZhgbR1BKYg%40mail.gmail.com.
> 
> 
> 

-- 
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/5FFC2EE8-B0D8-4104-85B6-CD867AAF2752%40topquadrant.com.


Re: [topbraid-users] Sparql Query

2021-04-28 Thread Irene Polikoff
The answer depends on how you are associating properties with classes. There 
are 3 approaches and they have different semantics and syntax:

SHACL

:C1 sh:property [ sh:path :hasReaction;
 sh:hasValue “abscess”].

Or equivalent that is not using a blank node

:C1 sh:property :C1-hasReaction;

:C1-hasReaction a sh:PropertyShape;
sh:path :hasReaction;
sh:hasValue “abscess”.

https://www.w3.org/TR/shacl/ 

OWL

:C1 rdfs:subClassOf [owl:onProperty :hasReaction;
owl:hasValue “abscess" ].

It is not customary to give the URI to OWL restriction, but instead of 
rdfs:subClassOf, one can also use owl:equivalentClass - depends on what they 
want to say.

https://www.w3.org/TR/owl2-overview/ 

RDFS

:hasReaction rdfs:domain :C1.

There are no local restrictions in RDFS and you could not say that it has value 
abscess. If abscess was a class, then you could use rdfs:range.

Can the same property have 2 different values? Yes, of course. However, with 
RDFS, if you say

:hasReaction rdfs:range :abscess.
:hasReaction rdfs:range :somethingElse.

It will mean that every instance that is a value of :hasReaction is BOTH, an 
instance of the class abscess and an instance of the class somethingElse. If 
you do not want to say this, then you must use owl:unionOf in the range.

https://www.w3.org/TR/rdf-schema/ 

If abscess was a class, then you would specify SHACL constraint and OWL 
restriction differently. in SHACL you use sh:class constraint or you could use 
sh:in and a complex path :hasReaction/^rdf:type.

In OWL you would use owl:allValuesFrom or owl:someValuesFrom restriction - 
depending on what you want to say.

For multiple values:

With SHACL, you could do something like:

:C1 sh:property [ sh:path :hasReaction;
 sh:hasValue “abscess”].
:C1 sh:property [ sh:path :hasReaction;
 sh:hasValue “somethingElse”].

With OWL, you would also specify two restrictions.

In all three cases, you are NOT saying that the class has reaction abscess. You 
are saying that instances of a class (if they exist) have reaction “abscess”.

You may need to consider if you really need to use classes or if you are 
building a controlled vocabulary of instances. Then, it becomes much simpler. 
You just say:

:C1 :hasReaction “abscess”. Or, most likely, you want to say that it is a 
resource:

:C1 :hasReaction :abscess.
:C1 :hasReaction :somethingElse.

Now that you see what triples associate a class with a property, you can 
formulate your SPARQL query. Keep in mind that if you are using classes and 
subclasses, you will probably want to retrieve in the query not only classes 
that have the constraints, but also their subclasses.

> On Apr 28, 2021, at 8:02 AM, mnk.ya...@gmail.com  
> wrote:
> 
> Suppose we have classes named c1, c2,c3,c4 and c1 has property named 
> hasReaction, C2 has property name hasadverseReaction, C3 has property named 
> drugReaction.
>  My question is: firstly can different classes has same property name which 
> have diffrent values.
> 2nd question I wanted to retrieve all classes name which has some particular 
> reaction e.g. abscess. or all wanted to retrieve name of those classes which 
> has abscess as value of their property(hasReaction,  hasadverseReaction, 
> drugReaction) 
> Thanks 
> 
> -- 
> 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/0bf89e78-0e6a-4ab0-82a0-8a660e427033n%40googlegroups.com
>  
> .

-- 
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/EC0DB434-2FAF-4209-8007-48BC2BDDD27D%40topquadrant.com.


Re: [topbraid-users] Hiding/deactivating concepts

2021-04-12 Thread Irene Polikoff
An obvious solution is to make them a member of a different class e.g., 
ex:RetiredConcept. And remove the type they had previously. This class should 
be “stand alone” i.e., not a subclass of skos:Concept.

> On Apr 12, 2021, at 11:58 AM, cbur...@healthwise.org 
>  wrote:
> 
> Holger,
> 
> Thanks for the reply. I should've been more explicit about my use case. I 
> know about dash:hidden, but all it seems to do for concepts is to hide them 
> from the hierarchy. What I'm looking for is a way to:
> 
> 1. prevent certain concepts from appearing as suggestions when using Quick 
> Search in the taxonomy. (My users tell me that having retired concepts show 
> up when they use the Quick Search is confusing and cluttered, which I have to 
> agree with.)
> 2. prevent them from appearing as suggestions when mapping other resources to 
> our concepts in an EDG Data Graph. (Again, users suggest that only active 
> concepts should be available as possible tags. We already have a constraint 
> in place to warn users upon saving a resource that's mapped to an inactive 
> concept, but we would prefer to make it impossible to add such a mapping in 
> the first place.)
> 
> Our taxonomist has taken to adding "DEPRECATED" to the beginning of 
> deactivated concept labels so that these concepts don't get used, but there 
> has to be a better way, right?
> On Friday, April 9, 2021 at 5:44:16 PM UTC-7 Holger Knublauch wrote:
> 
> 
> On 10/04/2021 4:45 am, Carl Burnett wrote:
>> Is there a way to make concepts in a Taxonomy hidden or deactivated?
>> 
> 
> Yes, using dash:hidden:
> 
> 
>>  
>> 
>> Is there a way to do that to concepts in an EDG project (such as a Data 
>> Graph) that includes that Taxonomy?
>> 
>>  
>> 
> 
> This mechanism works for the Taxonomy Hierarchy panel, so as long as people 
> use that to navigate (in Data Graph or where ever) it should be fine. 
> However, even for hidden concepts there are still other ways to navigate to 
> them, e.g. if there are direct links to them on a form or in results of 
> SPARQL queries.
> 
> Holger
> 
> 
> 
> 
>> Carl Burnett
>> 
>> Senior Ontology Engineer  |  Healthwise
>> 
>> cbur...@healthwise.org  
>>  |  www.healthwise.org 
>> 208.489.8485 
>>  
>> 
> 
>> -- 
>> 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/CY4PR19MB15903254AE17D2BF39E5C049B7739%40CY4PR19MB1590.namprd19.prod.outlook.com
>>  
>> .
> 
> 
> -- 
> 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/853996e9-05fc-4f58-b238-84905db0d792n%40googlegroups.com
>  
> .

-- 
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/171F2A11-08DD-4E2B-9AC9-74060BF28F21%40topquadrant.com.


Re: [topbraid-users] Regarding mapping using SPIN Map

2021-04-10 Thread Irene Polikoff
SPINMap uses  certain built in functions to transform data. For example, 
buildURI will generate a URI by using some strings as input. When using SPINMap 
there is a source class and a target class. The transformation transforms data 
about instances of the source class to create instances of the target class. 
These ‘to be created instances’ of the target class need URIs. Build URI can be 
used to generate URIs for the new instances out of some data of the source 
instances. It could also be used to build relationships between the new 
instances of the target class and some other resources.

It is not clear from this email what type of transformation you want to 
achieve. I think you are saying that you already have instances of class A and 
instances of class B and they both have some string properties with values that 
are drag names. What do you want to happen?

Do you want to create instances of B from instances of A? What transformations 
do you need to accomplish this?

If, for example:
-Class A instances have a property p1 with the string names of drugs
-Class B instances should have a property p2 that links them to instances of 
the class Drug
- Instances of Drug have URIs that can be derived from a name of a drug i.e., 
the p1 values

Then, as you create instances of B from instances of A, you could use build URI 
to create relationships from the text values of p1 to create values of p2.


> On Apr 10, 2021, at 1:52 AM, mnk.ya...@gmail.com  
> wrote:
> 
> 
> Hello Everyone,
> I Have a doubt in mapping
> When we are using SPIN Map and suppose classes has properties which have some 
> value in common. e.g. Class A has property name drug which has 1000 drug 
> instances and Class B has property name Drugname which also has 800 drug 
> instances. Then how we map them which function to use like build URI. Can we 
> get some inferences after this mapping
> Please Suggest!!
> -- 
> 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/e7f37501-64c2-4da0-b4c2-09d702af0398n%40googlegroups.com.

-- 
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/D523026E-A324-490E-B2F9-A9BD889B2038%40topquadrant.com.


Re: [topbraid-users] best practise name space in multiple languages?

2021-04-09 Thread Irene Polikoff
Yes, exactly.

To simplify it even more:

There are graphs and they have identity - graph URI. owl:imports statements 
refer to the graph URIs.
A graph contains a set of triple statements about some resources. These 
resources also have identity - URIs of resources.
URIs are formed by combining some namespace with a local name.
There is no requirement for the namespace used to form the URI of a graph to be 
the same as the namespace(s) used to form URIs of resources that participate in 
the triple statements in a graph. 
In many cases, it is a good practice for resources to use the same namespace as 
the graph - at least resources that are subjects in the triples contained in a 
graph. 
However, there are also significant exceptions and you can see examples of this 
all over the place.

> On Apr 9, 2021, at 6:32 AM, David Price  wrote:
> 
> Hi Michel,
> 
> I
> 
>> On 9 Apr 2021, at 09:52, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>> mailto:topbraid-users@googlegroups.com>> 
>> wrote:
>> 
>> Ok,….my misunderstanding becomes clearer…😊
>>  
>> Typically i used up till now owl:imports referencing other name spaces
>>  
>> Do I understand now that the import can also be a (sub)graph/file saying 
>> something about a name space?
>>  
>> If both rdfs and shacl variant have name space say https://w3id.org/nen2660 
>> /def , what would the owl:imports statement look 
>> like in the shacl variant file?
>> 
>> Guess I used up till now some assumptions on name space uri versus graph uri 
>> that I now better have to differentiate….
> 
> 
> I’ll simply a bit, but a good way to think about it is that the concept of 
> the named graph (with name being a Graph URI) is actually what owl:imports 
> references.  A named graph may define classes/properties that use any number 
> of namespaces, made simpler by using prefixes for the namespaces.
> 
> A named graph with Graph URI like https://w3id.org/nen2660/shapes 
>  is not the same thing as a concept of 
> Namespace URI like https://w3id.org/nen2660# .   
> From the Turtle Primer:
> 
> prefix rdfs:, namespace URI: http://www.w3.org/2000/01/rdf-schema# 
> 
> 
> Note that it calls the non-local name of a full URI a "namespace URI” so I 
> should probably be doing that too.
> 
> Technically, there is zero relationship between the graph URI and namespace 
> URI. The named graph can be http://anything.at.all  
> and define classes and properties using http://michel.com# 
>  as the namespace URI. That much difference may confuse 
> people, so it’s not usually recommended but it’s fine technically.
> 
> All the classes/properties of interest can then use the same namespace URI, 
> even if they are managed in different named graphs
> 
> So,  https://w3id.org/nen2660 #Class1 
>  an rdfs:Class can be in  
> https://w3id.org/nen2660/schema  graph and  
> https://w3id.org/nen2660 #NodeShape2 
>  a SHACL NodeShape can be in  
> https://w3id.org/nen2660/shapes  graph. 
> 
> Both graphs as TTL would state 
> 
> @prefix nen2660: > . 
> 
> so you’d see nen2660:Class1 and nen2660:NodeShape2 and so things are is 
> consistent wrt writing SPARQL queries, for example, over the schema/shapes 
> and over the data.
> 
> Then https://w3id.org/nen2660/shapes  
> owl:imports  https://w3id.org/nen2660/schema 
>   so NodeShape2 can refer to Class1.
> 
> Tooling often supports a “Default Namespace” for a graph exactly to simplify 
> the separation of the Graph URI from the namespace URI.
> 
> This separation also supports versions of ontologies. So, for example named 
> graphs http://standard.iso.org/mystandard/edition1 
>  and 
> http://standard.iso.org/mystandard/edition2 
>  
> can both contain 
> 
> http://standard.iso.org/mystandard/ 
> MyClass 
>  a rdfs:Class .   
> 
> with no problem.
> 
> Cheers,
> David
> 
>>  
>>  
>>  
>> Dr. ir. H.M. (Michel) Bohms
>> Scientist Specialist
>> Structural Reliability
>> T +31 (0)88 866 31 07
>> M +31 (0)63 038 12 20
>> E michel.bo...@tno.nl    
>> Location 
>> 
>>  
>>  
>> This message may contain information that is not intended for you. If you 
>> are not the addressee or if this message was sent to you by mistake, you are 
>> requested to inform the sender and delete the message. TNO accepts no 
>> liability for the 

Re: [topbraid-users] Creating instances in extension ontologies

2021-04-07 Thread Irene Polikoff
Yes, there is a concept of a class which (transitive) instances can be stored 
in a given type of an asset collection. 
For Enterprise Asset collection these are instances of Enterprise Asset. So, 
yes, if you want to capture something in an Enterprise Asset collection it 
should be an enterprise asset. For Technical Asset collection, it is Technical 
Asset, etc.

Within data graphs and reference datasets you can store instances of any 
classes as long as they are public.

> On Apr 7, 2021, at 1:01 PM, Tim Smith  wrote:
> 
> Hi,
> 
> I created a new ontology that is intended to be an extension of Enterprise 
> Assets.  There are some classes that are subclasses of EDG classes and some 
> are not.  For those that are not, I have added them to the "public classes" 
> property of the ontology via the GraphQL view.
> 
> When I create a new Enterprise Asset collection, I import the new ontology.  
> However, I cannot create instances for any custom classes that are not a 
> subclass of an EDG class.  Based on previous responses to my questions, I 
> expected declaring my classes as public classes would have been sufficient to 
> enable instance creation.
> 
> Am I missing something?  Do I need to make everything a subclass of an 
> existing Enterprise Asset class?
> 
> Thanks in advance for your insight,
> 
> Tim
> 
> 
> -- 
> 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/CAF0WbnK8RCqa_%3DWNxKVGBVJ4o-GRij7%3Dydt6mzhY0q4GykWV4w%40mail.gmail.com
>  
> .

-- 
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/0B40305E-6155-40F9-91EE-DD9DAA5C3016%40topquadrant.com.


Re: [topbraid-users] best practise name space in multiple languages?

2021-04-06 Thread Irene Polikoff
To summarize, without knowing all the details of your plans and requirements, 
we recommend something along the following lines:

Do not have separate graph URIs for serializations. It is the same graph, 
irrespective of the serialization. Your server should generate/provide 
different serializations.
Do use separate graph URIs for graphs with different semantics that would 
target different software platforms and use cases:
RDFS only graph - targeting environments that only support RDFS
OWL graph - targeting environments that work with OWL, include in it RDFS 
graph, use the same URIs for classes and properties as RDFS
SHACL graph - targeting environments that work with SHACL, you can include 
either RDFS or OWL graphs without any issues for such tools. I would simply 
make classes defined in the RDFS graph instances of node shapes.
SKOS graph - targeting environments and use cases that are SKOS centric. 
You have an option to use the same resource URIs as in the above graphs and 
simply give them a different type. In this case, do not include any of the 
graphs above. Depending on your use cases, keeping the URIs may be important 
e.g., these resources are used as reference data helping to connect things. 
There are many examples where you can find a graph with something like ex:s 
ex:snomed  and no other info about the SNOMED 
resource is available - only the incoming links. In other words, it is simply 
used as a shared term with no commitment to specific semantics.
Or you could give the concepts different URIs. If so, you need to decide if you 
want to keep a link to the class and why. If yes, you have more decisions to 
make:
Should you include any of the graphs above (if so, probably RDFS graph) or 
simply make a reference to the class resources using its URI?
What property to use for linking? I think PROV has something like derivedFrom. 
You could also use skos:relatedMatch or rdfs:seeAlso or create your own 
property. EDG has edg:mapsToClass, edg:mapsToProperty and 
edg:mapsToPropertyShape. Note that sometimes properties also need to become 
concepts e.g., in the SKOS version of FIBO.
Should you have a separate graph dedicated to just storing links? This would be 
something like EDG Crosswalks.

> On Apr 6, 2021, at 10:59 AM, David Price  wrote:
> 
> 
> 
>> On 6 Apr 2021, at 15:22, Irene Polikoff > <mailto:ir...@topquadrant.com>> wrote:
>> 
>> There is definitely no problems for a resource to be both a class and a 
>> shape. In fact, this is very convenient and used by TopBraid by default. In 
>> SHACL specification it is discussed as implicit targeting.
>> 
>> As far as a resource being both a skos:Concept and a class and/or, 
>> potentially even a property - it depends. If people are using these 
>> resources as reference data and will never have instances, then, yes, it is 
>> better to have them as simply concepts, not classes. In this case, they 
>> should never use the SKOS graph with instances together with any of the 
>> graphs that define models. So, there should be no problems.
>> 
>>> On Apr 6, 2021, at 10:04 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite 
>>> Users >> <mailto:topbraid-users@googlegroups.com>> wrote:
>>> 
>>> The case where I regularly see this is if the artefact being defined is 
>>> “master data” or a “reference data library”. If the OWL is really just a 
>>> large hierarchy of classes with annotation properties and no restrictions, 
>>> then I have seen those be published as OWL and as SKOS with the same URIs. 
>>> That does mean you should not mix the two, of course. 
>>>  
>>> ØHmmm not mixt: aren they just multiple typed: ie something is a skos 
>>> concept, an rdfs class and a shack shape at the same time…or will that 
>>> result in problems..?
>>> 
>>> 
> 
> First, remember that SKOS is an ontology written using OWL - it’s not a 
> language like OWL or SHACL. skos:Concept is itself an OWL class.  I’m 99% 
> sure I read that SKOS is OWL Full which is part of why it shouldn’t be mixed 
> with OWL over which you want to run a DL reasoner. 
> 
> We cannot say that mixing will *definitely* result in a problem in all cases 
> since we don’t know what tools are to be used or exactly how they behave, but 
> far safer to keep these things separate if DL reasoning tooling is meant to 
> be enabled.  For example, taxonomy-based applications built using SKOS would 
> not typically enable a DL reasoner to be run over the concept hierarchy so 
> mixing is less of a problem in that scenario.
> 
> That said, reasoning issues could be avoided with sensible partitioning of 
> the graphs containing the various statements so that the user can control 
> whether the DL tool ev

Re: [topbraid-users] best practise name space in multiple languages?

2021-04-06 Thread Irene Polikoff
There is definitely no problems for a resource to be both a class and a shape. 
In fact, this is very convenient and used by TopBraid by default. In SHACL 
specification it is discussed as implicit targeting.

As far as a resource being both a skos:Concept and a class and/or, potentially 
even a property - it depends. If people are using these resources as reference 
data and will never have instances, then, yes, it is better to have them as 
simply concepts, not classes. In this case, they should never use the SKOS 
graph with instances together with any of the graphs that define models. So, 
there should be no problems.

> On Apr 6, 2021, at 10:04 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> The case where I regularly see this is if the artefact being defined is 
> “master data” or a “reference data library”. If the OWL is really just a 
> large hierarchy of classes with annotation properties and no restrictions, 
> then I have seen those be published as OWL and as SKOS with the same URIs. 
> That does mean you should not mix the two, of course. 
>  
> ØHmmm not mixt: aren they just multiple typed: ie something is a skos 
> concept, an rdfs class and a shack shape at the same time…or will that result 
> in problems..?
> 

-- 
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/31FFC7EA-C74F-4AB3-BEA5-0AEF86C1EAAA%40topquadrant.com.


Re: [topbraid-users] Removing Inferences from an Asset Collection

2021-04-05 Thread Irene Polikoff
Any action on the Transform tab actually changes the graphs - this is why the 
tab is called Transform.

We modified description of this option for 7.0 - making it (hopefully) clearer:



Also in 7.0, there is Inferences panel where you can display inferred triples 
without asserting them 
https://doc.topquadrant.com/7.0/editor/#Inferences_Panel. This is suitable if 
you have a relatively small number of inferences and/or are in the mode where 
you are debugging them.

As for reversing the changes, you can bring up the Change History panel to see 
changes and revert them.

> On Apr 5, 2021, at 1:08 PM, Tim Smith  wrote:
> 
> Hi,
> 
> After I ran inferences for the first time from the Transform tab of an 
> Enterprise Assets collection, I realized that it actually asserts them into 
> the asset collection.  This is not a good default behavior.  It's rare that I 
> want to have my inferred triples in the same graph as my asserted triples.  
> I'm guessing this option is intended to prevent the automatic insertion:
> 
> 
> However, "applying" did not resonate with me as being equivalent to 
> "asserting". 
> 
> So... how do I remove the inferred triples?
> 
> How can I see the Teamwork change logs and apply them to remove the triples?
> 
> Thanks,
> 
> Tim
> 
> -- 
> 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/CAF0WbnKro7U5skka2f7n8orhRXbqwDD8h4Cf7TPDNpTdPnJA_Q%40mail.gmail.com
>  
> .

-- 
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/23692399-8EA5-4C8B-BC85-3FCD27B7E238%40topquadrant.com.


Re: [topbraid-users] Trying to update a graph using an Active Data Shape service

2021-04-03 Thread Irene Polikoff
Yes, I agree with Holger. We need to better understand the full workflow you 
are trying to implement in order to give meaningful advice. Otherwise, we could 
all waste time going around in circles.

If your data is in EDG because you want to make it easy for multiple users to 
collaborate on evolving it, then what is in EDG is a ‘master’. You can deliver 
this information as files to other processes or distribution channels as you 
‘cut releases’ - which could happen as often as you need. Files are then are 
simply ‘point in time snapshots’ and you do not change them directly. Instead, 
you re-create them on export.

If you have a different workflow in mind, then there could be some other 
design. 

I don’t think that this forum is the right vehicle for this discussion. Fell 
free to reach out directly so we can talk through what you are trying to 
accomplish.


> On Apr 3, 2021, at 6:53 PM, Holger Knublauch  wrote:
> 
> 
> 
>>> On 4 Apr 2021, at 3:05 am, Steve Ray  wrote:
>>> 
>>> Thanks for your always informative help. I did get this to work, only to 
>>> realize that I now have a web service that will update the graph living in 
>>> the EDG database, but not a web service that will update the Turtle file on 
>>> my local machine, which is ultimately my goal.
>> 
>> ADS scripts are designed to operate on the graph variable, which by default 
>> is the graph in the EDG database that the service is called for. While there 
>> is a way to temporarily switch to other graphs via graph.withDataGraph(), 
>> the focus of the design has been to operate on EDG graphs. For example, 
>> performing updates assumes that the changes go into the database without 
>> also having to save a file.
>> 
>> I don’t have enough background to give you sound advice here, but you may 
>> know that in 7.0 EDG is able to directly “open” files from your workspace, 
>> edit them and save them back. See the Files item in the main menu on the 
>> left hand side to get started. The workflow there is that “open” will create 
>> a local copy in the EDG database, and that graph is then under the usual 
>> control of EDG, with a urn:x-evn-master:XY URI. So if you have a bunch of 
>> files that you want to manage with EDG, you can now “open" them, execute 
>> scripts on them and then occasionally save them back to their original 
>> files. The ADS API doesn’t have a built-in convenience method to perform 
>> this save step, but it can be reliably called from ADS via graph.swp() and 
>> the SWP module teamwork:saveFileProject. I can provide details if needed.
>> 
>> Maybe you can explain the bigger picture though before we go down that route.
>> 
>> 
>> So, I have learned about dash:GraphService and dash:ResourceService, and now 
>> am starting to learn about dash:ModifyAction as something I may need to use. 
>> However, is ModifyAction designed more for creating ui actions in EDG?
> 
> The types dash:ModifyAction and dash:ExploreAction are used to define UI 
> extensions, i.e. items that will appear in the Modify or Explore menus of 
> EDG. Scripts may be both dash:ResourceServices and dash:XYActions, for cases 
> where the same feature should be available manually and programmatically.
> 
>> Should I just be using dash:GraphService and use a call to 
>> graph.uploadedFile? If so, after modifying the graph, is there some sort of 
>> graph.saveFile (which I cannot find).
> 
>> Also, why is graph.uploadedFile crossed out in the script editor pull-down?
>> 
> 
> That function has been marked deprecated in 7.0 because we have moved it into 
> its own class: IO.uploadedFile()
> 
>> 
>> I'm hoping these questions are of general interest. Basically I'm trying to 
>> use web services to maintain local files, and I call these web services from 
>> shell scripts. That's how we publish all our web pages.
> 
> Let’s see if this is the right technology for this particular job…
> 
> Holger
> 
> 
>> 
>> Steve
>> 
>> 
>> 
>> 
>>> On Thu, Apr 1, 2021 at 9:11 PM Holger Knublauch  
>>> wrote:
>>> Hi Steve,
>>> 
> On 1 Apr 2021, at 10:26 am, Steve Ray  wrote:
> 
> Hi, I have a question about accomplishing the above.
> 
> 1. How do I make my graph not a "read-only" graph?
> 
 
 The Script Editor panel has an unlock button/setting in the upper right 
 corner. This toggles between read-only and writable APIs. The writable 
 APIs have additional functions etc.
 
 I have set "Enable SPARQL updates" to true in Server Configuration.
 The graph in question is the focus graph in my local EDG.
 I have ensured Administrator is listed as both Manager and Editor for the 
 graph in EDG Permissions Management.
 I am using the default settings in Rights Management
 
 Here's the code I'm trying to run in the Script Editor:
 graph.update(`DELETE {
 ?qk qudt:applicableUnit ?unit .
 }
 INSERT {
 ?newqk qudt:applicableUnit ?newunit .
 }
 WHERE {
 {
 ?qk a qudt:Q

Re: [topbraid-users] EDG: Querying inferred triples via the SPARQL Endpoint

2021-03-24 Thread Irene Polikoff
Hi Tim,

These are path expressions, not inferences - so they are not materialized. 
^edg:activityOf is simply an inverse path - the actual triple is :BusActivity 
edg:activityOf :BusFunction  

You can query for these in SPARQL as you would for any triple pattern. 
Sequential paths  can also be queried for in a long form or in a short form 
using path expressions. 

In GraphQL, you can query for them using the name of the property shape with 
the inverse path or any other path - as if it actually existed e.g., you will 
see businessActivities link when constructing a GraphQL query for business 
functions

If you want to materialize these triples, you could use SPIN or SHACL rules to 
define and generate inferences. You would need to use the actual new predicates 
to do so e.g., :BusActivity edg:activityOf :BusFunction could generate 
:BusFunction edg:busActivities :BusActivity. These rules could be then ran 
using using the Transform tab or (in 7.0) Inference panel and/or the Export tab 
for RDF export. 

> On Mar 24, 2021, at 1:06 PM, Tim Smith  wrote:
> 
> Hi,
> 
> In order to visualize a graph outside of EDG, I need to have what I think are 
> "run-time inferred" triples available in a graph that is query-able via the 
> SPARQL endpoint.
> 
> An example is the Business Function class.  This class has a Property Shape, 
> "business activities" which has a property path of ^edg:activityOf.  When 
> viewing an instance of Business Function in EDG, this property shape appears 
> to be populated on the fly so that the Business Activities that point to the 
> Business Function instance appear on the form.
> 
> My goal is to show the relationship from Business Function to Business 
> Activity vs the other way around.  A similar situation exists with the 
> edg:producesInformationAsset/edg:requiresInformationAsset properties.  Having 
> both properties pointing to the InformationAsset instance does not make for a 
> very readable graph.  Inferences will generate the inverse triples.
> 
> Is there a way to trigger the generation of these inferences and access them 
> as an inference graph via the SPARQL endpoint? 
> 
> Thanks!
> 
> Tim
> 
> -- 
> 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/CAF0WbnJN39xo1Jekgyra75KHvA9mSehGMvMO%2B1_MKzLznJxR-Q%40mail.gmail.com
>  
> .

-- 
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/F1BE9EC2-F33A-4BF0-AC23-B485E6213EB9%40topquadrant.com.


Re: [topbraid-users] Problems defining prefixes in SPARQL-based shapes

2021-03-22 Thread Irene Polikoff

  a owl:Ontology ;
  owl:imports  ;
  owl:versionInfo "Created with TopBraid Composer" ;
  sh:prefixes [sh:declare [
  sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ;
  sh:prefix "owl" ;
] ;];

> On Mar 22, 2021, at 4:40 PM, Steve Ray  wrote:
> 
> I have been working around this problem by avoiding any prefixes when 
> defining a shape with SPARQL, but this still bugs me. Attached are two tiny 
> files, epp1.shapes.ttl and epp2.shapes.ttl.
> 
> I'm running the SHACL reasoner.
> epp1 works - it does not use any prefixes inside the shape.
> epp2 is identical to epp1, except it declares the owl: prefix in the shape. 
> 
> TBC complains that it cannot resolve owl:SymmetricProperty.
> 
> I have tried following the documentation for this, but clearly I'm getting 
> something wrong. What am I missing?
> 
> Steve
> 
> 
> 
> -- 
> 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/CAGUep85Rf1yk3YVsLV3ihJjso7w5uF%2BBGqFOSpPWybBCuGw6nQ%40mail.gmail.com
>  
> .
> 

-- 
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/159328BE-4286-447E-BDA7-0827C564A2E3%40topquadrant.com.


Re: [topbraid-users] Splitting exported ttl file into shacl and non-shacl

2021-03-19 Thread Irene Polikoff
To add to David’s response:

>> Is there a way to export/save the ontology in seperate ttl files

There is no Export option that will split your file into an ontology (shapes) 
file and data file. 

There are features in TBC that help you to split them, but I don’t think they 
are available in TBC-FE. You could always just copy a file and remove what you 
don’t need from each copy. This works more straight forward when removing data 
- simply select and delete all instances in the Instances view.

However, it sounds like you already did the splitting.

Now, give these files two different names and use different base URIs for each. 
Include the ontology portion into the data file by using owl:imports. In TBC, 
you can simply open one file and drag the other one into the Imports view to 
create this statement.

As David stated, we recommend as the best practice to keep schema/model 
separate from data.

If you ever wanted to do the reverse and export multiple files as a single 
merged file, there is an options for merging: Export->TopBraid 
Composer->Export/Merge/Convert RDF graphs. Not sure if it is present in TBC-FE.

> On Mar 19, 2021, at 9:23 AM, David Price  wrote:
> 
> Suggest not doing the copy and paste into one file, and instead using 
> owl:imports in TBC so you can keep them separate.
> 
> Best keep schema and data partitioned all the time, and sometimes best to 
> partition schemas and even to partition a set of data.
> 
> Cheers,
> David
> 
>> On 19 Mar 2021, at 09:13, 'Robin Franken' via TopBraid Suite Users 
>> mailto:topbraid-users@googlegroups.com>> 
>> wrote:
>> 
>> Hi there,
>> 
>> I have an ontology which is created by importing a ttl file into TBC 
>> Composer FE. This works, and I am able to use it like a sort of viewer, and 
>> to make small changes.  In my original file, I split the file based on 
>> |Data|SHACL-shapes| This way I can easily validate my instances using a 
>> validation tool like shaclplayground, or on my own CLI (screenshot attached 
>> to get an impression of what i mean). By just copying and pasting the 
>> contents from the "Data" and "Shapes" file into a "Combined" ttl file, which 
>> I can easily open in composer. 
>> 
>> However, after making small changes, and saving the file, my original 
>> formatting in my ttl file is replaced with the formatting from tbc, which is 
>> not bad in itsself, but sorts everything based on A-Z, meaning my shapes and 
>> data become tangled. 
>> 
>> My question is: Is there a way to export/save the ontology in seperate ttl 
>> files, or seperate the elements within the ttl file based on whether they 
>> are shacl shapes or not i.e. preserving the format of the imported TTL file. 
>> Before writing complicated SPARQL queries to untangle my file, I was hoping 
>> there may be an easier way.
>> 
>> 
>> 
>> 
>> Kind regards,
>> Robin Franken
>> 
>>  
>> 
>> 
>> 
>> 
>> -- 
>> 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/f0181477-2273-44c1-aca9-2290b012b27fn%40googlegroups.com
>>  
>> .
>> 
> 
> UK +44 (0) 7788 561308
> US +1 (336) 283-0808‬
> 
> 
> -- 
> 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/E09A434D-3CAB-4C78-B821-B955D0772C5E%40topquadrant.com
>  
> .

-- 
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/717C2A56-46A0-41A9-8BC2-DC52D107F7C4%40topquadrant.com.


Re: [topbraid-users] json-ld question

2021-03-18 Thread Irene Polikoff


> On Mar 18, 2021, at 12:28 PM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
>  wrote:
> 
> I was more wondering whether graphql (and graphql schema) could use json-ld 
> treatment more as first class citizen in some official GraphQL-LD (GraphQL 
> Schema-LD)  instead of just as being a special version of json… (in a sense 
> standardizing the kind of extensions you did)
> (I see this discussion in their lists without clear answers though)

I think this would be up to the GraphQL community. What GraphQL spec already 
has is the ability to use directives for extensions: 
https://graphql-ruby.org/type_definitions/directives which is what we used

-- 
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/1FE7A946-5F7C-4126-8D13-EE7BBE47064F%40topquadrant.com.


Re: [topbraid-users] Property Auto-increment

2021-03-18 Thread Irene Polikoff
I am confused:

You are creating new instances
Is this other system also continues to add new instances or is its set of 
instances complete?

In the former case:

When a new instance is created in this other system, how does it know that you 
already created Animal10254 and gave it autoincrementID == 960? 

It would seem that when the other system creates a new animal, it could be a 
different animal from the one you created. Yet, they will both have the same 
autoincrementID. Further, if you rely on querying this other system for the max 
autoincrementID, when you create another animal, after creating Animal10254 and 
you query the other system, it may not have added a new animal yet and it would 
again return 959 as the last id used.

In other words, if you have 2 systems that add new instances and you want them 
to use a common id counter, you need to have a common component for assigning 
it. There should be a service you could access that will give you the next 
available autoincrementID. And this other system should use the same service so 
that when it creates a new animal, it knows that you already used 960.

Provided that such service is available, you need to call it from EDG to get 
the autoincrementID.

In the latter case:

If all instances in the other system are already created and only you are 
adding new instances, then you could just store the max ID from the other 
system and can increment from this number.

> On Mar 18, 2021, at 12:07 PM, majaCap  wrote:
> 
> Thank you all for support. I will try to explain it clearer. The  
> autoincrementID is a property that will refer to another system - and it will 
> be  an ID in another system, therefore this is not a count of current 
> instances. So there is an existing system that has some Animal instances and 
> each of Animal has this autoincrementID property. Now I built another system 
> also with Animals but containing  much more properties that I want to connect 
> to the first system based on this autoincrementID property. Therefore 
> whenever I add a new Animal to my data graph I also need to add the 
> autoincrementID continuing the id count from another system. So let's say 
> that I add to my data graph an Animal which will have URI Animal10254  and 
> the last value of autoincrementID from another system is 959. Then my 
> Animal10254 needs to have autoincrementID == 960. Does this makes  more sense?
> 
> Kind regards,
> Maja
> 
> torsdag 18. mars 2021 kl. 14:47:44 UTC+1 skrev Irene Polikoff:
> Yes, a good point David.
> 
> 
>> On Mar 18, 2021, at 8:56 AM, David Price > > wrote:
>> 
> 
>> 
>> 
>>> On 17 Mar 2021, at 21:56, Irene Polikoff >> > wrote:
>>> 
>>> Another approach is to use a property value rule to automatically calculate 
>>> the autoIncrementID
>>> 
>>> It sounds like you want to get a count of all instances plus some number.
>> 
>> Hi Maja,
>> 
>> I’m not sure the above is what you mean by “I would like to increment that 
>> property each time a new instance of a class is created, starting from a 
>> particular number”. 
>> 
>> Either way, everyone should take care to understand the difference between 
>> "max of existing value" vs. "count of instances” logic. There is no 
>> difference in some scenarios, but they are not identical if your scenario 
>> allows people to delete instances. 
>> 
>> Example: 
>> 
>> Create 10 instances - the next Create integer would be 11 if no other change 
>> happens and at this moment max and count produce identical result.
>> 
>> Delete 5 instances.
>> 
>> Now:
>> 
>> - “count instances” approach would say 6 is the next available integer
>> 
>> - “max current value” approach could return anything from 6 to 11 depending 
>> on exactly which instances got deleted
>> 
>> Just suggesting to do a deep analysis of your reuirements before deciding 
>> which logic will work in all your user scenarios - and then do a lot of 
>> testing.
>> 
>> Cheers,
>> David
>> 
>>> 
>>> What is autoIncrementID a property of? 
>>> 
>>> Is it a property that each instance of a class has, so that for each 
>>> instance you can get the count of ll instances of a class plus a number ? 
>>> 
>>> Then, you would define it for the class Animal and create a property value 
>>> rule as follows
>>> 
>>> 
>>> 
>>> 
>>> 
>>> Select Count number of inverse property values
>>> 
>>> 
>>> 
>>> You will get this rule if you look at the source code
>>> 
>>> g:Animal-auto

Re: [topbraid-users] Property Auto-increment

2021-03-18 Thread Irene Polikoff
Yes, a good point David.

> On Mar 18, 2021, at 8:56 AM, David Price  wrote:
> 
> 
> 
>> On 17 Mar 2021, at 21:56, Irene Polikoff > <mailto:ir...@topquadrant.com>> wrote:
>> 
>> Another approach is to use a property value rule to automatically calculate 
>> the autoIncrementID
>> 
>> It sounds like you want to get a count of all instances plus some number.
> 
> Hi Maja,
> 
> I’m not sure the above is what you mean by “I would like to increment that 
> property each time a new instance of a class is created, starting from a 
> particular number”. 
> 
> Either way, everyone should take care to understand the difference between 
> "max of existing value" vs. "count of instances” logic. There is no 
> difference in some scenarios, but they are not identical if your scenario 
> allows people to delete instances. 
> 
> Example: 
> 
> Create 10 instances - the next Create integer would be 11 if no other change 
> happens and at this moment max and count produce identical result.
> 
> Delete 5 instances.
> 
> Now:
> 
> - “count instances” approach would say 6 is the next available integer
> 
> - “max current value” approach could return anything from 6 to 11 depending 
> on exactly which instances got deleted
> 
> Just suggesting to do a deep analysis of your reuirements before deciding 
> which logic will work in all your user scenarios - and then do a lot of 
> testing.
> 
> Cheers,
> David
> 
>> 
>> What is autoIncrementID a property of? 
>> 
>> Is it a property that each instance of a class has, so that for each 
>> instance you can get the count of ll instances of a class plus a number ? 
>> 
>> Then, you would define it for the class Animal and create a property value 
>> rule as follows
>> 
>> 
>> 
>> 
>> 
>> Select Count number of inverse property values
>> 
>> 
>> 
>> You will get this rule if you look at the source code
>> 
>> g:Animal-autoIncrementID
>>   a sh:PropertyShape ;
>>   sh:path g:autoIncrementID ;
>>   sh:datatype xsd:integer ;
>>   sh:name "autoIncrementID" ;
>>   sh:nodeKind sh:Literal ;
>>   sh:values [
>>   sh:count [
>>   sh:path [
>>   sh:inversePath rdf:type ;
>> ] ;
>> ] ;
>> ] ;
>> .
>> 
>> Update it because the path you want to use for the count is from an instance 
>> to the class and then from the class to all instances via inverse  i.e., 
>> rdf:type/^rdf:type
>> 
>> g:Animal-autoIncrementID
>>   a sh:PropertyShape ;
>>   sh:path g:autoIncrementID ;
>>   sh:datatype xsd:integer ;
>>   sh:name "autoIncrementID" ;
>>   sh:nodeKind sh:Literal ;
>>   sh:values [
>>   sh:count [
>>   sh:path (
>>   rdf:type
>>   [
>> sh:inversePath rdf:type ;
>>   ]
>> ) ;
>> ] ;
>> ] ;
>> .
>> 
>> Now, when you access any instance of Animal, you can get a count of all 
>> Animals
>> 
>> 
>> 
>> 
>> If you want to add some number to the count, use sparql:add function in your 
>> rule - http://datashapes.org/sparql <http://datashapes.org/sparql>
>> 
>> You can also associate the property with the class itself, then you do not 
>> need to change the rule that will be generated by the template. 
>> 
>> To associate a property with a class, switch the class hierarchy root to 
>> Resource, find owl:Class in the tree and define the property and a rule for 
>> it.
>> 
>> 
>> 
>> Then, you will get the generated autoIncrementID value for every class in 
>> your ontology
>> 
>> 
>> 
>> 
>> You can also define a property for all classes to store the number you want 
>> to add to the count. The value of this property could be different for 
>> different classes.
>> 
>> The above approach for adding a property to a class is for 7.0. If you are 
>> using 6.4, use the following approach to add properties directly to a class: 
>> 
>> https://doc.topquadrant.com/6.4/ontologies/#Customizing_Forms_for_Classes_and_Properties
>>  
>> <https://doc.topquadrant.com/6.4/ontologies/#Customizing_Forms_for_Classes_and_Properties>
>>  
>> 
>>> On Mar 17, 2021, at 8:49 AM, David Price >> <mailto:dpr...@topquadrant.com>> wrote:
>>> 
>>> Hi Maja,
>>> 
>>> There

Re: [topbraid-users] Status of sh:values

2021-03-12 Thread Irene Polikoff
SHACL AF was initially published as the W3C Note. W3C RDF Shapes Working Group 
(WG) completed its charter in June 2017. SHACL AF was published as a W3C Note 
because the WG ran out of time to complete it and to take it all the way to 
Recommendation during the chartered period which is typically 2.5 years.

Since then, SHACL AF specification has been evolving through the W3C Community 
Group process. It now includes sh:values - see 
https://w3c.github.io/shacl/shacl-af/.

Development of and updates to W3C technical reports are governed by the W3C 
process https://www.w3.org/2020/Process-20200915/.

If there is enough interest among the W3C membership, W3C can charter a new WG 
and/or a new Interest Group. A WG can produce and publish W3C Recommendation. 
Both, Working Group and Interest Groups can publish W3C Notes. 

So, to answer your question, W3C may begin work on a Working Group or Interest 
Group charter at any time, provided there is enough interest. The charter may 
be about publishing a new version of W3C Note or talking a Note all the way 
through Recommendation. Often, a starting point is W3C workshop. Any party (not 
just W3C member) can participate in a workshop. The workshop establishes the 
need and then a charter is developed. 

Feel free to contact the W3C Team to find out the level of interest in another 
iteration of the SHACL specifications and/or to propose the formation of a 
group.


> On Mar 12, 2021, at 5:22 PM, Steve Ray  wrote:
> 
> I have been taking advantage of sh:values in my work, but it was recently 
> pointed out to me that sh:values is not part of either the official SHACL or 
> SHACL AF. I'm wondering if you have any insight on whether it will be 
> officially part of SHACL AF any time soon?
> 
> (If not, I may need to recode using sh:rule... :(
> 
> 
> Steve
> 
> 
> 
> -- 
> 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/CAGUep84cwGJBm2f4DSeiEeJgdZE7f7jdoeYSLAZ_hUk3owXS_g%40mail.gmail.com
>  
> .

-- 
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/A7560783-AFF9-4C43-9AD6-6E8170304AB1%40topquadrant.com.


Re: [topbraid-users] Making the LineageGram more generic

2021-03-12 Thread Irene Polikoff
Hi Tim,

At the moment, this is not supported. The logic for the LineageGram generation 
is pretty complex and specific. There is no way to configure which properties 
it will use.

We will take you input into account for future releases.

> On Mar 12, 2021, at 2:27 PM, Tim Smith  wrote:
> 
> Hi,
> 
> The Lineage view is helpful for the use cases it supports.  However, it would 
> be more useful if I could define what properties are used to create the path 
> through the graph that is rendered.  I find myself trying to do this manually 
> using the NeighborGram which doesn't work so well.
> 
> For example, the current version does not support the properties 
> produces/requiresInformationAsset (although I understand this may be coming). 
>  I have also created another set of properties, 
> produces/requiresPhysicalAsset to capture physical flows.  I would like to be 
> able to view this as a lineage.
> 
> Is it possible to alter the properties that are included in LineageGrams?
> 
> Thanks,
> 
> Tim
> 
> 
> -- 
> 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/CAF0WbnKVZWCRuUoAvFv6R_WogbbHa_CZXTOXJMGMGVooOzp3iw%40mail.gmail.com
>  
> .

-- 
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/DBE7CF64-FDAC-4C62-BB01-E96B01AD66AA%40topquadrant.com.


Re: [topbraid-users] Q: Why does the Assets Hierarchy filter the properties shown?

2021-03-04 Thread Irene Polikoff


> On Mar 4, 2021, at 4:17 PM, Tim Smith  wrote:
> 
> Ahhh... That made me check... The Category Supply Planning instance is also 
> an instance of another class.  I removed that :type statement and it worked 
> properly.  I'm also using 7.0 beta.
> 
> Is there a proper way to handle instances that are members of multiple 
> classes so that the different panels work as expected?

It is probably best not have instances that are members of multiple classes 
unless absolutely necessary. This could be complex. 

What happens with forms in this case is that you will see a drop down in the 
upper right of a form and can switch between views according to the different 
classes. You can also use a setting option in the form to show the combined 
view. But I guess the asset hierarchy panel may get confused.

> 
> Thanks,
> 
> Tim
> 
> On Thu, Mar 4, 2021 at 4:00 PM Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> Works for me in 7.0
> 
> 
> May be because of some changes in the models. The property shape needs 
> sh:class constraint to work in this view. If it is embedded in sh:or, it will 
> not work. We have been making some model updates to address this.
> 
>> On Mar 4, 2021, at 3:20 PM, Tim Smith > <mailto:smith.ts...@gmail.com>> wrote:
>> 
>> Hi,
>> 
>> In the Assets Hierarchy, I have specified Business Function as the root node 
>> shape.  In the snippet below, Planning is a Business Function.  As shown, 
>> there are a couple of business activities.that support Planning.
>> 
>> Category Supply Planning has sub-activities.  However, that property is not 
>> shown.  If I select Business Activity as the root node shape, then I will 
>> see the sub-activities.
>> 
>> 
>> 
>> 
>> Why does the Asset Hierarchy filter the properties that are shown?
>> 
>> Thanks,
>> 
>> Tim
>> 
>> -- 
>> 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/CAF0WbnJmFv1Z4zcxjLTZWiAm3GLHe6_iiSb448WW-m5t4hUPQw%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/CAF0WbnJmFv1Z4zcxjLTZWiAm3GLHe6_iiSb448WW-m5t4hUPQw%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 
> <mailto:topbraid-users+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/topbraid-users/48BC308E-B0CC-42B2-B663-57F57786D118%40topquadrant.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/48BC308E-B0CC-42B2-B663-57F57786D118%40topquadrant.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/CAF0WbnLqOK9UV5pohw-WLX8VX5qSeX-WN5gQpQyMRQA-ctX7GQ%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/CAF0WbnLqOK9UV5pohw-WLX8VX5qSeX-WN5gQpQyMRQA-ctX7GQ%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/C5E20448-8550-43B7-B2E3-77421FCF8DF2%40topquadrant.com.


Re: [topbraid-users] EDG Feature Request: Assets Hierarchy

2021-03-04 Thread Irene Polikoff
Try the following:

1. Create an ontology, include the EDG schema you will be configuring e.g., EDG 
Enterprise Assets

2. Create Node Shapes for each of the classes which instances you want to show 
in the asset hierarchy in a custom way

For example Business Function View1, Business Activity View1, etc. These would 
be node shapes only, not classes. Set their “applicable to class” values to the 
appropriate classes which instances you want to show e.g., Business Function, 
Business Activity, etc

3. For each of the Node Shapes, copy from the applicable classes property 
shapes only for the relationships you want to show in this hierarchical view

So, let’s say you do not want “types” to show, don’t copy it. You don’t want a 
connection from the activity to the function to show, don’t copy it. You also 
don’t need to copy any shapes for the literal values since they do not play 
into this view - except for rdfs:label.

For the relationships that you do copy, change the sh:class constraint to the 
sh:node constraint pointing to the corresponding Node Shape

4. Make these node shapes “public” by clicking on the home button and updating 
the GraphQL view of the ontology

5. Include this new ontology into the enterprise asset collection with your 
functions and activities

I am between releases right now, so I can’t say that I have tested this fully. 
But it should work.



> On Mar 4, 2021, at 9:34 AM, Tim Smith  wrote:
> 
> Hi,
> 
> In the Assets Hierarchy, would it be possible to add the ability to select 
> what properties are shown?  
> 
> Thanks,
> 
> Tim
> 
> -- 
> 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/CAF0Wbn%2BWEVaUVvWHib4cBYXpPen_qyoOR6_Zc7J_KBruQOS%2BVw%40mail.gmail.com
>  
> .

-- 
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/F876A375-1576-4891-8F6C-B7C81F8AE7C9%40topquadrant.com.


Re: [topbraid-users] Q: Why does the Assets Hierarchy filter the properties shown?

2021-03-04 Thread Irene Polikoff
Works for me in 7.0


May be because of some changes in the models. The property shape needs sh:class 
constraint to work in this view. If it is embedded in sh:or, it will not work. 
We have been making some model updates to address this.

> On Mar 4, 2021, at 3:20 PM, Tim Smith  wrote:
> 
> Hi,
> 
> In the Assets Hierarchy, I have specified Business Function as the root node 
> shape.  In the snippet below, Planning is a Business Function.  As shown, 
> there are a couple of business activities.that support Planning.
> 
> Category Supply Planning has sub-activities.  However, that property is not 
> shown.  If I select Business Activity as the root node shape, then I will see 
> the sub-activities.
> 
> 
> 
> 
> Why does the Asset Hierarchy filter the properties that are shown?
> 
> Thanks,
> 
> Tim
> 
> -- 
> 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/CAF0WbnJmFv1Z4zcxjLTZWiAm3GLHe6_iiSb448WW-m5t4hUPQw%40mail.gmail.com
>  
> .

-- 
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/48BC308E-B0CC-42B2-B663-57F57786D118%40topquadrant.com.


Re: [topbraid-users] TBC EDG 7.0 vs 6.4: Teamwork Platform Parameters

2021-03-03 Thread Irene Polikoff
Hi Tim,

These options are still available, but they are no longer set in the UI. They 
are moved to the setup file used to deploy EDG on the server. It's all 
described in the upgrade and migration instructions. See  
https://www.topquadrant.com/release-notes-topbraid-7-0/.

In general, EDG from TBC meant for testing customizations and sandbox work. 
Thus, we don't believe you would need to have these options configurable for 
TBC. In TBC, you will automatically get XDB and Repositories as the project 
when running  EDG in TBC. For server-based EDG you specify the database in the 
setup file but you automatically get Repositories as the project that contains 
asset collections. 

Regards,

Irene

> On Mar 3, 2021, at 1:33 PM, Tim Smith  wrote:
> 
> Hi,
> 
> In TBC/EDG 6.4, I had the option of how my asset collection instances were 
> stored per the options below:
> 
> 
> 
> Does this option exist in 7.0?  I did not see it in any of the configuration 
> screens.  7.0 is defaulting to placing everything in the Repositories project 
> as XDB files.  This makes migrating workspaces difficult since the 
> Repositories project is automatically created in a new workspace.  i.e. It is 
> not exclusively user-created content and thus is not importable into a new 
> workspace.  I had always configure EDG to keep my content separate from TBC 
> provided content.  
> 
> This brings me to a slightly larger question, what is the proper process to 
> migrate Teamwork managed projects across workspaces?
> 
> Thanks,
> 
> Tim
> 
> 
> -- 
> 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/CAF0WbnJKYAGXVSnCZowtkzrrUT1Hp5JBObgKo-KrcHbH1Z92Vw%40mail.gmail.com
>  
> .

-- 
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/B7B48499-E9A0-4F58-A653-999F36CF0D9F%40topquadrant.com.


Re: [topbraid-users] Exporting rich text definitions

2021-03-02 Thread Irene Polikoff
Kevin,

You can try the following SPARQL query

SELECT ?term ?def
WHERE {?term skos:definition ?d
BIND (ui:convertHTMLToText(?d) AS ?def)   
}

Make sure to define the prefix for ui:



Expand the area where prefixes are defined and start typing PREFIX then space - 
you will get a list of known prefixes/namespaces to choose from.

Then, you could export results in TSV or XML.

This conversion function is not perfect. It will remove bold text, bullets, 
images, paragraph, but the hyperlink values will remain there. There could also 
be some issues with the new lines in the TSV export.

If we have time, we will see if we can improve it for 7.0.

Regards,

Irene Polikoff
> On Mar 2, 2021, at 2:33 PM, Kevin Guest  wrote:
> 
> Hello,
> 
> In one of our glossaries we use rich text format to populate definition 
> fields.  Sometimes I need to export a set of definitions, but when I export 
> to Excel or CSV the markup is included.  Is there a way to export to Excel 
> with just the text?  Some definitions are written in paragraphs, have lists 
> of values, some hyperlinks, bold text, etc., but I don't need any of that -- 
> just the text definitions.
> 
> I haven't used SPARQL to do querying or other functions but I am open to 
> learning if that's the solution.
> 
> Thanks,
> Kevin
> 
> -- 
> 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/CAPQ9gY9vCq_BU1nZ7HJLzwzW%3Dh7dpHtYDADgJBPw32jXWO7TmQ%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/CAPQ9gY9vCq_BU1nZ7HJLzwzW%3Dh7dpHtYDADgJBPw32jXWO7TmQ%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/E61D2B96-3435-43D0-BA92-99A422DB3CAC%40topquadrant.com.


Re: [topbraid-users] Crosswalk not update after deleting target or source resource

2021-02-25 Thread Irene Polikoff
I think this is similar to your previous question. If you delete a resource 
from an asset collection, statements referring to this resource from another 
collection still exist.

There are several approaches for addressing this issue:

1. Before you delete a resource, you can use Explore-> Find Usages in Other 
Asset Collections

This will find only incoming statements i.e., identify that it is used in a 
crosswalk mapping if a resource is in the “to” graph.

You can then remove the crosswalk reference before you delete a resource

2. Delete and rely on the validation to find dangling references

When you created a crosswalk you said that you are connecting resources of type 
class. As you know, part of crosswalk creation is to identify the type for the 
the “from” and “to” resources.

If you delete the underlying resource, the type statement is no longer there 
and you will get a validation result in the Problems and Suggestion panel. 

Run validation with just SHACL Validation on - something like this:



You should get a validation result that tells you that there is a mapping to 
the (deleted) resource that must be of type Class. 

I suggest switching for this to the Problems and Suggestions layout. You could 
then use the Form to delete the dangling connection and, if needed, replace it 
with something else. This will work whether the deleted resource is an object ( 
“to”) or or a subject ( “from”) in the crosswalk.

3. Delete and run a query in the Crosswalk to find issues, something like:

DELETE {?s edg:closeMath ?o}
WHERE {?s  edg:closeMath ?o.
FILTER NOT EXISTS {?s a ?type}
}

And do the same in the other direction - for ?o

Of course, it is best to run the SELECT before the DELETE, especially if your 
goal is not just remove the dangling reference but also possibly find an 
alternative resource to map to.

You could put such queries in a query library and run them periodically to do 
the clean up.



> On Feb 25, 2021, at 1:59 PM, tay.me  wrote:
> 
> Hello,
> 
>I created an crosswalk manually  between two classes from two different 
> ontologies. neverthless, after deleting the target class from the original 
> ontology, the crosswlak relation still exists. How we can udpdate corsswlak 
> relations if one of the target or source resources are deleted ?
> 
> Thanks for help.
> 
> -- 
> 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/93b13642-7651-4c37-b55b-07dc4ded0ce0n%40googlegroups.com
>  
> .

-- 
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/26A896A5-C0A4-499E-A87B-FA77482D1C85%40topquadrant.com.


Re: [topbraid-users] Update local ontology when import ontologies were updated

2021-02-25 Thread Irene Polikoff
I am still not 100% sure what statement is where, but:

Let’s say sb1 is defined in Ont A
Let’s say c1 is defined in Ont B which includes A
Let’s say the statement sb1 rdfs:subClassOf c1 is stated in B

You can’t delete sb1 in B - because sb1 is defined in A. In B, you can only 
remove the subclass relationship between sb1 and c1.

You can delete sb1 in A, but that does not remove the sb1 rdfs:subClassOf c1 
that is stored in B. Now, you could have a situation where all information 
about sb1 is gone (e.g., its label, the fact that it is a class, etc.), except 
the rdfs:subClassOf relationship between it and c1. Thus, sb1 will no longer 
appear in the class tree (because it is not known to be a class), but the 
subclass triple will be there.

When you are dealing with a resource defined in another graph, but you added 
some information to it in your current graph, you need to first remove all 
statements in your graph and then remove the resource in its home graph. 
Otherwise, you will still have these remaining triples. You could remove them 
afterwords as well, but it becomes harder to find them.

In the upcoming 7.0 release, there are some operations that will update 
multiple graphs, but these operations are geared towards changing data across 
graphs to accommodate model updates, not changing model statements distributed 
across graphs. 

For example, if you need to remove a property from an ontology, you could in 
7.0 request to delete all values for the property across graphs as you update 
the ontology. E.g., if you had a property called “date of birth”, you could 
delete all "date of birth" values irrespective of where they were stored. Or if 
you were changing the datatype of a property from let's say an integer to a 
string. Below are these new options:



This will not help in your situation since you are deleting a class to which 
you have references in another ontology.

> On Feb 25, 2021, at 1:28 PM, tay.me  wrote:
> 
> Thanks.
> 
>   So, I created sb1 as a subclass of c1 in Ont1, but sb1 is a class from 
> another ontology imported. Now, If I deleted sb1 from the original ontology, 
> I can see in the tree that sb1 is not available but in the source of the 
> ontology, sb1 still exists.
> 
> Le jeudi 25 février 2021 à 19:10:00 UTC+1, Irene Polikoff a écrit :
> Where did you add sb1 rdfs:subClassOf c1 statement? This sounds like you:
> 
> 1. Created Ont1 and c1 in it
> 2. Then, added sb1 and sb2 as subclasses of c1. Where and how did you do it:
> 
> Created sb1 as a subclass of c1 in Ont1?
> Created sb1 as a subclass of c1 in some other ontologies?
> Created sb1 in one ontology and created sb1 rdfs:subClassOf c1 statement in 
> another ontology?
> 
> 
>> On Feb 25, 2021, at 10:44 AM, tayeb merabti > > wrote:
>> 
> 
>> Using TopBraid, I build a new ontology (Ont1). On this ontology I created 
>> one class (c1) and import two external ontologies (using the include 
>> function under settings).
>> 
>> From the class that I created I added two sublcasses (sb1, sb2) from each 
>> one from the onotology that I created : sb1 rdfs:subClassOf c1 and sb2 
>> rdfs:subClassOf c1
>> 
>> Suppose now that I want to delete the class sb1 in the original ontology. In 
>> my Ont1, the class is deleted but only in the tree, If I run the sparql 
>> query : select ?c where {?c rdfs:subClassOf c1} I still found the sb1 in my 
>> Ont1. I think it is a bug or maybe I skip something ??
>> 
>> Thanks for your help.
>> 
>> 
> 
>> -- 
>> 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/1ad8e358-ee03-4fb9-816d-b2d9188d27can%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/1ad8e358-ee03-4fb9-816d-b2d9188d27can%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/94b1cb48-f90c-4db7-bf4f-3568179b6845n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/94b1cb48-f90c-4db7-bf4f-3568179b6845n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You rece

Re: [topbraid-users] Update local ontology when import ontologies were updated

2021-02-25 Thread Irene Polikoff
Where did you add sb1 rdfs:subClassOf c1 statement? This sounds like you:

1. Created Ont1 and c1 in it
2. Then, added sb1 and sb2 as subclasses of c1. Where and how did you do it:

Created sb1 as a subclass of c1 in Ont1?
Created sb1 as a subclass of c1 in some other ontologies?
Created sb1 in one ontology and created sb1 rdfs:subClassOf c1 statement in 
another ontology?

> On Feb 25, 2021, at 10:44 AM, tayeb merabti  wrote:
> 
> Using TopBraid, I build a new ontology (Ont1). On this ontology I created one 
> class (c1) and import two external ontologies (using the include function 
> under settings).
> 
> From the class that I created I added two sublcasses (sb1, sb2) from each one 
> from the onotology that I created : sb1 rdfs:subClassOf c1 and sb2 
> rdfs:subClassOf c1
> 
> Suppose now that I want to delete the class sb1 in the original ontology. In 
> my Ont1, the class is deleted but only in the tree, If I run the sparql query 
> : select ?c where {?c rdfs:subClassOf c1} I still found the sb1 in my Ont1. I 
> think it is a bug or maybe I skip something ??
> 
> Thanks for your help.
> 
> 
> -- 
> 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/1ad8e358-ee03-4fb9-816d-b2d9188d27can%40googlegroups.com
>  
> .

-- 
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/67607950-A7A5-4008-B436-376A36B83039%40topquadrant.com.


Re: [topbraid-users] Dynamically create new instances from SPARQL

2021-02-12 Thread Irene Polikoff
Please see below

> On Feb 12, 2021, at 12:38 PM, Dan Segal  wrote:
> 
> Is it possible to dynamically create a new instance based on a query result?

Yes, as long as SPARQL Update is turned on for your server. Go to the Server 
Configuration page in the Admin Console to make sure it is on. By default, it 
is off.

You can also create new instances using GraphQL. See 
https://www.topquadrant.com/querying-topbraid-edg-with-graphql/
> 
> For example, let's say that we assert:
> 
> ?s ?p ?o
> 
> We would then want to dynamically create a new instance ?s1 with a graph such 
> as:
> 
> ?s1 ?p1 ?o
> 
> I have tried a query such as the following, but this does not work without 
> the variable ?s1 being declared in the WHERE clause:
> 
> INSERT {
> ?s1 a class1;
> ?p1 ?o
> }
> 
> WHERE
> {?s a class;
>   ?p ?o}

All variables in the INSERT must be specified/bound in the WHERE clause. You 
need to create a URI for ?s1 before you can use it in the insert. ?p1 is also 
unbound in your example.

For example, you could base it on a label and prepend the namespace. There are 
a number of SPARQL functions for doing this. For example:


spif:buildURI (spin:Function)

Constructs a new URI resource by inserting the existing variable bindings into 
a template. The template can mention variable names in curly braces, such as 
"my:Instance-{?index}" would create "my:Instance-42" is ?index has the value 
42. As an alternative to variable names, the function can take additional 
arguments after the template, the variables of which can be accessed using 
{?1}, {?2} etc. For example: smf:buildURI("my:Instance-{?1}-{?2}", ?day, 
?month) would insert day and month at places {?1} and {?2}.

Arguments

sp:arg1 (xsd:string): The URI template such as 
"". If the template contains a full URI, then 
it must be wrapped by <...>, otherwise the system will treat it as a qname.
Return type

Resource
 <>spif:buildUniqueURI (spin:Function)

A variation of smf:buildURI that also makes sure that the created URI is unique 
in the current graph (that is, no triple contains the URI as either subject, 
predicate or object). This function is particularly useful for ontology mapping 
from a legacy data source into an RDF model.

Arguments

sp:arg1 (xsd:string): The URI template such as 
"". If the template contains a full URI, then 
it must be wrapped by <...>, otherwise the system will treat it as a qname.

Look in the TBC Help under SPARQL Functions Reference.

> INSERT {
>GRAPH 
>   {
> ?s1 a class1;
> ?p1 ?o
> }
> }
> 
> WHERE
> {?s a class;
>   ?p ?o}
> 
> Is there a way to create these new ?s1 instances automatically based on the 
> query conditions?
> 
> Thank you!
> 
> Dan
> 
> 
> 
> 
> -- 
> 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/e7312fa7-ee09-41e1-a69f-692dbdefba49n%40googlegroups.com
>  
> .

-- 
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/62B3D6DC-3DD4-4296-9DA2-10CB3D8A433B%40topquadrant.com.


Re: [topbraid-users] Possible to change the default Search Panel in EDG?

2021-02-07 Thread Irene Polikoff
On Saved SPARQL queries:

https://doc.topquadrant.com/6.4/editor/#SPARQL_Query_Panel

> On Feb 7, 2021, at 6:16 PM, Holger Knublauch  wrote:
> 
> Hi Elvin,
> 
> the Search Panel is hard-coded in React and produces GraphQL queries. And the 
> filter conditions of the GraphQL service is also hard-coded in Java.
> 
> Do you mean to add new kinds of filters? What would those be?
> 
> Depending on your detailed requirements, you may be better off creating a new 
> panel from scratch. Alternatively, consider using SPARQL Queries, esp via the 
> Saved Queries feature. This would allow you in principle to let users enter 
> parameters (if the variables start with $) and then you have all freedom to 
> express what you want as long as SPARQL can express it.
> 
> Holger
> 
> 
> 
> 
> 
> On 2021-02-08 9:10 am, Elvin Dechesne wrote:
>> Dear Holger
>> Thanks for your reply.
>> Basically what I am looking for is a way to modify the way the Search Panel 
>> works. Can I add some of my own (data driven) logic to it?
>> Is it based on some SWP config we can modify in a custom project for 
>> instance?
>> Cheers
>> 
>> On Sun, Feb 7, 2021 at 2:32 AM Holger Knublauch > > wrote:
>> I am not clear what you are trying to change. Could you clarify?
>> 
>> I assume you are aware that you can save queries to be the default, so that 
>> anyone visiting the class will have certain filters pre-selected?
>> 
>> 
>> 
>> Holger
>> 
>> 
>> 
>> On 2021-02-05 8:07 pm, elvin.d...@gmail.com  
>> wrote:
>>> I'm looking for a way to dynamically change filter parameters and or search 
>>> inputs from the search panel in EDG. How it works now is you can manully 
>>> select filter options based on the class you choose from the pulldown but I 
>>> want to make this more 'data driven'. 
>>> Do I need to download project files, modify swp / shacl and upload the 
>>> modified project files into EDG? If so - is there any kind of documentation 
>>> for this?
>>> 
>>> 
>>> -- 
>>> 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/89db9bf5-43c1-4d39-9917-d3013c476730n%40googlegroups.com
>>>  
>>> .
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "TopBraid Suite Users" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/topbraid-users/t5bkDrRtjNE/unsubscribe 
>> .
>> To unsubscribe from this group and all its topics, 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/508fca57-28f3-46e7-ef74-c870dccce3cb%40topquadrant.com
>>  
>> .
>> 
>> 
>> -- 
>> Elvin Dechesne
>> Twitter  | LinkedIn 
>>  | Facebook 
>> 
>> 
>> -- 
>> 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/CAObHpNpjCxOztNL5DM_Qg%2BbG-jOZABk79y%2Bx6%2BLm3FSsjQZVbA%40mail.gmail.com
>>  
>> .
> 
> 
> -- 
> 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/5445a82e-5612-27b6-8789-84b35a303f72%40topquadrant.com
>  
> .

-- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Su

Re: [topbraid-users] Autpopulate values for datatype properties

2021-02-02 Thread Irene Polikoff
To add to this, instruction for creating property value rules in an ontology in 
EDG is available at 
https://doc.topquadrant.com/6.4/ontologies/#Working_with_Rules

> On Feb 2, 2021, at 7:00 PM, Holger Knublauch  wrote:
> 
> For future reference (as the terminology here is quite generic):
> 
> Property value rules are documented here: 
> https://www.topquadrant.com/graphql/values.html 
> <https://www.topquadrant.com/graphql/values.html>
> Edit rules are at: 
> https://doc.topquadrant.com/6.4/application-configuration/#DeveloperGuide-AddingEvent-Condition-ActionsRules
>  
> <https://doc.topquadrant.com/6.4/application-configuration/#DeveloperGuide-AddingEvent-Condition-ActionsRules>
> HTH
> Holger
> 
> 
> 
> On 2021-02-02 6:53 pm, David Price wrote:
>> In addition to what Irene said, values can also be set by writing Edit 
>> Rules. It requires a little coding but can read adds/deletes In real time 
>> and set values based on what it sees. These are seen as extensions of the 
>> EDG app, not part of the ontology, and must be deployed as code by a System 
>> Admin.
>> 
>> Cheers,
>> David
>> 
>>> On 1 Feb 2021, at 21:01, Irene Polikoff  
>>> <mailto:ir...@topquadrant.com> wrote:
>>> 
>>>  If you are already using the URI counter, then the simplest way is to 
>>> create a property value rule for skos:notation that would infer the value 
>>> from the URI by taking the local part of the URI. 
>>> 
>>> Property value rule values are inferred dynamically without being 
>>> persisted. They are available for query. You would not be able to update 
>>> them using a form as such fields are not editable. You could, however, add 
>>> a value for a property backed by a rule using the source code. In this 
>>> case, if the inferred value is different, you would get two values.
>>> 
>>> If you want such rule-based values to be physically stored, you can 
>>> periodically run the inferencing under Transform tab to persist these 
>>> values.
>>> 
>>>> On Feb 1, 2021, at 3:53 PM, Dan Segal >>> <mailto:dan.segal.w...@gmail.com>> wrote:
>>>> 
>>>> Hello,
>>>> 
>>>> In EDG, is there a way to auto-populate the value of a datatype property?
>>>> 
>>>> For example, let's say we have an attribute such as skos:notation .
>>>> 
>>>> We want to auto-populate the attribute at the time that we create an 
>>>> Instance; for example, with a sequential number value  (similar to the 
>>>> counter method used when constructing URIs), so that the resulting graph 
>>>> would contain statements such as:
>>>> 
>>>> example:1000 skos:notation 1000.
>>>> example:1001 skos:notation 1001.
>>>> example:1002 skos:notation 1002.
>>>> 
>>>> (The predicate does not need to match the URI counter.  It just needs to 
>>>> be a unique, and preferably sequential, value).
>>>> 
>>>> Dan 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 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/3ee513ef-21cb-4eab-ba43-98970e845db1n%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/topbraid-users/3ee513ef-21cb-4eab-ba43-98970e845db1n%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/E34923BA-95A9-43E8-8C06-EC4BCB2817EB%40topquadrant.com
>>>  
>>> <https://groups.google.com/d/msgid/topbraid-users/E34923BA-95A9-43E8-8C06-EC4BCB2817EB%40topquadrant.com?utm_medium=email&utm_source=footer>.
>> -- 
>> You received this message because you are subscribe

Re: [topbraid-users] Deactivation and graph imports

2021-02-02 Thread Irene Polikoff


> On Feb 2, 2021, at 2:30 PM, cbur...@healthwise.org  
> wrote:
> 
> I have an EDG Ontology and two Taxonomies. They import one another as shown 
> here:
> 
> 
> 
> Suppose I have defined an OWL object property and a corresponding SHACL 
> property shape in the ontology, and I wish for the property to be either 
> deactivated or hidden in Taxonomy 1, but not in Taxonomy 2. Is this possible?

No, because of how your imports are structured. Any ontological definitions 
available in Taxonomy 1 would be available in Taxonomy 2. You can, however, 
deactivate or hide something in  Taxonomy 2 without hiding it in 1.
> 
> I thought I would be able to do this by adding either a sh:deactivated or 
> dash:hidden triple to the property shape's definition in Taxonomy 1, but 
> there are two problems with this approach:
> 
> 1. The EDG user interface does not seem to let me add this statement to the 
> property shape in Taxonomy 1, even through the Source Code editor. Perhaps 
> there is a setting that would allow me to make such additions to externally 
> defined property shapes?

This needs to be stated in an ontology
> 
> 2. Even if I could manage to do it, my import structure means that the hidden 
> or deactivated property would also be imported into Taxonomy 2, which I do 
> not want.

Correct
> 
> Upon further reflection, it seems like a better approach would be to define 
> this property in Taxonomy 2 only and omit it from my ontology entirely. Is 
> this possible in the EDG UI? I can't seem to find a way to do it.

No, a taxonomy can only contain data, not property definitions. 

> Or maybe there is another method you'd suggest?

You can create Ontology 2, import Ontology 1 into it and add new properties 
intended only for Taxonomy 2 into it. Then, your import structure would be as 
follows:

Ontology 2 imports Ontology 1

Taxonomy 1 imports Ontology 1
Taxonomy 2 imports Taxonomy 1 and Ontology 2.


Another option that may or may not be viable depending on your data is to 
define a class for concepts in Taxonomy 2 that is different from the class that 
concepts in Taxonomy 1 belong to. 
For example, let’s say that Taxonomy 2 is a taxonomy of Treatments while 
Taxonomy 1 is a taxonomy of Symptoms. Treatment and Symptom are both subclasses 
of skos:Concept. They have different properties - as needed. They can be both 
defined in Ontology 1. When you create treatments you use properties 
appropriate to treatments. When you create symptoms you use properties 
appropriate to symptoms.
> 
> thanks,
> Carl Burnett
> 
> Ontology Engineer  |  Healthwise
> 
> 
> -- 
> 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/09dcaabf-3b29-4d0f-b7dc-e6b9a72dcc4cn%40googlegroups.com
>  
> .
> 

-- 
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/EA5B0D5F-3633-4EAD-8722-5455F23D77CD%40topquadrant.com.


Re: [topbraid-users] Autpopulate values for datatype properties

2021-02-01 Thread Irene Polikoff
If you are already using the URI counter, then the simplest way is to create a 
property value rule for skos:notation that would infer the value from the URI 
by taking the local part of the URI. 

Property value rule values are inferred dynamically without being persisted. 
They are available for query. You would not be able to update them using a form 
as such fields are not editable. You could, however, add a value for a property 
backed by a rule using the source code. In this case, if the inferred value is 
different, you would get two values.

If you want such rule-based values to be physically stored, you can 
periodically run the inferencing under Transform tab to persist these values.

> On Feb 1, 2021, at 3:53 PM, Dan Segal  wrote:
> 
> Hello,
> 
> In EDG, is there a way to auto-populate the value of a datatype property?
> 
> For example, let's say we have an attribute such as skos:notation .
> 
> We want to auto-populate the attribute at the time that we create an 
> Instance; for example, with a sequential number value  (similar to the 
> counter method used when constructing URIs), so that the resulting graph 
> would contain statements such as:
> 
> example:1000 skos:notation 1000.
> example:1001 skos:notation 1001.
> example:1002 skos:notation 1002.
> 
> (The predicate does not need to match the URI counter.  It just needs to be a 
> unique, and preferably sequential, value).
> 
> Dan 
> 
> 
> 
> -- 
> 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/3ee513ef-21cb-4eab-ba43-98970e845db1n%40googlegroups.com
>  
> .

-- 
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/E34923BA-95A9-43E8-8C06-EC4BCB2817EB%40topquadrant.com.


Re: [topbraid-users] Ontology learning in TBC-ME

2021-02-01 Thread Irene Polikoff
We define an ontology as a data model - classes, their properties and 
associated rules. There is no support for getting such models from 
non-structured text. There is support for getting this from a structured text 
such as spreadsheet (the columns will be turned into properties).

TopBraid EDG (launchable from TBC) offers support for creating taxonomies from 
unstructured text. It will extract terms from a document, sort them by 
frequency and let you pick which ones you want to have as skos:Concepts. 
Organizing of terms into hierarchies would be done through post processing. You 
can write business logic specific to your text to automated some of it. For 
example, if you have terms that contain other terms (e.g., Dog and Small Dog), 
you can run a query using text functions to identify these situations and make 
one term a child concept of another.

> On Feb 1, 2021, at 10:34 AM, Martina Husáková  
> wrote:
> 
> Good afternoon,
> 
> my question was whether the ontology learning can be realized in the TBC-ME. 
> It means whether we can use non-structured texts for automatical or 
> semi-automatical development of the ontological structures.
> In other words, if we can apply some specific algorithms of NLP, text mining, 
> etc. in automatical/semi-automatical building of the ontological structures, 
> because their manual development is often very time consuming.
> 
> Best regards,
> Martina Husáková
> 
> On Sat, 30 Jan 2021 at 00:06, Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> Not sure what you mean by this. You can create ontologies in TBC, if this is 
> your question.
> 
>> On Jan 29, 2021, at 1:39 PM, Martina Husáková > <mailto:martina.husakova...@gmail.com>> wrote:
>> 
>> 
>> Good afternoon,
>> 
>> I would like to ask whether it is possible to practise ontology learning in 
>> TBC-ME?
>> 
>> Thank you a lot for your answer(s).
>> 
>> Best regards,
>> Martina
>> 
>> -- 
>> 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/7699218e-7cc0-47b0-8dca-53386fa8a18dn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/7699218e-7cc0-47b0-8dca-53386fa8a18dn%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/BC106487-7E58-4754-86E6-C736F692173A%40topquadrant.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/BC106487-7E58-4754-86E6-C736F692173A%40topquadrant.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/CAAn62ofrdvUBW%2B0%2B7%3DMO_nax-%3Dm8%3DtABA_aNsytbRJ0tRBELVA%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/CAAn62ofrdvUBW%2B0%2B7%3DMO_nax-%3Dm8%3DtABA_aNsytbRJ0tRBELVA%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/0AFE197D-EDD3-45DD-BB3F-765002855941%40topquadrant.com.


Re: [topbraid-users] How to convert text to rdf file

2021-02-01 Thread Irene Polikoff
Martina,

The answer depends on what is in this file.

Is it text that is already RDF? If it is RDF, you do not need any SM modules. 
Simply, rename the file to reflect the serialization and click to open the file 
in TBC. There is no need to run export or anything like that - the file is 
already RDF.

Further, ConvertTextToRDF should be used only if the input text is already RDF. 
This module is used to process a text response from a web service that returns 
RDF serializations. It loads service responses into a graph in TBC. You could 
then use other modules to manipulate the graph and perform any other logic on 
the data you need. This is made clear by its description.

If your file contains a spreadsheet table in tab separated format, then you 
could use Import > TopBraid Composer > Import Tab-Delimited Spreadsheet File. 
There is a wizard that will walk you through conversion.

If it is a free form text that contains some terms that you may want to extract 
as concepts, you can launch TopBraid EDG from TBC and use Import Document 
feature. This requires you to first create a Taxonomy in EDG that will contain 
the extracted concepts. This is just a shell, the taxonomy will be empty. Read 
more at 
https://doc.topquadrant.com/6.4/importing/#Import_Concepts_from_Documents.

If you have a file with some arbitrary text, there its no built-in feature that 
would automagically convert it into structured RDF. You may be able to write 
some custom queries and/or scripts of your own design to turn it into RDF that 
you need. One can't say how complex this would be without knowing the content 
of the file. 

With this approach, you could use ImportTextFile which would load all the 
content of the file into a single variable. This would basically get you to RDF 
where all your text is an object of a single triple - like a large blob. Or you 
could simply cut and paste the text into an object of a triple you create 
without using this module. I asked if you wanted to create a service for a 
reason. If this is to be a repeatable conversion that runs many times, then 
using SM module to load the text would make sense.

You would then need to use SPARQL string functions to extract what you need 
from the text, then create RDF resources based on this. It may, however, be 
easier to do something like this using a scripting language like SWP 
https://www.topquadrant.com/technology/sparql-web-pages-swp/ or ADS 
https://www.topquadrant.com/configuring-topbraid-edg-with-javascript/.

> On Feb 1, 2021, at 10:30 AM, Martina Husáková  
> wrote:
> 
> Good afternoon,
> 
> thank you for your feedback. I do not want to create a service, but I would 
> like simply to convert a text, which is in the file TsunamiText.txt (see the 
> 1st figure/sml:sourceFilePath), into the RDF file.
> I used two modules for this purpose: "Import text file" and "Convert text to 
> RDF" and I would like to know where my mistake is in the settings of these 
> two modules. If I run the script, the second module "Convert text to RDF" 
> becomes yellow. I suppose that there is a mistake in this module.
> 
> You mention that "... you should change the suffix to reflect the 
> serialization e.g., .ttl and click on it to open." If I look into the two 
> modules "Import text file" and "Convert text to RDF", there is no possibility 
> where to include the name of the resulting RDF file with ttl. You can only 
> mention which serialization syntax should be used for converting in the 
> "Convert text to RDF" module (sml: serialization). Yes, I can add the next 
> module, e. g. "Export to RDF file" where I can add the name of the resulting 
> RDF file, but if I run the script, the second module "Convert text to RDF" 
> becomes yellow.
> 
> Best regards and thank you for some advice in advanced,
> Martina
> 
> 
> 
> 
> 
> On Sat, 30 Jan 2021 at 00:06, Irene Polikoff  <mailto:ir...@topquadrant.com>> wrote:
> Take a look at Help. This is for the web service interaction.
> 
> sml:ImportTextFile (sm:Module)
> 
> 
> Imports a text file into the xsd:string variable sm:outputVariable.
> 
> sml:sourceFilePath (xsd:string): The path to a text file. The path can be 
> relative to the current script's folder (e.g., myFolder/test.txt) or absolute 
> to the workspace root /myProject/myFolder/test.txt.
> 
> sml:ConvertTextToRDF (sm:Module)
> 
> Converts a text in one of the RDF serializations into an RDF graph. In a 
> typical scenario, the text would be passed into the script as external (web 
> service) input. 
> 
> 
> Is this your scenario? 
> 
> If you are not trying to create a service that will be called, but simply 
> have a file in RDF serialization, you should change the suffix to reflect the 
&g

Re: [topbraid-users] Ontology learning in TBC-ME

2021-01-29 Thread Irene Polikoff
Not sure what you mean by this. You can create ontologies in TBC, if this is 
your question.

> On Jan 29, 2021, at 1:39 PM, Martina Husáková  
> wrote:
> 
> 
> Good afternoon,
> 
> I would like to ask whether it is possible to practise ontology learning in 
> TBC-ME?
> 
> Thank you a lot for your answer(s).
> 
> Best regards,
> Martina
> 
> -- 
> 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/7699218e-7cc0-47b0-8dca-53386fa8a18dn%40googlegroups.com
>  
> .

-- 
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/BC106487-7E58-4754-86E6-C736F692173A%40topquadrant.com.


Re: [topbraid-users] How to convert text to rdf file

2021-01-29 Thread Irene Polikoff
Take a look at Help. This is for the web service interaction.

sml:ImportTextFile (sm:Module)


Imports a text file into the xsd:string variable sm:outputVariable.

sml:sourceFilePath (xsd:string): The path to a text file. The path can be 
relative to the current script's folder (e.g., myFolder/test.txt) or absolute 
to the workspace root /myProject/myFolder/test.txt.

sml:ConvertTextToRDF (sm:Module)

Converts a text in one of the RDF serializations into an RDF graph. In a 
typical scenario, the text would be passed into the script as external (web 
service) input. 


Is this your scenario? 

If you are not trying to create a service that will be called, but simply have 
a file in RDF serialization, you should change the suffix to reflect the 
serialization e.g., .ttl and click on it to open.

> On Jan 29, 2021, at 1:34 PM, Martina Husáková  
> wrote:
> 
> Good afternoon,
> 
> may I have a trivial question? I would like to receive the rdf ontology from 
> the text (in my case TsunamiText.txt). I chose the two modules for this:
> 1. Import text file 
> 2. Convert text to RDF
> 
> I am really a beginner in TopBraid Composer. I do not know how to say in the 
> module "Convert text to RDF" that this module should process (convert) the 
> content of the variable "text" (in a module "Import text file"). 
> 
> At present, the TopBraid provides the following message in the Error log: 
> "Could not execute SPARQLMotion script."  Maybe, different modules should be 
> used for this problem.
> 
> Is there anybody who could help me with this ... I think ... really trivial 
> problem? :-)
> Thank you a lot for some advice(s) :-)
> 
> Best regards,
> Martina
> 
> P. S. I am attaching two figures depicting my workflow for converting text -> 
> RDF.
> 
> 
> 
> 
> 
> 
> -- 
> 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/f5133492-8962-45d5-9d30-842d363fae1fn%40googlegroups.com
>  
> .
> 

-- 
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/184C69C2-92B9-4E3C-AC1D-58AEACA9FD4E%40topquadrant.com.


Re: [topbraid-users] Graph view in TBC-ME

2021-01-18 Thread Irene Polikoff
If you switch into the labels mode - Person icon in the header, next to the 
Home icon

> On Jan 18, 2021, at 2:01 PM, Steve Ray  wrote:
> 
> I am increasingly using the Graph view to visualize complex instance 
> topologies, and would really like to have the instance boxes displayed with 
> their rdfs:labels instead of their URIs. Is this customizable? Something I 
> could tweak in some display class?
> 
> Steve
> 
> 
> 
> -- 
> 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/CAGUep85zuk%3D04EW4Cd37UUu-dXW-TaYLT4FHtYXrcwo2bBDz8w%40mail.gmail.com
>  
> .

-- 
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/97525DD1-77ED-4D88-B9EE-E1E215BD5F99%40topquadrant.com.


Re: [topbraid-users] EDG

2020-11-30 Thread Irene Polikoff
Yes, David is correct, creating a common parent class is indeed the simplest 
approach.

It is the simplest to express and with this approach, autocomplete in TopBraid 
EDG will work as expected - showing only instances of the specified classes.

I never suggested to simply use sh:class constraint with multiple classes. All 
constraints must be met. Thus, if you use multiple classes with sh:class, the 
value would need to be an instance of all classes - as you have discovered.

What I suggested in the e-mail below is to have multiple targets. A target of a 
shape is a union of all target statements. Targets are, of course, different 
from constraints. They define where a shape is applicable, not how the values 
should look like.

If you, for some reason, can’t create a common parent class, the next option is 
to use sh:or - I have mentioned this in my original e-mail. For example:

ex:OrExample1
a owl:Class, sh:NodeShape ;
sh:property [
sh:path ex:property ;
sh:or (
[
sh:class ex:A ;
]
[
sh:class ex:B ;
]
)
] .

You can also use sh:or with different paths. Such as:

ex:OrExample2
a owl:Class, sh:NodeShape ;
sh:or (
[
sh:path ex:property1 ;
sh:class ex:A ;
]
[
sh:path ex:property2 ;
sh:class ex:B ;
]
) .

Another approach is to use sh:in with a complex property path. I am showing it 
to demonstrate different ways to say things in SHACL. The property path below 
is the same as using ex:property/rdf:type/rdfs:subClassOf* in SPARQL.

ex:InExample
a owl:Class, sh:NodeShape ;
sh:property [
sh:path (ex:property rdf:type [sh:zeroOrMorePath 
rdfs:subClassOf]) ;
sh:in ( ex:A ex:B ) ;
] .

The sh:or and sh:in options will work for validation, but will not limit the 
autocompletion on the forms when editing to only instances of A and B.


> On Nov 30, 2020, at 10:33 AM, David Price  wrote:
> 
> 
> 
>> On 30 Nov 2020, at 14:39, Henrik Dibowski > <mailto:h.dibow...@gmail.com>> wrote:
>> 
>> Hi Irene and all,
>> 
>> I was looking for existing discussions about the problem we`re facing, and 
>> found your post here. In SHACL I want to express that the object nodes of an 
>> object property can be of either class A, B, C... That`s what I`m trying to 
>> define in the PropertyShape of the object property via the sh:class 
>> predicate. Here I need to define this alternative from a list of classes. 
>> Using owl:unionOf does not seem to work here
>> 
> 
> As Irene said:
> 
>> Second, SHACL is its own language. You cannot use OWL axioms in SHACL 
>> definitions just as you can’t use SHACL statements in OWL axioms. SHACL has 
>> its own logical expressions using sh:or, sh:and, sh:not, etc.
> 
> 
>> , as the SHACL engine reports constraint violations for any subject 
>> instance, which is not an instance of all the classes. Defining several 
>> values for sh:class, as suggested by you, Irene, does not work either, as 
>> the implemented semantics is not the union but the intersection, i.e. only 
>> instances can be in the object position that are members of ALL the classes. 
>> So that`s not the wanted behavior, but does quite the opposite of a union 
>> construct.
>> 
>> My question to you: How can we define the desired expression? Or is the 
>> SHACL engine faulty? I have this problem not only for the sh:class 
>> predicate, but also for sh:targetClass of a NodeShape, where I want to have 
>> an easy way to declare the union of several classes as target class. I do 
>> not want to go for a SPARQL target definition here (there has to be a 
>> simpler solution!?), and besides, for sh:class it would not be an option at 
>> all.
>> 
> 
> The simplest approach is to make a superclass of the classes in question. In 
> EDG you can declare that to be abstract too.
> 
> Cheers,
> David
> 
> 
>> Many thanks
>> 
>> 
>> On Wednesday, February 5, 2020 at 3:19:21 PM UTC+1 Irene Polikoff wrote:
>> Michel,
>> 
>> First, all target declarations are cumulative. The target is a union of all 
>> targets https://www.w3.org/TR/shacl/#targets 
>> <https://www.w3.org/TR/shacl/#targets>
>> 
>> So, for the validation purposes, you could simply do:
>> 
>> alim:NodeShape_1 sh:targetClass  bs:InformationObject, bs:Activity, 
>> bs:PhysicalObject.
>> 
>&

Re: [topbraid-users] Trying to play nice with SHACL

2020-11-24 Thread Irene Polikoff
There is no path in your example that could get from ?this to ?prop. A path 
specifies predicates. You do not have predicates to specify - you are finding 
out your predicates in the first WHERE statement. This is why you need to have 
2 statements in the WHERE clause and can’t boil them down to a path expression 
in a single statement.

> On Nov 24, 2020, at 12:39 PM, Steve Ray  wrote:
> 
> I'm trying to get comfortable with using SHACL code and wean myself from 
> embedded SPARQL. However, I'm having some trouble mapping certain common 
> SPARQL patterns into the SHACL counterpart. Specifically, here's an example. 
> I'm trying to find all the values of any property that is a subPropertyOf a 
> parent property (c223:hasProperty).
> The SPARQL should (I think) be something like this:
> 
> c223:PropertiesShape
>   rdf:type sh:PropertyShape ;
>   sh:path c223:hasProperty ;
>   sh:name "PropertiesShape" ;
>   sh:values [
>   sh:sparql [
>   sh:prefixes  > ;
>   sh:select """SELECT DISTINCT ?prop
>  WHERE {
>  ?property rdfs:subPropertyOf* c223:hasProperty .
>  $this ?property ?prop .
> }""" ;
> ] ;
> ] ;
> .
> 
> I know the following is wrong, but not sure what sh: calls I should be using:
> 
> c223:PropertiesShape
>   rdf:type sh:PropertyShape ;
>   sh:path c223:hasProperty ;
>   sh:name "PropertiesShape" ;
>   sh:values [
>   sh:distinct [
>   sh:nodes [
>   sh:path (
>   [
> sh:zeroOrMorePath rdfs:subPropertyOf ;
>   ]
>   c223:hasProperty
> ) ;
> ] ;
> ] ;
> ] ;
> .
> 
> This gives me a "malformed SHACL expression", so there are definitely 
> problems.
> 
> My real question is, how does one duplicate this pattern in SHACL?:
> 
> WHERE {
>  ?property rdfs:subPropertyOf*  .
>  $this ?property ?result .
> }
> 
> 
> 
> 
> Steve
> 
> 
> 
> -- 
> 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/CAGUep87nmSVo5eziHPh6ExbPD1%3DD%3DWrfTNOwNtK0PBww21%3DpgA%40mail.gmail.com
>  
> .

-- 
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/11EA64E3-07D1-4DAF-A609-21C84A739254%40topquadrant.com.


Re: [topbraid-users] SHACL Targets

2020-11-02 Thread Irene Polikoff
Hi Matt,

There are pre-defined target types in SHACL. You can not change their behavior.

There is also a way to create SPARQL based targets using a SPARQL query. If a 
query is a pattern that may be re-used in different contexts, you could declare 
a custom type by parametrizing the query as described here 
https://w3c.github.io/shacl/shacl-af/#SPARQLTargetType 


This would be your own type of target, using your namespace, not sh:.

The query, for example, could have predicate and object as parameters:

ex:MyTarget
a sh:SPARQLTargetType ;
rdfs:subClassOf sh:Target ;
sh:parameter [
sh:path ex:predicate ;
sh:nodeKind sh:IRI ;
] ;
  sh:parameter [
sh:path ex:object ;
sh:nodeKind sh:IRI ;
] ;
sh:prefixes ex: ;
sh:select """
SELECT ?this
WHERE {
?this $predicate $object .
}
""" .

Then, when you assign this custom target type, you would provide values for the 
predicate and object. I have assumed above that objects are resources.

This is just a quickly sketched example. I have not tried it. Read the spec for 
more details.

> On Nov 2, 2020, at 8:20 PM, Matt Goldberg  wrote:
> 
> Left out a detail- an ideal solution would also avoid sh:node such that 
> errors in validation reports would be informative instead of sh:node's 
> uninformative "does not conform to shape" message.
> 
> Thanks for any help! 
> 
> On Monday, November 2, 2020 at 8:07:44 PM UTC-5 Matt Goldberg wrote:
> Hello-
> 
> I've experimented with the Custom Targets and Custom Target Types and I can't 
> seem to find a reasonable way to define targets in a particular way. What I'd 
> like to do is have the focus nodes specified by resources themselves via a 
> property that points to the shape to use, effectively how rdf:type does for 
> implicit shapes, but by using a specified term in the domain ontology instead 
> of rdf:type. In other words, I'd like to specify that the focus nodes for 
> some node shape S are the subjects of triples with predicate P and object S, 
> where P is specified and is not necessarily rdf:type. 
> 
> sh:targetSubjectsOf and sh:targetObjectsOf do not provide this functionality, 
> as they only look at the predicate. I don't think $currentShape is pre-bound 
> for custom target types like for constraint components (at least my 
> experiments didn't seem to work), but even if it is, it would likely be an 
> optional feature as is stated in the specification. An ideal solution would 
> be something that would not use any TopBraid specific features, as we are 
> using SHACL in other systems as well.
> 
> Thanks for any help!
> 
> -- 
> 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/4cc9fc07-6309-4c53-aaee-7073dd62ac2cn%40googlegroups.com
>  
> .

-- 
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/3BC4B807-2ABB-4AE4-B973-E0DDFD0C4465%40topquadrant.com.


[topbraid-users] TopBraid User Group Meeting

2020-10-28 Thread Irene Polikoff
Just a reminder that we will be holding our user group meeting this Thursday, 
October 29th at 11:00 am EDT. 

If you have not registered, please do so here: 
https://register.gotowebinar.com/register/7560252257576530704 
<https://register.gotowebinar.com/register/7560252257576530704>.

Thank you to all that have signed up. We look forward to a productive 
conversation.

Regards,

Irene Polikoff

-- 
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/B6BC5F14-A1CB-43D5-892C-7B3ACB043A34%40topquadrant.com.


Re: [topbraid-users] SHACL function

2020-10-18 Thread Irene Polikoff
https://www.w3.org/TR/shacl/#NotConstraintComponent

However, if this is about values of the same property e.g., ex:feature and you 
are already using sh:in A, B, C, you do not need any other constraints. Sh:in 
says that values of ex:feature must be either A, B or C and nothing else. Thus, 
you don’t need a separate constraint to say that values of ex:feature can’t be 
D.

If this is about two different properties, then, for the second property, use 
sh:not with sh:hasValue. E.g., ex:feature must be A, B or C is stated using 
sh:in AND ex:diagnosis can not be D is stated using sh:not and sh:hasValue.

If you want to say that at least one of the values has to be A, B or C, but 
there can’t be other values, do not use sh:in. Instead use 
https://www.w3.org/TR/shacl/#HasValueConstraintComponent with 
https://www.w3.org/TR/shacl/#OrConstraintComponent.

sh:or (
[
sh:path ex:feature ;
sh:hasValue ex:A ;
]
[
sh:path ex:feature ;
sh:hasValue ex:B ;
]
[
sh:path ex:feature ;
sh:hasValue ex:C ;
]
)

sh:not [
sh:path ex:feature ;
sh:hasValue ex:D ;
] 




> On Oct 18, 2020, at 3:53 PM, Emily Zhang  wrote:
> 
> Hi all,
> This is a simple question regarding SHACL functions in TBCME. Apologize for 
> posting it here, I didn't find any other places to discuss this. Please point 
> me to it if you know any place like "StackOverflow" for SHACL. 
> Based on my previous question, I trying to build a validation rule to 
> identify the possible disease type of patients. My current rule is: if the 
> subject has any of the features A, B, C, AND it doesn't have feature D. Then 
> the subject could be predicted as having object X. I am using the function 
> "sh:in" to include the feature A, B, C. However, I am stuck at the place of 
> how to present the negative presence of feature D. I've tried to search for 
> all the SHACL rule on W3C, and here is one I found that could be relevant.
> sh:property [
> sh:path ex:bCode ;
> sh:pattern "D" ;
> sh:flags "i" ;   # Ignore case
> ] .
> I use the string from feature D as the pattern to ignore. However, it doesn't 
> work. The subject with feature D was still be predicted as subject X. 
> Was I on the wrong track? What's a more accurate SHACL function to define the 
> non-presence of a feature? The feature I am talking about here is the 
> Nodeshape under properties. 
> Thanks a lot,
> Emily
> 
> -- 
> 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/64d2ec6c-c3d9-4b96-9550-9551241c7af1n%40googlegroups.com.

-- 
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/5586EA43-7F32-4052-8A35-5AFDA24242E4%40topquadrant.com.


Re: [topbraid-users] Best practices guidance

2020-10-13 Thread Irene Polikoff
Hi Steve,

In principle, there could be several kind of things that one may expect to be 
instances of the test1:PressureMeasuringDevice.

Since I don’t have a good example with pressure at the moment, let's talk, 
instead, about WeightMeasuringDevice such as a scale. The idea is the same:

1. There are different models of scales 
e.g.,https://www.amazon.com/eufy-Bluetooth-Measurements-Composition-Analysis/dp/B07GZBXCH6
 
<https://www.amazon.com/eufy-Bluetooth-Measurements-Composition-Analysis/dp/B07GZBXCH6>,
 so a model could be an instance. Models don’t really have quantities since a 
quantity is a specific measurement with a value. But one could say that a model 
is used to measure human weight as opposed to the weight of food.
2. There are instances of scales - a specific scale of the model 
https://www.amazon.com/eufy-Bluetooth-Measurements-Composition-Analysis/dp/B07GZBXCH6
 
<https://www.amazon.com/eufy-Bluetooth-Measurements-Composition-Analysis/dp/B07GZBXCH6>,
 with its specific barcode
3. There are applied instances of scales. In other words, it is not only a 
specific scale, but it is a scale that is being used to measure my weight 

I think you are describing the third situation because you are wanting to 
specify quantities e.g., Irene’s weight would be an instance of qudt:Quantity. 
Presumably, in your data you will have instances of qudt:Quantity and you want 
to ensure that they have the right unit of measure.

Your model would work fine for data validation of existing data e.g., if you 
have an instance of a weight measuring device and it is said to produce 
measurements (quantities) that are not measured in units of the right quantity 
kind, e.g., it is said that Irene’s weight is measured in meters you will get a 
violation. The device will be flagged as invalid.

I don’t like that both property shapes in your example have the same sh:name - 
this is confusing.

If on the other hand, you want to be able to create data based on this model 
e.g., when you create a device and then create a quantity "Irene’s weight", you 
want to be offered for selection only the appropriate units if this is a 
quantity measured by your device, then this model would not support it in EDG 
and, I doubt, would support it for any tool out of the box. 

If quantities such as Irene’s weight are already existing when you create a 
device, you may want to be offered just the quantities that use appropriate 
units of measure when describing the device. This would not work out of the box 
either.

You could create a custom application targeted to your use of your specific 
modeling pattern.

Also, with data validation, is it the device that is invalid or is it the  
quantity that is invalid? Can quantities exist independent of the devices that 
measure them? May be the issue is with the quantity - it got described with the 
wrong units and not with the device. In other words, it is correct to say that 
a specific device is used to measure my weight, but it is not correct to say 
that my weight could be measured in meters. Further, data about my weight could 
exist without knowing a specific scale that measured it.

In other words, the model design depends on whether it is only for validation 
of already existing data or for guiding you in correctly creating new data. It 
also depends on what is the focus of your validation - devices or quantities.

> On Oct 13, 2020, at 4:52 PM, Steve Ray  wrote:
> 
> Irene,
> To answer your question about what my second case would look like,
> here's a working example:
> 
> test1:PressureMeasuringDevice
>  a owl:Class ;
>  a sh:NodeShape ;
>  rdfs:subClassOf owl:Thing ;
>  sh:property [
>  a sh:PropertyShape ;
>  sh:path test1:producesMeasurements ;
>  sh:class qudt:Quantity ;
>  sh:name "produces measurements" ;
>] ;
>  sh:property [
>  a sh:PropertyShape ;
>  sh:path (
>  test1:producesMeasurements
>  qudt:unit
>  qudt:hasQuantityKind
>) ;
>  sh:hasValue <http://qudt.org/vocab/quantitykind/ForcePerArea> ;
>  sh:name "produces measurements" ;
>] ;
> .
> 
> Note that this does not require the definition of a constrained class
> PowerMeasurement. Instead, it just says "I expect an instance of the
> generalized qudt:Quantity class, but it had better have a unit with a
> quantitykind of ForcePerArea".
> 
> So, the advantage of this method is there are fewer subClasses of my
> Measurement class that I would have to define. The cost is more
> complex property shapes.
> 
> I'm quite interested in your opinion of this.
> 
> 
> Steve
> 
> 
> On Mon, Oct 12, 2020 at 12:04 PM Irene Polikoff  wrote:
>> 
>> I do not understand the difference between two options you are outlining. In 
>> the second case

Re: [topbraid-users] Best practices guidance

2020-10-12 Thread Irene Polikoff
I am pretty sure this was a question about the most appropriate SHACL modeling 
pattern as opposed to OWL vs SHACL.

Regarding reasoning, TopBraid users typically use SHACL rules for reasoning. 
SWRL is pretty obsolete. It will never be a standard and is mainly supported by 
Protege. 

I was also assuming that PowerMeasurementDevice (if such class is created) 
could be a subclass of a MeasurementDevice and instances would be the actual 
devices - may be from different manufacturers, etc. Of course, the decision on 
where to stop with classes and subclasses and start using instances is also 
situational - it depends.

> On Oct 12, 2020, at 3:16 PM, Michael DeBellis  wrote:
> 
> 
>  I'm looking for guidance on best practices for modeling the
> following kind of pattern:
> A PowerMeasurementDevice takes measurements of Power.  
> 
> In my opinion, you haven't said enough about your problem to really give a 
> good answer to the question. You can model this either with OWL or SHACL. 
> Actually, you will probably use OWL either way just to model that a   
> PowerMeasurementDevice is an instance of Device which is probably a subclass 
> of something else and that producesMeasurements is an object property. So the 
> real question is: is it better to use OWL alone or OWL + SHACL? 
> 
> The standard answer to these kinds of questions is usually: "use OWL for 
> reasoning and SHACL for constraints" but of course things like the domain and 
> range of a property (like most things that can be modeled in SHACL) can be 
> modeled either way, as an axiom for reasoning or as a constraint on data. 
> 
> I think what it really comes down to is what kind of data do you have? If you 
> are creating say an expert system ontology from scratch and are also going to 
> populate it with rules in SWRL or some other language then probably OWL alone 
> is better. If you have a lot of existing real world data which may contain 
> values of producesMeasurements that don't have the appropriate values for 
> their domain and/or range then you probably want to use SHACL. Also,  how 
> volatile is your data? If there is constantly new data coming in (which may 
> not match the constraint) then SHACL is probably better. If it is relatively 
> static and your data will tend to be well formed then OWL axioms are probably 
> better. 
> 
> As you probably know, the issue with using OWL axioms is the first time you 
> encounter an Individual that doesn't have the proper domain or range then 
> your entire ontology is inconsistent which means it can't be used for any 
> reasoning until the bad data is fixed or removed. With SHACL you just get a 
> report (or some other user defined action) about the bad data but it doesn't 
> make your entire model inconsistent. 
> 
> Michael 
> michaeldebellis.com   
> 
> 
> On Mon, Oct 12, 2020 at 11:39 AM Steve Ray  > wrote:
> This question is directed at anyone in this group who is fluent in
> SHACL. I'm looking for guidance on best practices for modeling the
> following kind of pattern:
> 
> A PowerMeasurementDevice takes measurements of Power.
> 
> Is it better practice to put a SHACL constraint on the instances of a
> class called PowerMeasurement (that they should be measurements of
> Power), where:
> 
> PowerMeasurementDevice producesMeasurements PowerMeasurement .
> 
> 
> or, should I just define a property shape for PowerMeasurementDevice
> such that the property producesMeasurements has the appropriate
> constraints? In this case, I don't need to create a special class
> called PowerMeasurement.
> 
> Any thoughts one way or the other? I'm leaning toward the explicit
> definition of a PowerMeasurement class, but it's more intuition than
> principle.
> 
> 
> Steve
> 
> -- 
> 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/CAGUep87ZvBUe0urm5V6rxFPJOVpYCzG3Aa0qz7DxFBH-9TR9Wg%40mail.gmail.com
>  
> .
> 
> -- 
> 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/CALGFikcT82t%3DeKh6bnEdiL8hkTCoOv89-R5my0WvfKrztTVibg%40mail.gmail.com
>  
> 

Re: [topbraid-users] Best practices guidance

2020-10-12 Thread Irene Polikoff
I do not understand the difference between two options you are outlining. In 
the second case, how would the constraint look like?

The bigger question that would ultimately determine the answer is “what you 
would like to accomplish by producing this model and what do you expect to see 
in typical data that you will use with it?”. In other words, what do you want 
it to do e.g., what constraint violations would you like it to produce when 
validating what kind of data, what inferences would you like it to create if 
any?

There are few general best practices that can be stated in abstract, such as:

Do not use inverse properties; instead, use shapes with inverse paths
When deciding what direction to create a property in, go from “many” to “one”

But for most guidance, the data and goals need to be understood. There are many 
different options and alternatives with SHACL.  Even with the ones above it is 
not “100% must do", ultimately, it all depends.

> On Oct 12, 2020, at 2:38 PM, Steve Ray  wrote:
> 
> This question is directed at anyone in this group who is fluent in
> SHACL. I'm looking for guidance on best practices for modeling the
> following kind of pattern:
> 
> A PowerMeasurementDevice takes measurements of Power.
> 
> Is it better practice to put a SHACL constraint on the instances of a
> class called PowerMeasurement (that they should be measurements of
> Power), where:
> 
> PowerMeasurementDevice producesMeasurements PowerMeasurement .
> 
> 
> or, should I just define a property shape for PowerMeasurementDevice
> such that the property producesMeasurements has the appropriate
> constraints? In this case, I don't need to create a special class
> called PowerMeasurement.
> 
> Any thoughts one way or the other? I'm leaning toward the explicit
> definition of a PowerMeasurement class, but it's more intuition than
> principle.
> 
> 
> Steve
> 
> -- 
> 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/CAGUep87ZvBUe0urm5V6rxFPJOVpYCzG3Aa0qz7DxFBH-9TR9Wg%40mail.gmail.com.

-- 
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/E7D12854-E0D7-4342-AB1C-989E1CD1D12A%40topquadrant.com.


Re: [topbraid-users] how best to create/work-with a linkset or tagset of an arbitrary number of relationship predicates between two lists of objects

2020-10-12 Thread Irene Polikoff
You can use multiple relationships in a tagset, but a list of relationships is 
static I.e., the choice of relationships is not dependent on the items you are 
connecting. As I understand it, you are wanting different relationships 
depending on the type of items you are connecting.

Further, auto classification will always use a single relationship. What we 
typically do is run a set of rules, post classification, to transform this 
single relationship into different relationships reflecting the type of 
connected items. For example, if there is a tagging link between an agency and 
a function, a rule could generate ex:activity link between them. 

Having said this, the auto classification algorithm is about tagging documents 
(content)  with the most relevant concepts, based on the document text. I am 
not sure where is the content in the agency and function example. Rule 
processing I have described is typically used where tagging concepts are of 
different type and a relationship between a document and a tag would differ, 
depending on the type of a tag e.g., if it is a Geo Concept, relationship may 
be ‘location’, if it is a business, relationship may be ‘organization’, etc.

Once generated, you will be able to easily see these links in the default view 
of the Tagset editor if these relationships are amongst the possible  tagging 
relationships. Otherwise, you would need to use a different view to see them.

Similarly, for manual tagging, you will be able to use these relationships if 
they are on the list of possible tagging relationships.

For crosswalks, the links created through the built-in auto-mapping algorithm 
will always use a single selected predicate. There is a way to plug in custom 
mapping algorithms. The default UI (crosswalk table), will only show side by 
side items connected by the currently selected mapping predicate. Again, you 
would need to use an alternative layout to see items connected by any predicate.

Sent from my iPhone

> On Oct 12, 2020, at 12:10 AM, Simon Opper  
> wrote:
> 
>   Hi folks
> 
> I want to encode relationships between two list of things,   a list of 
> agencies and a list of functions.  The relationships are defined in a third 
> list.
> 
> As one outcome, I also want to test the ability of Maui to attribute 
> relationships. I think it will be poor but I want to confirm.
> 
> A tagset doesn't work out of the box as it just has one list of things that 
> can be tagged with something. I could either tag agencies with a 
> relationship... but to what. Or the agency to a function, but only with a 
> single tag predicate e.g skos:related. So I still then  have to attribute the 
> relationships somehow. 
> 
> A crosswalk doesn't work out of the box as while you can have both the set of 
> agencies and the functions, it only allows a single match predicate e.g. 
> crosswlk:closeMatch  and I want to be able to select from a range of possible 
> match predicates.
> 
> So I can obviously work through this through in an ontology or manual code 
> editing manner to derive such relations but I'm hoping that I can leverage 
> the existing asset interfaces and maui:
> 
> can the tagger can be adapted to enable a dynamic set of tag predicates and 
> not just  a single skos property for example. possibly a shacl shape  or 
> rule.  Before I try this I just wanted to see if the tagger interface and 
> maui would still work ?
> 
> and/or could the crosswalks asset be customised in a similar manner to allow 
> a dynamic list of match predicates ?
> 
> Many thanks in advance
> 
> Simon
> 
> 
> -- 
> 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/5b2daa7b-9542-40f7-b65e-56c50bf4f70bn%40googlegroups.com.

-- 
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/BF6D47B1-3D7F-48B9-B87D-37DD12105799%40topquadrant.com.


Re: [topbraid-users] EDG: Feature Request - populate Alternative Label when importing a JDBC Schema

2020-10-09 Thread Irene Polikoff
Hi Tim,

There is a property edg:name which should get populated.

> On Oct 9, 2020, at 5:34 PM, Tim Smith  wrote:
> 
> Hi,
> 
> I recently imported a modest sized SQL Server Schema.  For each database 
> column, rdfs:label is populated as:
> 
> " (.)"
> 
> While the intent is clear (to disambiguate the same column name across tables 
> and databases), it can make for a "messy" visual when using rdfs:label.
> 
> Would it be possible to also populate skos:altLabel as  during 
> the import process?  This would make it easy to choose what I want the user 
> to see.  Also, could the same thing be done for database tables?
> 
> Thank you for your consideration,
> 
> Tim
> 
> 
> -- 
> 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/CAF0WbnJt7n6xMaSKrhA1rbvbFM-2%2B1qy_sG28hTvjxZ8tCAB2Q%40mail.gmail.com
>  
> .

-- 
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/9B47CCDD-FA8F-49B6-B1A6-E800B69AA4CF%40topquadrant.com.


Re: [topbraid-users] How to import a shapesfile A into a shapesfile B

2020-09-30 Thread Irene Polikoff
Just as you do with any other RDF file.

If you are using TBC, open file B, find A in the Project Explorer view and drag 
and drop it into Imports view.

If you are using EDF, click on asset collection B, go to Settings tab > 
Includes, select A in the Includes Dialog.

> On Sep 30, 2020, at 4:20 PM, Angelo Frozza  wrote:
> 
> Hi all,
> 
> In a hypothetical scenario, I have a shapesfile A.
> 
> Now I am writing a shapesfile B and I would like to use the definitions of 
> shapesfile A without having to rewrite.
> 
> How do I import shapesfile A to be used in shapesfile B?
> 
> Best regards!!!
> 
> Angelo
> 
> -- 
> 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/9edb778f-3a1c-4235-9e7a-95b29552b112n%40googlegroups.com
>  
> .

-- 
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/5CAD5718-B684-4653-989D-67448523E988%40topquadrant.com.


[topbraid-users] Announcing Virtual TopBraid EDG User Group Meeting

2020-09-25 Thread Irene Polikoff
We are excited to offer a User Group meeting to all existing TopBraid EDG users 
and prospective users. 

The virtual meeting will take place on October 1, 2020 at 11:00 EDT - 12:30 
EDT. We will discuss the release planning process, have a deep dive into data 
import options as well as a Q&A session. 

You can register at: 
https://register.gotowebinar.com/register/7560252257576530704 


Hope to see you there,

Irene

-- 
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/60A97AB6-02ED-4ED7-8560-3CB1FD89A50B%40topquadrant.com.


  1   2   3   4   5   6   7   8   >