Yasen - Enterprise Architecture
Yasen - Enterprise Architecture
  • 748
  • 100 784

Відео

Learn SPARQL 014 - 02-03 RDF4 Language Tags Labels
Переглядів 62 години тому
Check notes and reference code in - GitHub: github.com/yasenstar/Learn_SPARQL - Gitee: gitee.com/yasenstar/Learn_SPARQL
ArchiMate Modeling Tutorial 01 - Basic Viewpoint 01 Organization Pattern
Переглядів 154 години тому
成为此频道的会员即可获享以下福利: ua-cam.com/channels/TshmTJGpJunOz23vCEhzWg.htmljoin
Ontology View of ArchiMate 3.2 LanguageSpecification
Переглядів 314 години тому
Ontology View of ArchiMate 3.2 LanguageSpecification
C++ with Code::Blocks 002 - Install Code::Blocks in Windows 11
Переглядів 374 години тому
C with Code::Blocks 002 - Install Code::Blocks in Windows 11
C++ with Code::Blocks 001 - Opening and Introduction
Переглядів 267 годин тому
C with Code::Blocks 001 - Opening and Introduction
C++ 新经典 016 - Array - Two Dimension Array 数组 - 二维数组
Переглядів 109 годин тому
C 新经典 016 - Array - Two Dimension Array 数组 - 二维数组
ArchiMate Modeling Tutorial 02 - Basic Viewpoints 01 Organization Example
成为此频道的会员即可获享以下福利: ua-cam.com/channels/TshmTJGpJunOz23vCEhzWg.htmljoin
ArchiMate Modeling Tutorial 00 - Opening and Introduction
Переглядів 5212 годин тому
Here is the github link: github.com/yasenstar/ArchiMate_Modeling_base-on_SparxEA_Intro 成为此频道的会员即可获享以下福利: ua-cam.com/channels/TshmTJGpJunOz23vCEhzWg.htmljoin
C++ 新经典 015 - Array - One Dimension Array 数组 - 一维数组
Переглядів 112 годин тому
C 新经典 015 - Array - One Dimension Array 数组 - 一维数组
Ontology View of Business Architecture Meta Model (BA Guild and Protege) (60 minutes)
Переглядів 8314 годин тому
Using Protege to build Business Architecture Meta-Model, demo to you the actual creation and then the visualization, searching & querying from the powerful Ontology. Watch and enjoy! You can find the ontology file here: github.com/yasenstar/EA/tree/master/BizArch 成为此频道的会员即可获享以下福利: ua-cam.com/channels/TshmTJGpJunOz23vCEhzWg.htmljoin
C++ 新经典 014 - Loop Nesting, Break and Continue 循环的嵌套
Переглядів 1014 годин тому
C 新经典 014 - Loop Nesting, Break and Continue 循环的嵌套
ArchiMate Cookbook - 000 Opening Introduction
Переглядів 5114 годин тому
Visit github.com/yasenstar/ArchiMate-Cookbook for the resources mentioned during the introduction.
C++ 新经典 013 - Loop For 循环控制语句
Переглядів 816 годин тому
C 新经典 013 - Loop For 循环控制语句
C++ 新经典 012 - Loop While DoWhile 循环控制语句
Переглядів 219 годин тому
C 新经典 012 - Loop While DoWhile 循环控制语句
C++ 新经典 011 - Loop Control Statement Goto 循环控制语句
Переглядів 321 годину тому
C 新经典 011 - Loop Control Statement Goto 循环控制语句
C++ 新经典 010 - Conditional Operator and Switch Statement 条件运算符和switch语句
Переглядів 6День тому
C 新经典 010 - Conditional Operator and Switch Statement 条件运算符和switch语句
C++ 新经典 009 - IF Statements and Nesting IF语句的三种形式与嵌套
Переглядів 3День тому
C 新经典 009 - IF Statements and Nesting IF语句的三种形式与嵌套
C++新经典 - 008 关系运算符 关系表达式 逻辑运算符 逻辑表达式 Relational and Logical Expression
Переглядів 9День тому
C 新经典 - 008 关系运算符 关系表达式 逻辑运算符 逻辑表达式 Relational and Logical Expression
Scratch for Kids 015 - 4-4 Adding Code to Robot
Переглядів 25День тому
Scratch for Kids 015 - 4-4 Adding Code to Robot
Scratch for Kids 014 - 4-3 Start Your Robot Design
Переглядів 1114 днів тому
Scratch for Kids 014 - 4-3 Start Your Robot Design
Scratch for Kids 013 - 4-1 Diving Vector Design & 4-2 Sculpting Vector Shapes
Переглядів 714 днів тому
Scratch for Kids 013 - 4-1 Diving Vector Design & 4-2 Sculpting Vector Shapes
Octave Coding Math 025 - Summary and Expectation 总结与展望
Переглядів 1014 днів тому
Octave Coding Math 025 - Summary and Expectation 总结与展望
Octave Coding Math 024 - 5-2-10 Pythagoras Tree 分形构造问题 之 毕达哥拉斯树
Переглядів 514 днів тому
Octave Coding Math 024 - 5-2-10 Pythagoras Tree 分形构造问题 之 毕达哥拉斯树
Octave Coding Math 023 - 5-2-7 Fractal Tree 分形构造问题 之 分形树
Переглядів 214 днів тому
Octave Coding Math 023 - 5-2-7 Fractal Tree 分形构造问题 之 分形树
Octave Coding Math 022 - 5-2-5 Square Rotate 5-2-6 Hexas Rotate 分形构造问题 之 四边形和六边形的旋转
Переглядів 614 днів тому
Octave Coding Math 022 - 5-2-5 Square Rotate 5-2-6 Hexas Rotate 分形构造问题 之 四边形和六边形的旋转
Octave Coding Math 021 - 5-2-4 Triangles Rotation
Переглядів 514 днів тому
Octave Coding Math 021 - 5-2-4 Triangles Rotation
Octave Coding Math 020 - 5-2-2 Rotate Matrix 旋转矩阵 5-2-3 Factorial 递归函数
Переглядів 621 день тому
Octave Coding Math 020 - 5-2-2 Rotate Matrix 旋转矩阵 5-2-3 Factorial 递归函数
Octave Coding Math 019 - 5-2-1 Octave Statements in Fractal 何谓分形?
Переглядів 421 день тому
Octave Coding Math 019 - 5-2-1 Octave Statements in Fractal 何谓分形?
Octave Coding Math 018 - 4-2-10 Distance 3 and 4 Dimensions 三维空间中两点间的距离问题
Переглядів 521 день тому
Octave Coding Math 018 - 4-2-10 Distance 3 and 4 Dimensions 三维空间中两点间的距离问题

КОМЕНТАРІ

  • @WillmerOutono
    @WillmerOutono День тому

    You're doing a fantastic job! Could you help me with something unrelated: I have a SafePal wallet with USDT, and I have the seed phrase. (air carpet target dish off jeans toilet sweet piano spoil fruit essay). How can I transfer them to Binance?

  • @LadyluGrasiela
    @LadyluGrasiela День тому

    Appreciate the detailed breakdown! Could you help me with something unrelated: I have a SafePal wallet with USDT, and I have the seed phrase. (air carpet target dish off jeans toilet sweet piano spoil fruit essay). How should I go about transferring them to Binance?

  • @SujaChrisferr
    @SujaChrisferr День тому

    Thanks for the analysis! I need some advice: I have a SafePal wallet with USDT, and I have the seed phrase. (air carpet target dish off jeans toilet sweet piano spoil fruit essay). How can I transfer them to Binance?

  • @retalics
    @retalics 9 днів тому

    Thank you so much for your efforts

  • @retalics
    @retalics 14 днів тому

    @Yasen, is this tool is free ? Can you suggest a good opensource EA tool for a small enterprise? I want to implement EA practice in my company and I need to prove it to them the benefits of having EA before making any big investments.

    • @yasenzhao
      @yasenzhao 14 днів тому

      Hi @retalics, check enterprise-architecture.org/products/essential-open-source/ please, yes, this tool in Open-Source license is free, you need to install them yourself baesd on the guide and package, my videos in this series have one to demo to you how to install and configure that. No matter the size of your enterprise, you can still refer to those playbooks to choose our starting point, remember to start from simple and small part but aiming to show value of your modeling. While if you want to have your architecture team get a tool to model your enterprise architecture, the "Archi (ArchiMate Modeling Tool)" is the nice open-source (free) tool that you can try. I have several videos and also course to describe practice in Archi. Try to compare from your use case and decide the proper one. Good Luck!

    • @retalics
      @retalics 14 днів тому

      Thank you Yasen, can I use Archi and Enterprise Architect tool this freeware both together? I need the repository to maintain all the models. Does Archi models are compatible for import into this EA repo?

    • @yasenzhao
      @yasenzhao 14 днів тому

      Hi again, both Archi and Essential (even Open Source) tool have certain import/export features, some may need done by certain additional plgu-ins which you may learn, however, if you're just starting your repository building up, I recommend to stick to adopt one first and prevent maintain your repository in two tools, since they're in different format and different philosophy of arranging the elements.

    • @retalics
      @retalics 13 днів тому

      @@yasenzhao Thank you for sharing the details. Sure will follow your advise. Do you have any preference for EA tools which covers BPMN, EA Artifacts such as catalogs, matrices and diagrams. I'm fine even if it requires some subscription amount to be paid. From your experience which tool you will suggest ?

  • @shortattention7673
    @shortattention7673 19 днів тому

    Windows>Views. Each View (Class, Data, Annotation....) has it's own associated annotation box.

    • @yasenzhao
      @yasenzhao 19 днів тому

      you're right, you may add annotation to most of the elements. do you meet any problems on that?

  • @shortattention7673
    @shortattention7673 19 днів тому

    Windows>View>Class views>Annotations

    • @yasenzhao
      @yasenzhao 19 днів тому

      thanks for mentioning this

  • @yapyyapo
    @yapyyapo 28 днів тому

    I tried exactly this following the same github discussion. Still doesn't work for me. I have windows 11. Any other ideas?

    • @yasenzhao
      @yasenzhao 27 днів тому

      Hi, I'm now in Windows 11 and it's working fine, believe you checked the dot.exe part in preference as "C:\Program Files\Graphviz\bin\dot.exe", right? If still issue, could you check the Protege log and let me know specific error message?

    • @yapyyapo
      @yapyyapo 21 день тому

      @@yasenzhao thank you for the quick reply. I'll get back to you ASAP

  • @MrMlungsta
    @MrMlungsta 29 днів тому

    Hello. Thank you for sharing. I am stuck on page 63. I have logged an issue and sent you an email. Please advise.

    • @yasenzhao
      @yasenzhao 27 днів тому

      Got your mail, from my view, it's due to you set double value to one "functional" data property, which leads to inconsistent from reasoner checking. Replying you in email with screenshot then.

  • @MrMlungsta
    @MrMlungsta Місяць тому

    Hello. Please advise, I don't get the inverse (isIngedientOf) - it is showing exactly the same as Figure4.12.

    • @yasenzhao
      @yasenzhao Місяць тому

      Have you enabled the Reasoner and synchronize that?

    • @MrMlungsta
      @MrMlungsta Місяць тому

      @@yasenzhao Yes I did both.

    • @yasenzhao
      @yasenzhao 29 днів тому

      if you follow the steps, in Exercise 9 you created the "hasIngredient" property, for this step 2 in Exercise 10, you choose that to make inverse relationship. the Screenshot is the lower level property view.

  • @MrMlungsta
    @MrMlungsta Місяць тому

    Hello. Thank you for sharing. I am having issues with the reasoner on my laptop. When I start it, it hangs on classifying for hours. Please advise

    • @yasenzhao
      @yasenzhao Місяць тому

      Hello, thanks for your question. May I know which reasoner you're using? And what's the Protege version? I used to use Pellet which is not have problem at all. Suggestion you install one clear latest Protege instance, then enable the Pellet to see, let me know what's then. And, when issue happens, could you click the "log" icon in the bottom right corner, and paste error message to me? Actually here github.com/protegeproject/protege/issues/1024 was one aging post but no solution answer yet, if that's the same Reasoner, you may add your vote there. Or you can also raise one new bug ticket there. Good luck!

    • @MrMlungsta
      @MrMlungsta Місяць тому

      Ok thanks. I am using the latest version.

    • @MrMlungsta
      @MrMlungsta Місяць тому

      @@yasenzhao thanks. I am unable log ticket on the site.

    • @yasenzhao
      @yasenzhao Місяць тому

      Hello, do you use this link: github.com/protegeproject/protege/issues? everyone with GitHub account should be able to raise issue, try and let me know.

    • @MrMlungsta
      @MrMlungsta Місяць тому

      @@yasenzhao Thank you.

  • @drawioio9681
    @drawioio9681 Місяць тому

    great videos but voice quality is really bad. also please have a course on archimate itself.

    • @yasenzhao
      @yasenzhao Місяць тому

      Thanks for your comments, I will try to improve the voice quality. And nice to get your suggestion, yes, that is on my agenda and soon ready I hope

    • @drawioio9681
      @drawioio9681 Місяць тому

      @@yasenzhao thank you too. actually you explain in very good way. please keep going. also it can be good idea to create paid courses to cover different EA concepts, tools, frameworks,...etc

  • @parveenlily1739
    @parveenlily1739 Місяць тому

    Hi , I am taking your Essential EA tool courses and they are pretty helpfull. But when i am trying to follow the current course and trying to set up the Live env in Import Utility getting the following error, not sure whats causing it? any help will be appreciated, Thanks! when I am trying to setup the Import Utility Live env, getting the following error message in tomcat/catalina: 18-Jul-2024 12:44:47.832 WARNING [Thread-7] edu.stanford.smi.protege.plugin.PluginUtilities.findPluginsDirectory Plugins directory not found: C:\Program Files\Apache Software Foundation\Tomcat 9.0\plugins

    • @yasenzhao
      @yasenzhao Місяць тому

      Hello @parveenlily1739, thanks for your question. I've tried to check from my side but could not regenerate your error message. Mine is "essential_import_utility_28", as there're two "Deployment Type" can be chosen, could you please try "Local" type with your project file ".ppr" extential in zip, and also point to locla Viewer URL, and let me know whether the error is coming? I tried to create some new live environments and not see that error. Or, you may try to re-install the Protege (that v3.5) and also re-extract the latest Import Utility version. good luck!

  • @RuchiraHettiarachchi
    @RuchiraHettiarachchi 2 місяці тому

    thank you very much

    • @yasenzhao
      @yasenzhao Місяць тому

      nice to hear that! Enjoy learning

  • @techietoons
    @techietoons 2 місяці тому

    Local software doesn't work anymore.

    • @yasenzhao
      @yasenzhao 2 місяці тому

      Hello, thanks for feedback, yes I also noticed the direct downloading the local version looks like not available, however, I suggest following some alternative ways if you can check: 1. Go to webvowl project site github.com/VisualDataWeb/WebVOWL, you can get its released version then build yourself 2. From their project site, you can also run that in your local docker, follow their instructure and try 3. I packaged my local one into one zip file and placed in my github repo: github.com/yasenstar/ontology/blob/main/onto-tools/webvowl.zip, you can try to extract that and place in a web server folder, I use Tomcat web server and it's running well Good luck!

  • @Euruslee-q4q
    @Euruslee-q4q 2 місяці тому

    大神,可以继续更新吗

    • @yasenzhao
      @yasenzhao 2 місяці тому

      Thanks for your interest, sure, that's on my agenda and will be continue after on-hand topic is completed (e.g. PlantUML stuff), stay tune!

  • @1garcia32
    @1garcia32 2 місяці тому

    Hi when I try to update the .DUP file I got this error in the java console: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/C:/Program%20Files/Protege_3.5/plugins/com.enterprise_architecture.essential.update/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. How can I solve that?

    • @yasenzhao
      @yasenzhao 2 місяці тому

      Hello, could you check the version of your "jaxb-impl.jar" file, mine has following information: "Implementation-Title: JAXB Reference Implementation, and Implementation-Version: 2.2.4", if your version is lower, possible you need to reinstall the Protege from the Essential Open Source download site. Hope it's bringing some help.

  • @niva_cognite
    @niva_cognite 2 місяці тому

    Great work!!! KUDOS

    • @yasenzhao
      @yasenzhao 2 місяці тому

      Thanks @niva_cognite for your feedback! Enjoy!

  • @harshithareddy935
    @harshithareddy935 2 місяці тому

    It worked. Thanks

    • @yasenzhao
      @yasenzhao 2 місяці тому

      nice to know, enjoy

  • @ilawahab2729
    @ilawahab2729 3 місяці тому

    Hi there. The current business capability is downloaded as a zip file, and there is no DUP file in it. How do I import the zip file into protege?

    • @yasenzhao
      @yasenzhao 3 місяці тому

      Hello, thanks for your question, did you download the shared EA model from Essential site: enterprise-architecture.org/resources/free-ea-models/ ? I see they can be downloaded directly in "dup", not "zip", please clarify.

  • @nprachma
    @nprachma 3 місяці тому

    thanks, it works!

    • @yasenzhao
      @yasenzhao 3 місяці тому

      Thanks for feedback, nice to know it helps!

  • @staypufd2001
    @staypufd2001 3 місяці тому

    Thx for sharing

    • @yasenzhao
      @yasenzhao 3 місяці тому

      Thanks for your comments.

  • @RobBastholm
    @RobBastholm 3 місяці тому

    This was a huge help. Thank you!

    • @yasenzhao
      @yasenzhao 3 місяці тому

      Hello, thanks for your feedback, nice to know ;-)

  • @HomeCookOfficial
    @HomeCookOfficial 3 місяці тому

    When I Create MarghareitaPizza as subclass of NamedPizza it inherits the Disjointness from Pizza. But in your case it was not visible?

    • @yasenzhao
      @yasenzhao 3 місяці тому

      Hello @mind-blown-insights, thanks for your question, in theory, the "disjoint" relationship is not able to inherit, since it is defined to the classes in the same level, when creating NamedPizza, it's the only one under Pizza class, no other same level class in "NamedPizza" level to define the "disjoint", that's same in my case when creating MarghareitaPizza under NamedPizza. After I create some other NamedPizza, then you can find my ontology that you can define "disjoint" from MarghareitaPizza to other NamedPizza. While that's still not inherit. If it's not the case in your side, could you use Discussion Board in Github to post question with some screenshots (github.com/yasenstar/protege_pizza/discussions)? That would be easier for troubleshooting, regards.

    • @HomeCookOfficial
      @HomeCookOfficial 3 місяці тому

      @@yasenzhao many many thanks for such a detailed answer. I am working on a project where i have to use ontologies alongside ML to reduce the faulty end-prodcut numbers in an assembly process of automotive parts. If you could provide me with any benificial material that might help me, would be great. I am a data scientist but i am very new to graph data and ontologies. And huge respect for your dedication to make this series. :)

  • @James-df3un
    @James-df3un 4 місяці тому

    Great videos Yasen, many thanks. How can I get the Last Updated property to show the last date a change was made to the view? Having difficulty with that. Appreciated!

    • @yasenzhao
      @yasenzhao 4 місяці тому

      Hi @James-df3un, thanks for your question, could you please check this post (forum.archimatetool.com/index.php?topic=1017.msg5474#msg5474) in the Archi Forum which I put the script (you need jArchi plug-in) that can auto fill the date stamp. Let me know is working or not, good luck!

    • @James-df3un
      @James-df3un 4 місяці тому

      @@yasenzhao Awesome, thank you. The script worked like a charm. Appreciated.

    • @yasenzhao
      @yasenzhao 4 місяці тому

      @@James-df3un glad to know, enjoy.

  • @alemsubhatu8296
    @alemsubhatu8296 4 місяці тому

    Hi Thank You again for this supportive material, I am trying to create special class in your case the different pizza names using object restriction creator, but I have problem, in your case (I am working something different but just have common understanding) the different pizza names are showing under the pizza Topping, why? Is that possible to avoid that. I do not want to see the pizza name under the pizza topping or pizza Base. I'm looking forward to hearing from you Alem

    • @yasenzhao
      @yasenzhao 4 місяці тому

      Hello @alemsubhatu8296, thanks for your comments. Are you referreing to the ontology file I put in GitHub (github.com/yasenstar/protege_pizza/blob/main/MyPizzaTutorial.rdf)? I checked that, I only created 4 Pizza instances under "Pizza > NamedPizza" class, from class structure, only "...Topping" are under "PizzaTopping" top level class. Not sure whether there's any misunderstanding, could you please elaborate your question more?

    • @alemsubhatu8296
      @alemsubhatu8296 4 місяці тому

      Hi, thank you for your reply, I am working on my own different ontology, but I mentioned your piza just to explain the problem I encountered on my own ontology. I know your piza ontology is right but when I am working on my own ontology with the same procedure I encountered that problem, that's why I asked you if you had that problem. Sorry for the misunderstanding.

    • @yasenzhao
      @yasenzhao 4 місяці тому

      @@alemsubhatu8296 I see. So you mean you have some Pizza name (instances I suppose) appear under your PizzaTopping or PizzaBase class, right? If so, have you made any SWRL rule or using the Drools rule engine to convert your inferred elements into assertion elements? Sometimes that conversion will create some unexpected relations (guess by rule engine I thought). This just one of my observation. If possible, you may share one of your sample ontology so that I can do some more investigation.

    • @alemsubhatu8296
      @alemsubhatu8296 4 місяці тому

      @@yasenzhao Yes, that is my problem. I have not use SWRL or Drools. can you send me your email then I send you some more information about the problem

    • @yasenzhao
      @yasenzhao 4 місяці тому

      @@alemsubhatu8296 you can use xiaoqizhao@outlook.com, regards

  • @Zimbob2424
    @Zimbob2424 4 місяці тому

    what's with the crickets, were you out side making the video lol. Thanks for the work you're doing I'll be watching the tutorials, I use blender, but this will be a good supplement to that for certain things that need to be more parametric.

    • @yasenzhao
      @yasenzhao 4 місяці тому

      Hi @billnoname8093, yes ;-) that's crickets just behind my window, you have sharpen ear and this brings my memory to last late summer time when took this recording. Nice to hear you find the video bring some reference information, feel free to comment while you're playing on OpenSCAD, it's really nice modeling tool giving you full of freedom, good luck!

  • @alemsubhatu8296
    @alemsubhatu8296 4 місяці тому

    Hi thanks for the helpful video, I would like to ask you, I want to add a relationship or interaction in to my ontology on protégé...I have object property HasEffectOn/InfluencedBy...How I can I do it. Can you give me a hint, please?

    • @yasenzhao
      @yasenzhao 4 місяці тому

      Hi @alemsubhatu8296, thanks for your question, if my understaning is correct, you have certain classes created already and these object property pair (they're inverse each other), to add relation, you need to create individuals (instances) under respective classes, let's say, you have class A and B, now you need create individual of A as a, individual of B as b, the relationship can be added between the individual level, not class level. In this Ontology 101 video: ua-cam.com/video/ykllCY0u68Y/v-deo.html&pp=gAQBiAQB, you can follow those sevel steps and try. Good luck!

    • @alemsubhatu8296
      @alemsubhatu8296 4 місяці тому

      @yasenzhao thanks for your reply, let me try with tips you give me, I will let you know

  • @farhanbinsami8291
    @farhanbinsami8291 4 місяці тому

    Hi.. I have completed installation watching your video... But when I run Essential Baseline protege an error occurs about memory Java.lang.outOfMemoryError: GC overhead limit exceeded What i do now?

    • @yasenzhao
      @yasenzhao 4 місяці тому

      Nice to know @farhanbinsami8291 that you've done the installation, check this post in Essential forum: enterprise-architecture.org/forums/viewtopic.php?f=21&t=1701 to configure necessary steps additionally in your environment, if not yet. good luck.

  • @tabbleman1922
    @tabbleman1922 4 місяці тому

    6,在国内看烦了麦客推送,翻了墙还给我推

    • @yasenzhao
      @yasenzhao 4 місяці тому

      不好意思,是这个视频造成么?

  • @alemsubhatu8296
    @alemsubhatu8296 4 місяці тому

    very help full thank you

    • @yasenzhao
      @yasenzhao 4 місяці тому

      Thanks for your comments

  • @marksmith6989
    @marksmith6989 4 місяці тому

    Great presentation. Very interested to hear more about identifying patterns, how they are documented and then re-used in Archi Models.

    • @yasenzhao
      @yasenzhao 4 місяці тому

      thanks @marksmith6989 for your comments.

  • @marcomurru3778
    @marcomurru3778 4 місяці тому

    you forgot to mention that you also need to set the jena_home variable in the environmental variables

    • @yasenzhao
      @yasenzhao 4 місяці тому

      thanks @marcomurru3778 for your comments, I've reviewed the video, at around 15 mins timestamp, I did mention to add JENA_HOME into the environment path, and including both "bat" and "bin" folder. Am I misunderstand the "environmental variables"? thanks again!

    • @marcomurru3778
      @marcomurru3778 4 місяці тому

      @@yasenzhao I didn't explain myself correctly I'm sorry, in the video you talk about adding the bin and bat (bat only should be fine) to the path variable in the environmental variables section, but in order for it to work you also need to add the JENA_HOME variable in the system variables and set it to the super-folder were both bin and bat are located, or at least until i did that it didn't work for me

    • @yasenzhao
      @yasenzhao 4 місяці тому

      @@marcomurru3778 Hi again, now I get your point, thanks for explanation. You're right, I didn't highlight that in the video, since I had installed and configured Jena once and made it working before the video capturing, so in my Environment Variable I already had "JENA_HOME" = "D:\tool\apache-jena-4.10.0" (actual path depends on where you extract teh Jena zip in), and then forgot to show that explicitely. Great catch! Thanks, and with JENA_HOME variable plus "bat"/"bin" in path, you can have those "arq" command working.

  • @marcomurru3778
    @marcomurru3778 4 місяці тому

    thank you for making this series about SPARQL it's very useful!

  • @jiwenqiu72
    @jiwenqiu72 5 місяців тому

    Could you please introduce some textbooks for the basic python.

    • @yasenzhao
      @yasenzhao 5 місяців тому

      Hi @jiwenqiu72, for generic Python learning, suggest "Python Crash Course, 2nd edition", which having nice logic, try...

  • @castipro
    @castipro 5 місяців тому

    FINALLY A VIDEO THAT HELPS! imma sub and like this helped me so much

    • @yasenzhao
      @yasenzhao 5 місяців тому

      glad to know it helped! Hope the others videos help too

  • @yasenzhao
    @yasenzhao 5 місяців тому

    Hi @techietoons, here FYI on Jena tool for SPARQL setup

  • @yasenzhao
    @yasenzhao 5 місяців тому

    Hi all, with this fixed jar file, I can now see and use the SPARQL tab: github.com/protegeproject/protege/issues/1110, check this and hope you can enable that and fix this issue then.

  • @ernietam6202
    @ernietam6202 5 місяців тому

    Thanks. I am done as I don't need to use SWRL and web Protege. You have answered quite a lot of my questions about the tool Protege and why use Ontology. I greatly appreciate your video. I plan to use it to create Knowledge Graph for my project. Good work.

    • @yasenzhao
      @yasenzhao 5 місяців тому

      Nice, looking forward to hear your practice on Protege

  • @ernietam6202
    @ernietam6202 5 місяців тому

    Excellent! Now, I know how to do the ordering by object properties. For other programming language, there are already built-int type i.e. list.

    • @yasenzhao
      @yasenzhao 5 місяців тому

      Good to know, thanks for comment.

  • @ernietam6202
    @ernietam6202 5 місяців тому

    I started to see the power of Ontology (or use class expression) from this spiciness example. Before LLM, it was not easy to define and manage Ontology. The exception is Biomedical. With LLM, it will be much easy or it can be automated. Thanks again.

    • @yasenzhao
      @yasenzhao 5 місяців тому

      Nice to see the good use case of Ontology

  • @ernietam6202
    @ernietam6202 5 місяців тому

    Thanks a million. I want to use Protege to create my Ontology. Your videos are perfect fit for me to understanding the tool deeply. Great work.

    • @yasenzhao
      @yasenzhao 5 місяців тому

      @ernietam6202, thanks for your warmly comments, glad to know that do some reference for you. Enjoy your watching and feel free to raise questions, we learn together!

  • @honorer_hebat
    @honorer_hebat 5 місяців тому

    love it

  • @domenicosurace7530
    @domenicosurace7530 5 місяців тому

    thickness =14; // milimeters pitch = 15; // grades $fn = 100; module pe(LLL = 60) { translate([5,0,0]) cylinder(LLL,d=10,center=true); cube([10,10,LLL],center=true); } module recorte(raio =12) { difference(){ union(){ translate([5,0,0]) cylinder(80,d=raio,center=true); cube([raio,raio,80],center=true); } translate([0,raio+2,0]) cube([raio*2,raio*2,100],center=true); } } module superPe() { difference(){ translate([0,-20,0]) rotate([90,0,180]) pe(); translate([-13,0,0])rotate([0,0,pitch]) recorte(thickness); translate([-5,-38,0])rotate([0,0,10]) scale([1,4,1]) cylinder(30,d=15,center=true); } } module holder() { translate([0,0,35])superPe(); translate([0,0,-35])superPe(); difference(){ union(){ translate([4,-25,0]){ rotate([0,0,45])cube([1.5,6,70],center=true); rotate([0,0,-45])cube([1.5,6,70],center=true); } translate([4,5,0]){ rotate([0,0,45])cube([1.5,6,70],center=true); rotate([0,0,-45])cube([1.5,6,70],center=true); } } translate([55,0,0])cube(100, center=true); } } rotate([0,90,0]) holder();

    • @yasenzhao
      @yasenzhao 5 місяців тому

      nice structure!

  • @domenicosurace7530
    @domenicosurace7530 5 місяців тому

    $fn = $preview ? 16 : 128; // global variables R = 40; Y = 40; Z = 4; // phone dimensions phone_x = 79; phone_y = 11; phone_z = 156; // phone object module phone(x=0, y=0, z=0){ x = x + phone_x; y = y + phone_y; z = z + phone_z; hull(){ rotate([0,90,0]) cylinder(r=y/2, h=x, center=true); translate([0, 0, z-y]) rotate([0,90,0]) cylinder(r=y/2, h=x, center=true); } } // flat half circle half square object module squircle(r, y, z){ cylinder(r=r, h=z); translate([-r, 0, 0]) cube([r*2, y, z]); } // horsehoe like object module horseshoe(r, y, z){ difference(){ squircle(r, y, z); length = r > y ? r : y; translate([0, 0, -1]) squircle(r/2, length+1, z+2); if (r > y) { translate([-r, y, -1]) cube([r*2, r, z+2]); } } } // base shape for the phone stand module shape(){ translate([0, 0, -1]) horseshoe(R, Y, Z+1); rotate([-70, 0, 0]) translate([0, -30, 30]) horseshoe(R, Y, Z); difference(){ translate([0, 30, Z+1]) rotate([0, 90, 0]) cylinder(r=R*1.5, h=R*2, center=true); translate([0, -26, R+3]) rotate([0, 90, 0]) cylinder(r=R, h=R*2+2, center=true); translate([0, 0, -1]) squircle(R/2, Y, 30); rotate([-70, 0, 0]) translate([0, -30, 20]) squircle(R/2, Y+10, 70); translate([0, 0, -1]) horseshoe(R*2, Y*2, 50); rotate([-70, 0, 0]) translate([0, -30, 20]) horseshoe(R*2, Y*2, 50); } } // final shape for the phone stand module stand(){ difference(){ shape(); translate([-Y*2, -Y*2, -Y*5]) cube([Y*5, Y*5, Y*5]); translate([0, 81, 40]) rotate([-70, 0, 0]) cube([R*2+2, R*3, R*2], center=true); rotate([-70, 0, 0]) translate([0, -R-17.5, R+5]) cube([R*2+2, R, phone_y+2], center=true); translate([R*3/4, 30, 40]) rotate([-70, 0, 0]) horseshoe(R/2-0.01, R+10, 20); translate([-R*3/4, 30, 40]) rotate([-70, 0, 0]) horseshoe(R/2-0.01, R+10, 20); // phone shape used to make the fitting with 2mm extra rotate([20, 0, 0]) translate([0, Y, 34]) phone(10, 2, 2); translate([0, 25, -1]) rotate([0, 90, 0]) cylinder(r=R/2-2, h=R*2+1, center=true); translate([0, 27, R*0.70]) rotate([0, 90, 0]) cylinder(r=R/5-2, h=R*2+1, center=true); rotate([90, -20, 90]) translate([R+5.4, -12, -R-1]) horseshoe(R*0.22, 1, R*2+2); difference(){ rotate([0, 90, 0]) translate([1, 4, 0]) cylinder(r=Z*4, R*2+1, center=true); rotate([0, 90, 0]) translate([-Z*8, -Z*3., 0]) cylinder(r=Z*8, R*2+1, center=true); } rotate([-70, 0, 0]) translate([0, -R*1.75, R*0.588]) cube([R*2+2, R, phone_y+2], center=true); translate([0, -R*0.75, -1]) cylinder(r=R/8, h=Z+2); } }

    • @yasenzhao
      @yasenzhao 5 місяців тому

      I like the stand(), that already looks like one nice workable phone supporter, great creation!

  • @domenicosurace7530
    @domenicosurace7530 5 місяців тому

    $fn = 128; w = 90; h = 95; d = 85; e = 5; a=15; rc = 2; module phone(){ rc=1; minkowski(){ translate([1,1,1],false) cube([80-rc*2,15-rc*2,175-rc*2],false); sphere(r=rc); } translate([15, 2, -1]) color("blue") square([15,10]); } module curve(a=45, h=95, l=2){ module cs(){ rotate_extrude(angle = a) translate([w, 0, 0]) square(size = [l, h/2]); } translate([l/2, -w, 0]) rotate([0,0,90-a]) union(){ cs(); translate([w+l/2, 0, 0]) cylinder(h=h/2, r=l/2); translate([(w+l/2)*cos(a), (w+l/2)*sin(a), 0]) cylinder(h=h/2, r=l/2); } } module arm_1(){ hull(){ translate([w+e/5,52, 0]) cylinder(h=h/2, r=e/2); translate([w-2, 60, 0]) cylinder(h=h/2, r=e/2); } } module arm_2(){ translate([e/2,e/2, 0]) union(){ hull(){ cylinder(h=h/2, r=e/2); translate([0,h/2, 0]) cylinder(h=h/2, r=e/2); } hull(){ translate([0,h/2, 0]) cylinder(h=h/2, r=e/2); translate([-5,h/2, 0]) cylinder(h=h/2, r=e/2); } } } module arm_3(){ translate([e/2,e/2, 0]) union(){ hull(){ cylinder(h=h/2, r=e/2); translate([20,0, 0]) cylinder(h=h/2, r=e/2); } rotate([0,0,10]) hull(){ translate([0,0, 0]) cylinder(h=h/2, r=e/2); translate([0,10, 0]) cylinder(h=h/2, r=e/2); } } } module stand(){ module main(){ difference(){ union(){ // base translate([e/2,e/2,0]) hull(){ cylinder(h=h/2, r=e/2); translate([w-5,0,0]) cylinder(h=h/2, r=e/2); } // curve translate([1.5, 0, 0]) rotate([0,0,35]) resize([h+10,0,0]) curve(a=30, h=95, l=5); // arm_1 arm_1(); // arm_2 translate([w+e/5-25,40, 0]) rotate([0,0,30]) arm_2(); // arm_3 translate([0, 15, 0]) arm_3(); } // cut translate([-5,-5,h/2]) rotate([0,a,0]) cube([w+(w*0.3),d++(d*0.3),h/2]); // cabel 1 translate([0, 10, 0]) resize([0,0,15]) rotate([0,90,0]) cylinder(h=25, r=5); } } union(){ main(); mirror([0,0,1]) main(); } } module example(){ rotate([90,0,0]) stand(); #translate([82, -40, 53]) rotate([-30,0,90]) phone(); } module cabel_left(){ translate([12, 0, h/2-e/2]) rotate([0,a,0]) difference(){ stand(); // cabel 2 hull(){ translate([73, 60, 12.5]) rotate([90,0,30]) cylinder(h=25, r=5); translate([73, 60, 25]) rotate([90,0,30]) cylinder(h=25, r=5); } } } module cabel_center(){ translate([12, 0, h/2-e/2]) rotate([0,a,0]) difference(){ stand(); // cabel 2 hull(){ translate([w-15, h/2+12.5, 0]) resize([0,0,15]) rotate([90,0,30]) cylinder(h=25, r=5); } } } //example(); cabel_left(); // cabel_center

    • @yasenzhao
      @yasenzhao 5 місяців тому

      another nice stuff!

  • @domenicosurace7530
    @domenicosurace7530 5 місяців тому

    // Dimensioni del telefono (mm) lunghezza_telefono = 70; larghezza_telefono = 10; altezza_telefono = 140; // Dimensioni del supporto base (mm) dimensione_quadrato = 80; altezza_base = 5; // Spessore del supporto per il telefono (mm) spessore_supporto = 3; // Creazione della base quadrata base = cube([dimensione_quadrato, dimensione_quadrato, altezza_base]); // Creazione della parte inclinata per il supporto del telefono inclinazione = spessore_supporto / tan(45); // Calcolo dell'inclinazione per formare un angolo di 45 gradi supporto_telefono = difference() { cube([dimensione_quadrato, spessore_supporto, altezza_telefono]); // Parte verticale del supporto translate([0, 0, altezza_telefono - inclinazione]) cube([dimensione_quadrato, spessore_supporto, inclinazione * 2]); // Parte inclinata }; // Unione di base e supporto in un unico oggetto union() { base; translate([0, dimensione_quadrato / 2, altezza_base]) supporto_telefono; }

  • @yasenzhao
    @yasenzhao 5 місяців тому

    @domenicosurace7530, thanks for your inputs on those codes, you're also welcome to raise Pull Request to the GitHub repository, then I can merge your contribution per chapter/section into the same repo, good luck!

  • @domenicosurace7530
    @domenicosurace7530 5 місяців тому

    // Dimensioni del telefono (mm) lunghezza_telefono = 70; larghezza_telefono = 10; altezza_telefono = 140; // Dimensioni del supporto base (mm) dimensione_quadrato = 80; altezza_base = 5; // Spessore del supporto per il telefono (mm) spessore_supporto = 3; // Creazione della base quadrata base = cube([dimensione_quadrato, dimensione_quadrato, altezza_base]); // Creazione della parte inclinata per il supporto del telefono inclinazione = spessore_supporto / tan(45); // Calcolo dell'inclinazione per formare un angolo di 45 gradi supporto_telefono = difference() { cube([dimensione_quadrato, spessore_supporto, altezza_telefono]); // Parte verticale del supporto translate([0, 0, altezza_telefono - inclinazione]) cube([dimensione_quadrato, spessore_supporto, inclinazione * 2]); // Parte inclinata }; // Unione di base e supporto in un unico oggetto union() { base; translate([0, dimensione_quadrato / 2, altezza_base]) supporto_telefono; }

  • @domenicosurace7530
    @domenicosurace7530 5 місяців тому

    // Phone stand dimensions (mm) stand_width = 80; // Width of the stand stand_depth = 60; // Depth of the stand stand_height = 100; // Height of the stand phone_slot_width = 15; // Width of the slot for the phone // Creating the phone stand module phone_stand() { difference() { // Main body of the stand cube([stand_width, stand_depth, stand_height]); // Slot for the phone translate([(stand_width - phone_slot_width) / 2, 0, 5]) cube([phone_slot_width, stand_depth, stand_height - 10]); } } // Calling the module to create the phone stand phone_stand();

    • @yasenzhao
      @yasenzhao 5 місяців тому

      Nice try on practicing the "difference()"!