Clear filter
Article
Nikita Savchenko · Jan 5, 2019
This article introduces InterSystems iKnow Entity Browser, a web application which allows to visualize extracted and organized text data mined from a large number of texts, powered by InterSystems iKnow technology, which is also known as InterSystems Text Analytics in InterSystems IRIS. Feel free to play with the demo of this tool or learn more about it on InterSystems Open Exchange.
I started the development of this project in late 2016. From now on, my iKnow Entity Browser is used around the world by those who use InterSystems technology in their stack and those who do text mining. This article should have appeared earlier, however, it's never late to tell something about the useful stuff!
What InterSystems Text Analytics is About
InterSystems iKnow (or InterSystems Text Analytics) is an embeddable NLP technology which allows to extract meaningful data from texts. Well, not only just to extract this data, but also to gather it, link, filter and prioritize. As a result, InterSystems iKnow provides a solid ground for building data applications for data mining.
From the programming perspective, iKnow provides a rich API which allows to embed this technology to any application, regardless of its programming language. iKnow Entity Browser uses this API to visualize the processed data in a form of a tree of concepts and relations.
Before InterSystems iKnow Entity Browser was released, the only out-of-the-box solution available for data exploration was the embedded iKnow viewer, which is shipped together with InterSystems' Cache-based and IRIS products. This viewer features many useful tools primarily for searching something in the processed text (in iKnow it is called domain), while iKnow Entity Browser is created also to visualize and organize concepts in a text.
iKnow Knowledge Portal Look
iKnow Entity Browser
iKnow Entity Browser is an open-source project, meaning that anyone can contribute to its core. Here's the list of features that have been developed:
visualization of similar and related concepts as a tree (snowflake diagram), zoom in and out support;
graph editing tools: selection, deletion, undo & redo operations;
data source customization, which also enables exploring the graph on remote servers;
customizable tabular view of all entities presented on a graph, which can also be exported as a *.csv spreadsheet;
mobile-friendly, touch-compatible, responsive user interface.
iKnow Entity Browser Graph Demo
Installation
iKnow Entity Browser installation is pretty straightforward. Download the latest release (XML file) of the application and import it into iKnow-enabled namespace (for example, SAMPLES). This works with all latest InterSystems product releases, including InterSystems IRIS data platform. To import XML file, you can drag & drop the file onto the Studio (Atelier) window. Alternatively, you can import the file using the system management portal, in system explorer — classes. Then, open your browser at http://localhost:57772/EntityBrowser/ web page (change the host/port respectively to your server's setup and mind to append the trailing slash / at the end of the URL).
To delete the application, simply delete the EntityBrowser package from Studio/Atelier. The installed web application will be deleted automatically if it wasn't modified since installation, the same way as it gets created during the installation.
Currently, to use iKnow Entity Browser in different namespaces, you need to import it to each iKnow-enabled namespace, and manually set up web application (for example, you can clone /EntityBrowser application and rename it). Change the settings inside the web application to corresponding ones in this case (read the customization guide below).
If you installed iKnow Entity Browser on the server and made the web application public, you can connect to this server from any front end, for example, even from this demo application.
Customization
Application's setting menu, located in the top right corner of the user interface allows to customize the appearance and data source. In the settings menu, you can specify the following (see the image below):
Data source URL, which identifies the server with installed iKnow entity browser (/EntityBrowser web application).
Domain name. When you create a new domain in InterSystems iKnow, you specify the name of the domain. This name goes into domain name input.
A seed concept name which builds the graph. By default, iKnow Entity Browser builds the graph starting from related concepts to the seed concept you specify, however, you can change it to be similar concepts, using the drop-down menu on the left side from the seed concept input or the drop-down menu in the main view if enabled.
Whether or not to place the seed concept input in the main view.
Whether or not to place the query type drop-down menu in the main view.
Whether or not to show hidden nodes in the tabular view. Hidden nodes are those which are not expanded in a view but present in a query result.
Columns that are displayed in a tabular view. Here you can customize the column name and select a value it displays (ID, inbound edge type, label, score, spread, frequency, parent concept's label, parent concept's id).
Reset all settings to defaults.
iKnow Entity Browser Settings
The Graph
Once the seed concept is specified in settings, iKnow Entity Browser builds a graph of similar or related concepts to the seed concept. You can play with this graph by dragging its nodes, however, the physical force will always try to organize it in a form of the snowflake diagram.
The graph can be edited using the controls in the bottom of the screen. This includes undo/redo buttons, zoom in/out and reset zoom buttons, reset selection button, unlink and delete selection buttons. Hovering over any of these buttons displays a tooltip.
Menu with controls
In case you need a list of selected concepts, you can toggle a tabular view by pressing on the corresponding button in the top right corner. Everything you do on the graph stays in sync with the tabular view and vice versa.
In the tabular view, once you hover over one of the rows, the corresponding node is highlighted on the graph. If you click the row, the graph view automatically focuses on the corresponding node. As well as on the graph, you can click buttons in table rows to select/deselect nodes.
Tabular View
Once you have a selection of nodes, you can export them as a table in *.csv format. Press the tabular view button in the top right corner for the table to appear and then you'll find the "Export" button. This will export all selected nodes in a form of a table, the same table as you have in a tabular view.
There's More
iKnow Entity Browser is just one of the numerous projects I did for InterSystems corporation. Here are some if you haven't seen these projects yet: WebTerminal, Visual Editor, Class Explorer, Light Pivot Table, GlobalsDB Admin. Find these and other InterSystems-related projects on InterSystems Marketplace.
All of my projects are open sourced, allowing others to contribute. The code of these projects is available on GitHub. You can also use their code as an example to build your own application on top of InterSystems' products. If you take a closer look, you'll find out that most of them are installable packages, shipped in a single XML file. If you are curious about using the same strategy for your packages, check this article.
Hope you'll find iKnow Entity Browser and other projects useful! Enjoy! Thanks for posting Nikita. Your visualization has indeed been extremely helpful in showing what iKnow entities are all about to new audiences and is easily embeddable in applications where large numbers of entities need to be explored or navigated! Thank you Benjamin! Glad to hear this Thanks for posting.
I followed the install directions and customized the domain and seed word and the web browser seemed to indicate that it was processing and never stopped. CPU usage was overloaded and I'm having to reboot the server. Has anyone else encountered this? In EntityBrowser.API class set PAGESIZE parameter to 100 and compile the class. Thanks, that fed me results quickly. What is this doing? I'm familiar with PAGESIZE as it relates to number of rows returned. I've noticed nodes now that say to display x more. So is this returning first 100, top 100, or something different? TOP 100.
Announcement
Anastasia Dyubaylo · Apr 24, 2019
Hi Community!You're very welcome to watch a new video on InterSystems Developers YouTube, recorded in a new format called "Coding Talks":Developing with Docker and InterSystems IRIS Community Edition In this video, presented by @Evgeny.Shvarov, you will know how to develop InterSystems IRIS solution on ObjectScript using Docker with example of dockerised InterSystems IRIS repository.Read how to dockerize your repo here.And...A little bit about our new video format: Coding Talks is a short video in which the developer demonstrates a particular feature or functionality of InterSystems Data Platforms which he/she uses to in coding. Typical format: the face on side and editor with ObjectScript.So! Enjoy watching the video and you're very welcome to share your own ideas/themes for our new video format in the comments to this post!Stay tuned! This article needs to link to pre-requisite articles to be of much use. For a developer who is used to writing ObjectScript in Studio on a local Ensemble installation, the starting point for this video is so far removed from what is familiar as to make it pretty useless. Similarly, for a newcomer to InterSystems development there is little here to latch onto to get things started. As part of a series this might well make a lot of sense, but as a standalone video its like demonstrating how to build a space rocket by showing an astronaut strapping themselves in for takeoff - it felt like all of the hard work had already been done. Hi Duncan!As mentioned above the video is a sort of "work through" for this article. Could you be more specific what doesn't work?BTW, just Yesterday I recorded another one which shows how to start a totally new app with Github, IRIS on docker and VSCode. Hope it will answer some of your questions.
Announcement
Anastasia Dyubaylo · Dec 13, 2019
Hi Everyone,
Please welcome the new Global Summit 2019 video on InterSystems Developers YouTube Channel:
⏯ Using IoT in InterSystems IRIS for Health
In this video, we will demonstrate connecting a heart rate sensor, to InterSystems IRIS for Health via an MQTT/IoT interface. We will show how the sensor reading becomes a well-formatted HL7 message, suitable for sharing and analysis.
Takeaway: InterSystems IRIS for Health enables you to capture and use the latest wearable data from healthcare sensors.Presenter: @Anton.Umnikov, Senior Cloud Solution Architect, InterSystems
Learn more in this InterSystems Online Learning Course.
Enjoy watching the video! 👍🏼
Announcement
Anastasia Dyubaylo · Dec 14, 2018
Hi Community! It's time for New Badges on InterSystems Global Masters Advocacy Hub! Please welcome:✔ InterSystems IRIS Reporter Badge✔ InterSystems IRIS Blogger Badge✔ InterSystems IRIS Influencer Badge✔ InterSystems IRIS Opinion Maker BadgeHow can GM Advocates get these badges? See the details below.Badge's NameRulesInterSystems IRIS ReporterAwarded after you published 10 / 50 / 100 / 250 articles (not questions) with InterSystems IRIS tag on Developer Community.Posts must not be deleted; they must be published.Counted only the posts with positive rating. Posts from the Developer Community Feedback group are not counted.InterSystems IRIS BloggerInterSystems IRIS InfluencerInterSystems IRIS Opinion Maker And...Please check the additional information about Global Masters:How to join InterSystems Global MastersGlobal Masters Badges DescriptionsGlobal Masters Levels DescriptionsChanges in Global Masters ProgramIf you have not joined InterSystems Global Masters Advocacy Hub yet, let's get started right now! Feel free to ask your questions in the comments to this post. Hi @Anastasia.Dyubaylo How long it will take to get the badge if we published a new Article?
Thanks I believe it is 3 days. I think this is to confirm posts are real and not spam. Also to allow them to get some votes and confirm it has a positive rating. Thanks, Peter! Indeed, there is a 3 days delay which lets our DC Moderators team decide on the nature of the post and to let community vote positively or negatively. You don't get badges and points for negatively voted posts.
Announcement
Jeff Fried · Jan 22, 2019
The preview release of InterSystems HealthShare Health Connect 2019.1 is now available!
Kits and container images are available via WRC's preview download site.
InterSystems HealthShare Health Connect version 2019.1 is the first version of InterSystems HealthShare Health Connect synchronized with InterSystems IRIS, and includes many new features and capabilities, most notably:
FHIR STU3 Support
Java Business Hosts
Managed File Transfer (MFT)
Containerized and cloud deployment
New interoperability capabilities that speed configuring and troubleshooting of productions
These are detailed in the draft documentation and release notes for InterSystems HealthShare Health Connect
(Note that the Health Connect documentation is currently available only to registered healthcare customers via an SSO login.)
Preview releases allow our customers to get an early start working with new features and functionality. They are supported for development and test purposes, but not for production. This preview release does not provide an upgrade from earlier versions of InterSystems HealthShare Health Connect; if you are interested in testing the upgrade process, please contact your InterSystems representative. We noticed that SAMPLES DB appears to be missing, was this intentional? Are you planning to add it in the official release? Also, will there separate notification on build releases with list of fixes? Thank youYuriy The IRIS-based products don't ship a SAMPLES database. Instead there's a documented procedure for setting up your own, then fetching the samples you want.
Question
Zaheer Uddin · Dec 18, 2018
I am unable to connect to InterSystems ODBC client. I am seeing the following error:
[Cache ODBC][State : S1000][Native Code 417] Access denied.
$cnx = new PDO("odbc:Driver={InterSystems ODBC};Server=<IP>;Uid=<id>;Pwd=<password>;");
Am i doing anything wrong?
Although, I can successfully connect and retrieve data in MS Excel using ODBC connection where I have configured my DSN and all If you're using InterSystems IRIS try this connection string (replacing values with appropriate):
"Driver=InterSystems ODBC Driver;Host=127.0.0.1;Port=56772;Database=USER;UID=myUsername;PWD="
and for Caché/Ensemble try (driver name could be InterSystems ODBC):
"Driver=Cache ODBC Driver;Host=127.0.0.1;Port=1972;Database=USER;UID=myUsername;PWD="
If the problem persist, check Audit log. i got the same error message, have you solved the problem?
Announcement
Evgeny Shvarov · Dec 1, 2018
Hi Community!Check the fresh Virtually Speaking recording "InterSystems on vSAN" with @Murray.Oldfield Have a great weekend!
Announcement
Thomas Carroll · Apr 5, 2019
Hi Community!
We're pleased to announce that that InterSystems IRIS Community Edition is available on the Docker Store! InterSystems IRIS Community Edition is the no-cost developer edition designed to lower the barriers to entry to get started with IRIS. Now that it is listed on the Docker Store, running an IRIS Community instance is as easy as -
docker run -d -p 52773:52773 store/intersystems/iris:2019.1.0.511.0-community
For more on running IRIS in containers check out our Documentation or one of the many Community posts on the topic!
Confirming that! Really great news, Joe! What are the limitations of Community edition? One limitation I can see straight away is that this version only includes outdated files for Node.js (ie the iris*.node files). All I see is iris610.node and iris700.node. Is there a reason why the Node.js version 8 and version 10 interface files haven't been included? What a wonderful news There's a section about Community Edition limitations in the document at https://irisdocs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ACLOUD#ACLOUD_limitsHere's a screenshot of what it currently says:A big disappointment for me is the exclusion of namespace mapping. Those of us who create tools for the InterSystems world commonly use namespace mapping to make our tools available in the users' namespaces. See Evgeny's article here I downloaded IRIS Community edition (store/intersystems/iris:2019.1.0.510.0-community) and was able to create package and global mappings without any issues. I was able to create the mappings, but they don't seem to work for me. Not even after an IRIS restart.I'm using the %ALL pseudo-namespace. I created these mappings (no restarts):Ens* global mapping for ENSLIB -> USERDeepSee* global mapping for ENSLIB -> %ALLEns* package mapping for ENSLIB -> USERHere's the result: I notice that your mappings get code from ENSLIBMy use-case is a bit different.Can you create a new database and namespace pair called XYZ and then define a %ALL mapping so that the globals ^XYZ and the routines XYZ* and the package XYZ get fetched from your XYZ namespace from all other namespaces, e.g. USER ?I'd expect mappings to ENSLIB to work, otherwise the "Ensemble" features of IRIS would be broken in Community Edition.It seems to me that those are allowed but mappings we define to our own databases get ignored. Yeah, apparently only DeepSee and Ens packages/globals can be mapped successfully.Tried random package and it didn't show up even after mapping to %ALL. Thanks, Rob!Introduced your issue here. Please share more requests and feedback there Thanks, John!Your feedback is filed here. Also here. I beat you to it! This is a restriction in the Community Edition and it is what is meant byAll InterSystems IRIS functionality is included except the following:Namespace mapping...You can create mappings and activate configurations which contain mappings if that is useful for some purpose (eg. building a configuration for someone else) however all mappings which do not involve a system database are ignored.
Announcement
Pete Greskoff · Jun 25, 2019
InterSystems has corrected a memory leak in applications that pass by reference to a formal parameter that accepts a variable number of arguments.
This problem exists for:
InterSystems IRIS Data Platform – all currently released versions
InterSystems IRIS for Health – all currently released versions
HealthShare Health Connect 2019.1.0
If this defect occurs, the process partition will eventually be exhausted, resulting in a <STORE> error.
The defect occurs if application code calls a subroutine passing an argument by reference to a parameter that accepts a variable number of arguments using the … syntax. For background on these topics and more examples of code that uses them, see the “Variable Number of Parameters” and the “Passing By Reference” sections in the “Callable User-defined Code Modules” chapter of Using ObjectScript in the documentation (Docs.InterSystems.com).
Here is an example to demonstrate the defect:
test // CDS3148 test
set (var1,var2,var3)=0
do sub(var1,.var2,var3)
quit
sub(arg1,args…)
quit
USER>for i=1:1:1000 { do ^test } write $S
268301128
USER>for i=1:1:1000 { do ^test } write $S
268276552
USER>
This subroutine call would also demonstrate the defect:
do sub(var1,var2,.var3)
But this one would not:
do sub(.var1,var2,var3)
The correction for this defect is identified as CDS3148. It will be included in all future product releases. It is also available via Ad hoc distribution from the InterSystems Worldwide Response Center (WRC).
If you have any questions regarding this alert, please contact the Worldwide Response Center.
Announcement
Anastasia Dyubaylo · Jul 23, 2019
Hi Everyone!InterSystems HealthShare is nominated for the Computable Awards 2019! The Unified Health Record that we implemented together with our partner Itzos in the St. Maartens Clinic has a chance to become the "ICT Project of the Year in Healthcare". A great honour, but of course we also want to win. We need 4,000 votes! Therefore we'd like to ask you to vote! The process of voting is a bit complicated, but we created a step-by-step guide to make it easier:1. Register on → Computable website2. You will receive an email from Computable with a link. Click on the link and you will get to the voting page.3. Use CTRL/COMMAND + F to search for InterSystems on the page, or just scroll down to the award category near the bottom “IT project of the Year in Healthcare.” Vote for the second group:4. Done? Awesome! You will get a "Thank you" email from Computable Awards.So,We hope for you! Help InterSystems to win! Please share, like and send as direct message to your customers, friends and prospects.In addition, we prepare a special challenge to vote on InterSystems Global Masters Advocacy Hub. Please complete it and get a good amount of extra points.Stay tuned! For what it's worth, it looks like it's possible to vote without subscribing to any of the updates - I filled in my information, left all four subscription check-boxes blank, and selected "verstuur", and received an email with a link to vote. Hi Samuel, this is such an awesome correction! Thank you!! I edited the instructions :) Hi ,I filled in my information, and received an email with a link to vote. and I have voted for Intersystems. Thanks Hi Uthman,Thanks for your support! Done! Hi Esther,Thanks for your attention to us! Thanks to all who voted for us, on behalf of the Benelux team!
Announcement
Janine Perkins · Apr 20, 2017
Design a production in a development environment using best practices. After you have built your first production in a test environment, you can start applying what you have learned and begin building in a development environment. Take the Designing Productions Non-Healthcare course to learn additional information to enable you to successfully design your production. Much of the information in this course is considered best practices.Learn More.
Announcement
Evgeny Shvarov · Jun 30, 2017
Hi, Community!Hope you have already put in your schedule the visit to InterSystems Global Summit 2017 which will take place on 10-13 of September in remarkable JW Marriott Desert Springs Resort and Spa.This year we have Experience Lab, The Unconference, and 50 more other sessions, regarding performance, cloud, scalability, FHIR, high availability and other solutions and best practices.Global Summit it the most effective way to know what's new and what are the most powerful practices to make successful solutions with InterSystems technology.Today is the last day for early bird $999 tickets.But! You can get a free of charge ticket on InterSystems Global Masters Advocate hub!There are numerous ways to earn the points: write articles or answer the questions, publish testimonials or provide referrals, or simply watch and read articles and share it on social networks.To join Global Masters leave your comment in this post and we'll send you a personal invite link.Note!Allow us to recognize your contribution to Developer Community in Global Masters and register with the same email you have in Developer Community.Also, Community moderators are getting free tickets to Global Summit.This year they are -- [@Eduard.Lebedyuk], [@John.Murray], and [@Dmitry.Maslennikov].See you on InterSystems Global Summit 2017! Hi, Community!Just want to share the good news.Early bird registration for $999 prolonged until 14th of July, we also have $200 and $300 discounts for you on Global Masters. See the agenda of daily sessions on Solution Developers Conference.
Announcement
Evgeny Shvarov · Oct 31, 2017
Hi, Community!See the Key Notes videos from Global Summit 2017 with new InterSystems IRIS Data Platform announcement.InterSystems Global Summit Keynote - Part 1InterSystems Global Summit Keynote - Part 2
Announcement
Evgeny Shvarov · Oct 24, 2017
Hi, Community!We are having InterSystems Developer Meetup tomorrow 25th of October in CIC.What is it?It's an open evening event to:know more about InterSystems products and new technology features;discuss it with other developers in your area and with developers and engineers from InterSystems Corporation;network with developers of the innovative solutions.Why attend?If you are new to InterSystems data platform, Meetup is a great way to know more and get a direct impression. You can listen to what are the new features and best practices of InterSystems products and discuss your tasks with experienced developers who already used it successfully or with InterSystems employees.If you are already using InterSystems products it’s a great way to meet in person other developers who are making and supporting solutions on InterSystems Data Platform in your region and to discuss your problems and questions with InterSystems developers and engineers directly.Why attend tomorrow?Come tomorrow because we have a greatAGENDA!6-00pm InterSystems IRIS: Sharding and ScalabilityWe just launched new data platform InterSystems IRIS which comes with sharding feature. Tomorrow Jeff Miller, one of sharding developers will describe you how can you benefit from it and you can ask him how it works.6-30 pm Optimize Your Workflow with Atelier 1.1And! Hope you've heard a lot already about our new IDE Atelier! Tomorrow you can listen to the update on how Atelier can help you to develop InterSystems solutions more effectively and you can talk directly to Atelier developer [@Michelle.Stolwyk].7-30 pm Clustering options for high availability and scalabilityAlso, InterSystems Data Platform is known for its High Availability features. [@Oren.Wolf], InterSystems product manager, will have a session which more details on InterSystems High Availability solutions.How to find the place?It's in Cambridge Innovation Center, One Broadway, Cambridge, MA. Come at 5.30pm, bring your ID, come up to the 5th floor and join us in Venture Cafe.Join us for food, beverages, and networking and discuss powerful new InterSystems solutions with other developers in Boston metro area. See the live stream recording! Join Live Stream today and ask your questions online! Thanks for this, Evgeny. It doesn't look like i'll be driving down tonight given the weather here in Maine, so I'll be participating via live stream! Sure, Jeff! Hope you can make the next one. Prepare your questions! ) InterSystems IRIS Data Platfrom: Sharding and Scalability by [@Jeff.Miller] And here's the complete recording:https://www.youtube.com/watch?v=J3QLibe15xs[ including 30 min break ] Yep, we will post remastered version soon ) I've posted the 'Clustering options for high availability and scalability' slides on SlideShare (here) Here's my slide deck - The Power Boost of Atelier! It has private access for now, and available only for you, yet. Fixed! Hi!Here is the remastered version of Meetup live stream recording.
Announcement
Evgeny Shvarov · Mar 1, 2016
Hi Community!I'm pleased to announce that the winner of the Global Summit Free Registration Contest is... Dmitry Maslennikov!Final leaderboard is:To win the prize Dmitry published 3 posts and 13 comments in two weeks. Thanks to your votes for posts and comments Dmitry gathered maximum number of points.We award Dmitry with Free Registration promo code for InterSystems Global Summit 2016 and cover expenses for 4 night stay in Waldorf Astoria Arizona Biltmore.Welcome to InterSystems Global Summit 2016! Thanks a lot Congrats! Congratulations! I am looking forward to meeting you at the Global Summit.Stefan So first off, I think Dmitry deserved to win, but I do have a question.In this post, dated Feb 19th, I had 55 points. On the 26th I posted asking about it and my score was at 50. 4 days later and my final score is still 50 (after a lot more posts). What's the deal? edit: Just realized that posts to the Developer Community Feedback forum didn't count, which explains why my points didn't go up. But it still doesn't explain why they went down. :) Scott - I am sure Evgeny will provide some clarification here once he gets online. Thanks for your patience! Hi, Scott!You are right!The explanation is very simple - we had a bug in formula. Sorry about this.But the final leaderboard is quite right! We have points for: posting, commenting, votes in your posts and comments. And yes, we filter Announcements and Developer Community Feedback groups. Scott!Want to invite you to participate in the Second Developer Community Contest!Hope we will not show errors in leaderboard this time :)