-
Couldn't load subscription status.
- Fork 69
Update 2024-09-11.md #683
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update 2024-09-11.md #683
Conversation
Added details into the Semantizer demo part.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make a PR with these changes, or should I?
(Note -- This is yet more evidence in favor of waiting at least one business day after submission of a PR, before merging it.)
| * MLG: First we can see the React-Admin app and later the code. We can see in the network console of the browser that the app is fetching my WebId, then the extended profile, then the enterprise and its extended profile where it finds links to the catalogs. On the interface of the app, we can see a list of catalogs. We can click on a catalog to see the contained catalog-items. In the code it is really simple, we load the documents in the order explained above. | ||
| * MLG: Once I fetch/load the first dataset (profile), I can use mixins. Mixins use RDF/JS dataset. With mixin I have access to methods I can call on the dataset to access to data in an easy way. With only few lines I can easily query the pod. I can also show you another example. A bit of code I'm working on for Startin'Blox which shows the usage of the TypeIndex mixin: I can get the TypeIndex by simply call the `getPublicTypeIndex` method. Then I can directly access to a registration instance with the dedicated method `getRegistratedInstanceForClass`. | ||
| ### Work in Progress: Semantizer library and a React-Admin app demo | ||
| * Maxime Lecoq-Gaillard (lecoqlibre): I would like to make a quick demo of Semantizer, a TypeScript library I'm working on to make Solid apps (it could be used to create non-Solid apps too). Semantizer is based on the RDFJS interfaces and use mixins. Users can define their own mixins very easily to add methods to manipulate their data. Currently some mixins already exist like the WebId, the SolidWebId and the TypeIndex ones. I will also add a Comunica mixin soon to run SPARQL queries directly on the data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * Maxime Lecoq-Gaillard (lecoqlibre): I would like to make a quick demo of Semantizer, a TypeScript library I'm working on to make Solid apps (it could be used to create non-Solid apps too). Semantizer is based on the RDFJS interfaces and use mixins. Users can define their own mixins very easily to add methods to manipulate their data. Currently some mixins already exist like the WebId, the SolidWebId and the TypeIndex ones. I will also add a Comunica mixin soon to run SPARQL queries directly on the data. | |
| * Maxime Lecoq-Gaillard (lecoqlibre): I would like to make a quick demo of Semantizer, a TypeScript library I'm working on to make Solid apps. (It could be used to create non-Solid apps, too.) Semantizer is based on the RDFJS interfaces and uses mixins. Users can define their own mixins very easily to add methods to manipulate their data. Some mixins already exist, like the WebId, SolidWebId and TypeIndex ones. I will also add a Comunica mixin soon, to run SPARQL queries directly on the data. |
| * MLG: Once I fetch/load the first dataset (profile), I can use mixins. Mixins use RDF/JS dataset. With mixin I have access to methods I can call on the dataset to access to data in an easy way. With only few lines I can easily query the pod. I can also show you another example. A bit of code I'm working on for Startin'Blox which shows the usage of the TypeIndex mixin: I can get the TypeIndex by simply call the `getPublicTypeIndex` method. Then I can directly access to a registration instance with the dedicated method `getRegistratedInstanceForClass`. | ||
| ### Work in Progress: Semantizer library and a React-Admin app demo | ||
| * Maxime Lecoq-Gaillard (lecoqlibre): I would like to make a quick demo of Semantizer, a TypeScript library I'm working on to make Solid apps (it could be used to create non-Solid apps too). Semantizer is based on the RDFJS interfaces and use mixins. Users can define their own mixins very easily to add methods to manipulate their data. Currently some mixins already exist like the WebId, the SolidWebId and the TypeIndex ones. I will also add a Comunica mixin soon to run SPARQL queries directly on the data. | ||
| * MLG: The demo will be in the domain of agriculture. Let's starts with taking a look at the datasets in my POD. All starts from the WebId profile of a person (representing a food producer). In its profile, the producer is affiliated to some enterprises. Enterprises have their own profile in which they list catalogs which are linked to some products (catalog items). The demo will show the catalogs of the producer being fetched from its WebId. The demo will also make use of extended profiles (linked in the person and the enterprise profiles). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * MLG: The demo will be in the domain of agriculture. Let's starts with taking a look at the datasets in my POD. All starts from the WebId profile of a person (representing a food producer). In its profile, the producer is affiliated to some enterprises. Enterprises have their own profile in which they list catalogs which are linked to some products (catalog items). The demo will show the catalogs of the producer being fetched from its WebId. The demo will also make use of extended profiles (linked in the person and the enterprise profiles). | |
| * MLG: The demo will be in the domain of agriculture. Let's start by taking a look at the datasets in my pod. All start from the WebId profile of a person (representing a food producer). In its profile, the producer is affiliated with some enterprises. Enterprises have their own profiles, in which they list catalogs which are linked to some products (catalog items). The demo will show the catalogs of the producer being fetched from its WebId. The demo will also make use of extended profiles (linked in the person and enterprise profiles). |
| * MLG: First we can see the React-Admin app and later the code. We can see in the network console of the browser that the app is fetching my WebId, then the extended profile, then the enterprise and its extended profile where it finds links to the catalogs. On the interface of the app, we can see the list of catalogs of the producer. We can click on a catalog to see the contained catalog-items. In the code it is really simple, we load the documents (datasets) in the order explained above. | ||
| * MLG: Once I fetch/load the first dataset (profile), I can use mixins. With mixin I have access to methods I can call on the dataset to access to data in an easy way. With only few lines I can easily query the pod. I can also show you another example. A bit of code I'm working on for Startin'Blox which shows the usage of the TypeIndex mixin: I can get the TypeIndex by simply call the `getPublicTypeIndex` method. Then I can directly access to a registration instance with the dedicated method `getRegistratedInstanceForClass`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * MLG: First we can see the React-Admin app and later the code. We can see in the network console of the browser that the app is fetching my WebId, then the extended profile, then the enterprise and its extended profile where it finds links to the catalogs. On the interface of the app, we can see the list of catalogs of the producer. We can click on a catalog to see the contained catalog-items. In the code it is really simple, we load the documents (datasets) in the order explained above. | |
| * MLG: Once I fetch/load the first dataset (profile), I can use mixins. With mixin I have access to methods I can call on the dataset to access to data in an easy way. With only few lines I can easily query the pod. I can also show you another example. A bit of code I'm working on for Startin'Blox which shows the usage of the TypeIndex mixin: I can get the TypeIndex by simply call the `getPublicTypeIndex` method. Then I can directly access to a registration instance with the dedicated method `getRegistratedInstanceForClass`. | |
| * MLG: First, we can see the React-Admin app, and later the code. We can see in the network console of the browser that the app is fetching my WebId, then the extended profile, then the enterprise and its extended profile, where it finds links to the catalogs. On the interface of the app, we can see the list of catalogs of the producer. We can click on a catalog to see the contained catalog-items. In the code, it is really simple; we load the documents (datasets) in the order explained above. | |
| * MLG: Once I fetch/load the first dataset (profile), I can use mixins. With mixins, I have access to methods I can call on the dataset to access to data in an easy way. With only few lines, I can easily query the pod. I can also show you another example. A bit of code I'm working on for Startin'Blox which shows the usage of the TypeIndex mixin: I can get the TypeIndex by simply calling the `getPublicTypeIndex` method. Then I can directly access a registration instance with the dedicated method `getRegistratedInstanceForClass`. |
| * MLG: Mixin are very easy to define. It is just a mixin function in TS in which you define some methods you want to add to your dataset. You also have to export a factory to create and load instances of your mixin (an helper is available). | ||
| * eP: Do you have an example of using multiple mixins on the same resource? | ||
| * MLG: Yes, for instance the SolidWebID mixin uses the WebIDMixin and the DatasetMixin. The DatasetMixin is the base mixin which adds the URI of the dataset. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * MLG: Mixin are very easy to define. It is just a mixin function in TS in which you define some methods you want to add to your dataset. You also have to export a factory to create and load instances of your mixin (an helper is available). | |
| * eP: Do you have an example of using multiple mixins on the same resource? | |
| * MLG: Yes, for instance the SolidWebID mixin uses the WebIDMixin and the DatasetMixin. The DatasetMixin is the base mixin which adds the URI of the dataset. | |
| * MLG: Mixins are very easy to define. It is just a mixin function in TS, in which you define some methods you want to add to your dataset. You also have to export a factory to create and load instances of your mixin. (A helper is available.) | |
| * eP: Do you have an example of using multiple mixins on the same resource? | |
| * MLG: Yes. For instance, the SolidWebID mixin uses the WebIDMixin and the DatasetMixin. The DatasetMixin is the base mixin which adds the URI of the dataset. |
| * MLG: Yes, for instance the SolidWebID mixin uses the WebIDMixin and the DatasetMixin. The DatasetMixin is the base mixin which adds the URI of the dataset. | ||
| * eP: Could you use WebID mixin and Vcard mixin together for example? | ||
| * MLG: Yes, mixins can be mixed like wanted. | ||
| * MLG: Yes, mixins can be mixed like wanted to add an unlimited number of methods to manipulate the data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * MLG: Yes, mixins can be mixed like wanted to add an unlimited number of methods to manipulate the data. | |
| * MLG: Yes, mixins can be mixed like you wanted, to add an unlimited number of methods to manipulate the data. |
| * eP: How do you compare it to LDO and the class based approach used by Noel? | ||
| * MLG: LDO only defines properties to access underlying data (defined from a shape). If you want to add methods to LDO objects you have to do it by yourself. Semantizer can be used to do so. Semantizer adds mixin, which supports RDFJS datasets and all the RDF data model (blank nodes also). | ||
| * MLG: Semantizer can be used to add some methods to LDO objects. For example to lint, add logic or compute some values. | ||
| * MLG: LDO only defines properties to access underlying data (defined from a shape). If you want to add methods to LDO objects you have to do it by yourself. Semantizer can be used to do so as it can work with any RDFJS compatible dataset. Semantizer can be used to add some methods to LDO objects for example to lint, add logic or compute some values. Semantizer also supports blank nodes (which the lib of Noël does not). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * MLG: LDO only defines properties to access underlying data (defined from a shape). If you want to add methods to LDO objects you have to do it by yourself. Semantizer can be used to do so as it can work with any RDFJS compatible dataset. Semantizer can be used to add some methods to LDO objects for example to lint, add logic or compute some values. Semantizer also supports blank nodes (which the lib of Noël does not). | |
| * MLG: LDO only defines properties to access underlying data (defined from a shape). If you want to add methods to LDO objects, you have to do it by yourself. Semantizer can be used to do so, as it can work with any RDFJS compatible dataset. Semantizer can be used to add some methods to LDO objects; for example, to lint, add logic, or compute some values. Semantizer also supports blank nodes (which the lib of Noël does not). |
|
This was just a PR on a PR branch. The original PR is still open #682 |
|
Oh, @lecoqlibre can you reopen this PR and commit Ted's suggestions? I think only you can do that. |
* Meeting notes 2024-09-11 * Update 2024-09-11.md (#683) Added details into the Semantizer demo part. --------- Co-authored-by: Maxime Lecoq <[email protected]>
|
I merged the main PR now so if you still want these suggestions processed, you can rebase this PR on |
|
I'll do something about another PR. sighs |
|
@TallTed I just wanted to take a moment to express my gratitude for all your contributions over the years to improve the quality of our meeting minutes. Your attention to detail is really appreciated, and it’s unfortunate that your changes couldn't be merged directly. |
Added details into the Semantizer demo part.