問題タブ [ontology]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ontology - Protege 4 で OWL DL クエリを使用して個人をクエリする方法は?
オントロジーで個体をクエリするにはどうすればよいですか。これは、私がやりたいことの説明です (SQL クエリに似ています)。
3 つのクラス (コンポーネント、機能、および極性) があります。極性の値は、正の極性または負の極性であり、どちらも極性のサブクラスです。
- a_component hasFeature a_Feature
- a_Feautre hasPolarity a_Polarity
Positive_polarity 値を持つすべてのコンポーネントをリストしたいと思います。
protege 4 の [DL クエリ] タブを使用して、これをどのように達成できますか?
ontology - Jena オントロジー モデルを Java で視覚化する
Jena で作成されたオントロジー モデルを Java で視覚化したいと考えています。このタスクで私を助けることができる API はありますか? または、少なくとも問題に関するチュートリアルはありますか?
前もって感謝します。
java - Need Ontology of software engineering terms
I'm trying to implement a Question Answering System based on software engineering ontology. This is a [class/university?] project; it will use the java language.
Can you please help me locate software engineering ontologies i.e. ontologies [or even taxonomies / folksonomies ?] that include words and concepts found in the domain of Software Engineering.
Editor's note: I took the liberty of rewriting this question. It was initially poorly worded and being misunderstood was closed. Maybe it can be reopen, for it is programming related and of interest to some SO contributors.
According to this dupe: the poster is looking for an OWL resource: quote, "I need software engineering ontology.owl file."
algorithm - 更新されたリストのみを比較するための効率的なアルゴリズム
この問題を説明することさえ難しいです、しかし私はそれをやってみます。私はこれに数日間苦労していて、ここで尋ねることに決めました。
さて、私は「概念」または「もの」を私が呼んでいるようにモデル化しようとしています。一般的な概念だけです。それは処理ロジックと関係があります。
したがって、各「もの」は、他のものとの関係によって定義されます。これを関係ごとに5ビットのセットとして保存します。「もの」は次のようになります。
だから、私はそのような「モノ」をモデル化しています。関係ごとに5ビット。各ビットは、1つの可能な関係を表します。このように:1は等しい、2は内側、3は外側、4は含む、5はオーバーラップします。5ビットすべてがオンになっているということは、関係が何であるかを完全に知らないことを意味します。2ビットがあるということは、関係が2つの可能性のうちの1つである可能性があることを意味します。関係は「不明」(5ビットすべてが真)として始まり、時間が経つにつれてより具体的になります。
これが、時間の経過とともに増加する知識をモデル化する方法です。物事は完全に未知の状態で始まり、部分的に既知の状態を通過し、完全に既知の状態に到達する可能性があります。
もう少し背景:
追加のクラスを使用して、「概念」(モノ)のモデリングに追加の定義を追加しようとしています。このような:
そして、私のThingクラスは次のようになります。
この「ArrayDef」は使用する必要はありません。必要に応じて、使用するだけです。配列を持たない「もの」もあれば、配列を持っているものもあります。しかし、すべての「もの」には関係があります。
この「ArrayDefinition」を処理して、2つのものの関係を理解することができます。たとえば、との場合X = [ A B C D E ]
、Y = [ C D E ]
私のコードはこれら2つの配列を処理し、「Y inside X
」を理解できます。
OK、それで十分な背景です。あらゆる種類の気が散る詳細を含む実際のコードを避けて、コアの問題について説明しました。
ここに問題があります:
問題は、これが途方もなく遅くならないようにすることです。
想像してみてください。2000の「もの」があります。これらのうち1000個に配列定義があるとしましょう。さて、それは私たちが互いに比較する必要がある500,000(ish)の可能な「配列ペア」を作ります。
私は今やっと意味をなすようになり始めていることを願っています。それらすべてを互いに処理しないようにするにはどうすればよいですか?2つの「もの」が完全に既知の関係にある場合、それらの「配列定義」を比較しても意味がないことはすでに理解しています。これは、関係の詳細を把握するために使用されるだけですが、正確な関係があるためです。意味がありません。
つまり...これらの「配列を持つもの」のうち、未知または部分的に既知の関係を持っているのは500個だけだとしましょう。それでも、250000(ish)の「配列ペア」を比較することができます。
さて...私にとって、最も明白な出発点は、2つの配列を定義するために使用される関係が変更されない限り(より具体的になる)、この「配列ペア」を処理する意味がないことを理解することです。
たとえば、次の2つの配列があるとします。
今、私がそれを言うならばT=R
、それはとてもいいです。しかし、これはXとYの関係には影響しません。したがって、TとRの関係が「等しい」と呼ばれるようになったからといって、完全に不明になる前に、XとYを再度比較する必要があるわけではありません。
一方、「T outside E
」と言えば、これは2つの配列を定義するために使用されるものの間の関係です。つまり、「T outside E
」とは、Yの配列に対してXの配列を処理する必要があることを意味します。
1000個の配列間でほとんど何も変更されていないときに、1000個の配列のロジックを処理するためだけに、500,000個の「配列ペア」を比較する必要はありません。
だから...これを単純化する最初の試みは、物事が定義するために使用されるすべての配列のリストを保持することでした。
私が3つの配列を持っているとしましょう:
さて、Xは3つの配列で使用されます。したがって、Xは、内部で使用されているすべての配列のリストを保持できます。
したがって、私が言った場合"X inside Y"
、これにより、Yが定義に使用され、すべての配列Xが定義に使用されるすべての配列のリストが表示される可能性があります。Xが3つの配列で使用され、Yが1つの配列で使用されているとします。このことから、比較する必要のある「アレイペア」が2つあることがわかります(AとB、およびAとC)。
配列ペアのいずれかがすでに完全に既知の関係を持っているかどうかを確認することで、このリストをさらに整理できます。
私がこれに関して持っている問題は、それがまだ過度に見えるということです。
Xが本当に一般的な「もの」であるとしましょう。10,000アレイで使用されています。そして、Yは本当に一般的なもので、10,000個のアレイで使用されます。
私はまだ比較するために100,000,000の配列ペアで終わります。OK、それで、それらすべてを比較する必要はないとしましょう。実際、それらのうちの50だけが部分的に知られているか、完全に知られていません。
しかし...私はまだ1億の配列ペアのリストを調べて、これらのどれが部分的に知られているのかを理解する必要がありました。したがって、それでも非効率的です。
これを行う効率的な方法がないかどうか本当に疑問に思っています。そして、本当に私にできることは、いくつかの効果的な「ヒューリスティック」戦略を立てることだけです。私はまだ良い戦略を思い付くのにあまり運がありませんでした。
この問題は非常に特殊化されていることを認識しています。そして、私はこの長い投稿を読むのに時間がかかりすぎるかもしれないことを理解しています。ポストの長さを短くする方法や、より一般的な問題の観点からこれを説明する方法がわかりません。
それが役に立ったら...これを一般的な言葉で表現するための私の最善の試みは、「更新されたリストのみを比較する方法」です。
誰かアイデアがありますか?それは素晴らしいことです。そうでない場合は...おそらく私がこれを書き出すだけで私の思考プロセスが役立つかもしれません。
問題は、この問題を高速かつ効率的に実行できるアルゴリズムまたはアプローチがあると感じずにはいられないということです。そのアルゴリズムが何であるかはわかりません。
皆さんありがとう
rdf - 教育目的の最も単純な SPARQL 実装は?
RDF/SPARQL 実装の内部構造について詳しく知りたいのですが、ほとんどのフレームワークは (必然的に) 現実世界のパフォーマンスと実装を考慮すると多少複雑です。低レベルの教育ツールとして適した「参照」実装があるかどうか知りたいですか? コードの観点から最小/最もクリーンな RDF/SPARQL 実装は何ですか?
xml - ruleML-メリット/デメリット?
私は現在ruleMLを調べていますが、誰かがそれについての長所と短所の短いリストを教えてくれるのではないかと思っていました。
ありがとう
math - 評価者間合意 (Fleiss の Kappa、Krippendorff の Alpha など) Java API?
修士論文の一環として、質問分類・回答コーパスの構築に取り組んでいます。評価者間の合意/信頼性に関して、予想される回答タイプの分類法を評価しようとしていますが、疑問に思っていました:これを実行できる適切な (できれば無料の) Java API を知っている人はいますか?
この時点で必要なのは、Fleiss の Kappa と Krippendorff の Alpha だけであると確信しています。
Weka はその評価パッケージでカッパ統計を提供しますが、それは分類子しか評価できないと思います。私はまだその段階ではありません (まだデータセットとクラスを構築しているため)。
ありがとう。
java - オントロジーのために冬眠しますか?
Hibernateがリレーショナルデータベースに対して行うことをOWLオントロジーに対して実行できるツールを知っている人はいますか?つまり、私の観点からは、SQLクエリを手動でコーディングしてリレーショナルデータベースとの間でJavaオブジェクトを読み書きし、管理する必要性を抽象化します。インメモリオブジェクトの一貫性とDB上のそれらのシリアル化された形式。
OWLオントロジーの場合、このようなツールは、とりわけ、RDFストア(Jenaなど)からデータを読み取り(および書き込み?)、対応するJavaオブジェクトを作成するためのSPARQLクエリを生成できます。
どうもありがとう :-)
rdf - 観光のためのRDFオントロジーの種類
観光 Web サイトを立ち上げており、セマンティック Web を使用したいと考えています。RDF オントロジーの使用にも興味があります。
それで、「このホテルはFooにあります」または「このレストランはFooコミュニティで3ポイントの評価を持っています」または「この旅程は3日間で、週末の旅行におすすめです」...
Dublin Coreがオンライン コンテンツなどのデジタル情報に関連する多くのことをカバーしていることは承知していますが、この種の情報を完全にカバーしている Web 上の情報はありますか?
keyword - キーワードのコンテンツに基づいて Web サイトをカテゴリに分類する方法
キーワード/メタ/リンクに基づいてサイトを事前定義されたカテゴリのリストに分類する webrobot を作成しています。
私はさまざまなオントロジーのアプローチを検討しており、Wordnet (ハイパーニム/ハイポニム用)、ResearchCyc、WebKb を検討しており、これが私が考えているほど難しい問題なのか、それとも以前に別の場所で解決されたのか疑問に思っていました。
基本的に、並べ替えられたキーワード値の大きなスタックがあり、それらを使用してカテゴリ名と照合したいと考えています。私の現在の考えは、ある種のオントロジー階層でカテゴリ名をチェックすることです。
このようなオントロジーに基づく問題に取り組んだ人は他にいますか?
乾杯!