{"id":19838907,"url":"https://github.com/supermap/atlab-knowledgegraph","last_synced_at":"2025-05-01T18:31:35.678Z","repository":{"id":150182149,"uuid":"201870470","full_name":"SuperMap/ATLab-KnowledgeGraph","owner":"SuperMap","description":"基于地理格网的时空知识图谱","archived":false,"fork":false,"pushed_at":"2020-10-13T15:16:27.000Z","size":47095,"stargazers_count":39,"open_issues_count":2,"forks_count":16,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T16:49:32.080Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuperMap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-08-12T06:25:47.000Z","updated_at":"2024-12-17T08:40:03.000Z","dependencies_parsed_at":"2023-04-17T00:18:16.327Z","dependency_job_id":null,"html_url":"https://github.com/SuperMap/ATLab-KnowledgeGraph","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperMap%2FATLab-KnowledgeGraph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperMap%2FATLab-KnowledgeGraph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperMap%2FATLab-KnowledgeGraph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperMap%2FATLab-KnowledgeGraph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuperMap","download_url":"https://codeload.github.com/SuperMap/ATLab-KnowledgeGraph/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251924765,"owners_count":21666035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:19:32.086Z","updated_at":"2025-05-01T18:31:31.946Z","avatar_url":"https://github.com/SuperMap.png","language":"Java","readme":"![company](/image/company.png) \n# 基于地理格网的时空知识图谱\n## 简介\nATLab-KnowledgeGraph 是北京超图软件股份有限公司未来GIS实验室发布的开源项目,在iobjects产品的基础上，将地理信息实体按照时间和位置划分到多个网格，使用网格、时间及各实体之间的位置关系来构建地理知识图谱。\n使用本项目API，用户可以使用若干数据集来构建自己的地理格网知识图谱，从而快速查询出指定地点缓冲区内的兴趣点。\n本项目在知识图谱的表示上使用了RDF，存储使用RDF4J数据库\n\u003c/br\u003e图谱示意图：\n![shiyitu](/image/shiyi.png)\n\n\u003c/br\u003e最终效果展示：\n![xiaoguo](/image/result.png)\n\n--- \n## 如何运行及使用\n- 运行\n  - 用eclipse直接clone本项目，GettingStarted目录下的GettingStarted类可以直接运行，查看结果\n  - 同时jar目录下有生成的jar包，下载后也可以直接调用\n- 使用\n  - 初次使用流程：新建知识图谱--\u003e加载知识图谱--\u003e添加数据--\u003e添加或查询\n  - 非初次：加载知识图谱--\u003e添加或查询\n\n---\n## Geokg包中主要类与方法介绍\n- KnowledgeGraph类\n  - 创建知识图谱方法 \n    - 调用创建图谱方法，则会在指定目录创建数据库，一个目录下只能创建一个知识图谱，否则程序报错并强制退出\n    - 创建知识图谱的方法有两个，都为静态方法，可以通过类名KnowledgeGraph直接调用，分别为： \n      ```java\n      //@param iGridLevel 要构建的知识图谱网格的等级，取值范围为0-20,小于0取自动取0，大于20自动取20\n      //@param strDataStore 自定义的存储知识图谱的本地目录\n      public static boolean createKnowledgeGraph(int iGridLevel,String strDataStore){}\n  \n      //@param iGridLength 构建知识图谱的网格宽度（单位：米），根据传入的参数自动映射到网格等级，取值范围为9.8-9220000，分别对应等级20和0，小于9.8默认取9.8，大于9220000默认取9220000\n      //@param 自定义的存储知识图谱的本地目录\n      public static boolean createKnowledgeGraph(double iGridLength,String strDataStore){}\n      ``` \n  - 加载知识图谱方法 \n    - 以固定的存储路径为参数来加载一个已经存在的知识图谱，方法将返回一个知识图谱对象。\n    - 加载知识图谱的方法也为静态方法\n      ```java\n      //@param strDataStore 自定义的存储知识图谱的本地目录\n      public static KnowledgeGraph loadKnowledgeGraph(String strDataStore){}\n      ``` \n  - 增量更新方法\n    - 通过加载知识图谱方法返回的对象来增量添加数据\n      ```java\n      //@param dataSource udb文件的路径\n      //@param arType 要增加的类型，类型为udb中数据集的名称\n      public boolean addKnowledgeGraph(String dataSource, String[] arType){}\n      ```  \n  - 查询图谱方法 \n    - 通过加载知识图谱方法返回的对象来查询图谱，查询经纬度必须为WGS84，半径单位为米\n      ```java\n      //@param dLatitude 搜索点的纬度\n      //@param dLongitude 搜索点的经度\n      //@param iRadius 搜索半径，单位：米\n      //@param arType 感兴趣的类型，具体名称也为udb数据源显示的数据集名称\n      public HashMap\u003cString, ArrayList\u003cRecordSetEntity\u003e\u003e queryKnowledgeGraph(double dLatitude, double dLongitude, double iRadius,String[] arType){}\n      //@param time 地理实体的时间\n      public HashMap\u003cString, ArrayList\u003cRecordSetEntity\u003e\u003e queryKnowledgeGraph(double dLatitude, double dLongitude, double iRadius,String[] arType，String time){}\n      ```   \n    - 查询返回对象 HashMap\u003cString, ArrayList\u003cRecordSetEntity\u003e\u003e 介绍\n      - HashMap的key为您输入的类型，vaule为该类型的实体\n      - RecordSetEntity类目前有两个属性，分别为point和mingCheng,分别为实体的经纬度与名称，可以通过get()获得\n      - 注意：使用recordSet.getMingCheng()获取的可能为null，因为有些数据集可能没有名称字段，目前的处理方式为：没有名称字段便寻找位置字段，然后寻找区县字段，都没有则置为null\n        ```java\n        //查看搜索返回的各个类型的实体个数\n        for (Entry\u003cString, ArrayList\u003cRecordSetEntity\u003e\u003e entry : result.entrySet()) {\n            System.out.println(entry.getKey()+\":个数\"+entry.getValue().size());\n        }\n\n        //查询各个类型的具体实体信息\n        for (Entry\u003cString, ArrayList\u003cRecordSetEntity\u003e\u003e entry : result.entrySet()) {\n              System.out.println(entry.getKey()+\":个数\"+entry.getValue().size());\n              for (RecordSetEntity recordSet : entry.getValue()) {\n                System.out.println(\"\\t\"+recordSet.getMingCheng()+recordSet.getPoint());\n              }\n        }\n        ``` \n\n\n---\n## 用前须知\n- 运行本项目需要有iobjects的运行权限，首先需要确保可以正常使用iobjects。\n- 目前只支持udb文件\n \n---\n## 总结\n项目从无到有，从知识图谱的基础知识、构建方式、数据库选型，到目前Demo阶段性的完成，耗费了不少心神，由于本项目定位为Demo，难免有很多问题，欢迎各位对知识图谱和地理信息有兴趣的同学加入，共同维护。\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermap%2Fatlab-knowledgegraph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupermap%2Fatlab-knowledgegraph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermap%2Fatlab-knowledgegraph/lists"}