Lewati navigasi

Category Archives: XML


Since I used to work using Java before went to PHP on daily basis, I really like using Apache Ant. Actually there is a similar technology called Phing that is fully integrated with PHP, i.e. you can use a PHP code in the script. Which is good, by the way.

So recently I need to create a gzipped version to each files in a directory for the static assets. Below is the Apache Ant snippet to do that. Enjoy.

<target name="compress-assets">
    <apply executable="gzip">
        <fileset dir="${assets.dir}">
            <include name="**/*.js"/>
            <include name="**/*.css"/>
        </fileset>
        <arg value="-c" />
        <srcfile />
        <redirector>
            <outputmapper id="out" type="glob" from="*" to="${assets.dir}/*.gz"/>
        </redirector>
    </apply>
</target>

The script above basically applies Gzip executable to each JS and CSS file in the directory to their js.gz and css.gz counterpart.

Iklan

Persistence Unit adalah sebuah unit data yang menjelaskan konfigurasi entity yang digunakan. Salah satu konfigurasinya berisi tentang storage tempat entity disimpan. Cara menambahkan PersistenceUnit pada sebuah Java project di Netbeans adalah sebagai berikut

Read More »


Web Ontology menjelaskan definisi entitas-entitas yang ada pada sebuah semantic web dan relasi satu sama lain. Untuk itu di dalam pengembangan semantic web, ontology merupakan hal yang paling penting. Saat ini belum ada metode pengembangan web ontology yang sudah formal. Langkah-langkah pengembangan ontology sebuah web pada domain tertentu secara sederhana adalah

  1. Acquire Domain Knowledge
    Sumber-sumber informasi dan narasumber harus dikumpulkan untuk dapat mendefinisikan istilah-istilah yang ada pada sebuah domain tertentu.
  2. Organize the OntologyPengembang harus merancang konsep keseluruhan dari domain tersebut. Kegiatan ini mencakup identifikasi konsep-konsep penting pada domain dan properti-propertinya, mengidentifikasi relasi antara konsep-konsep tersebut, membuat konsep abstrak untuk mengorganisasikan hal-hal yang ada, dan menerapkan panduan dari metodologi yang dipilih.
  3. Flesh out the Ontology
    Menambahkan konsep, relasi, dan instansiasi pada tingkat detail yang cukup penting untuk memenuhi tujuan ontology.
  4. Check Work
    Memeriksa konsistensi logika, sintaks, dan semantik dari elemen-elemen yang ada pada ontology. Pemeriksaan konsistensi dapat mencakup klasifikasi otomatis yang mendefinisikan konsep-konsep baru berdasarkan properti dan relasi.
  5. Commit the Ontology
    Melakukan verifikasi ontology kepada para ahli di domain tersebut.

OWL atau Web Ontology Language merupakan bahasa untuk mendefinisikan dan menginstansiasi ontologi sebuah web. Sementara itu ontology merupakan ilmu untuk mendeskripsikan jenis-jenis entitas yang ada di dunia dan bagaimana mereka terkait satu sama lain. Sebuah ontologi OWL mencakup deskripsi dari sebuah kelas, properti, dan instansiasi kelas tersebut.

OWL dibangun di atas skema RDF. OWL dan RDF memiliki fungsi dasar yang sama: mendefinisikan kelas, properti, dan relasi. Meski demikian OWL menawarkan kapabilitas lebih daripada RDF dalam mendefinisikan relasi-relasi yang kompleks seperti subClass, restriction, disjoint, constraint, dan juga cardinality.

<owl:Class rdf:ID="ExpensiveSLR">
   <rdfs:subClassOf rdf:resource="#SLR"/>
     <rdfs:subClassOf>
       <owl:Restriction>
         <owl:onProperty rdf:resource="#owned_by"/>
         <owl:allValuesFrom rdf:resource="#Professional"/>
       </owl:Restriction>
   </rdfs:subClassOf>
</owl:Class>

Di dalam dunia web sekarang ini, pengembangan web yang ada hanya memfokuskan pengguna kepada pengguna manusia. Dengan menggunakan HTML, data yang ditampilkan dalam sebuah web hanya berisi informasi yang sifatnya presentasi bagi manusia. Jika sebuah mesin membaca dokumen tersebut maka mesin hanya dapat menerima data tersebut dan bagaimana data tersebut ditampilkan dalam browser. Mesin tidak dapat menerima pengetahuan (knowledge) apa yang terkandung di dalam data tersebut.

RDF (Resource Description Format) merupakan format XML yang memiliki fungsi sebagai metadata yakni untuk memberikan representasi knowledge dari data. Sebuah model data RDF memiliki 4 buah aturan

  1. Sebuah fakta direpresentasikan dalam bentuk triple Subject – Predicate – Object atau lebih dikenal sebagai statement.
  2. Baik Subject, Predicate, dan Object merupakan sebuah entitas atau sering disebut resource dan node. Entitas dapat melambangkan benda, orang, website, keadaan, dan relasi.
  3. Nama yang digunakan merupakan URI yang selalu menunjuk pada entitas yang sama.
  4. Obyek dapat berupa teks atau literal dan dapat direpresentasi baik menggunakan tipe data pada XML Schema ataupun tida
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
    xmlns:edu="http://www.example.org/">
    <rdf:Description rdf:about="http://www.princeton.edu">
        <geo:lat>40.35</geo:lat>
        <geo:long>-74.66</geo:long>
        <edu:hasDept rdf:resource="http://www.cs.princeton.edu"
            dc:title="Department of Computer Science"/>
    </rdf:Description>
</rdf:RDF>

Kode di atas merupakan kode RDF dari representasi tabel di bawah.

Subject Predicate Object
http://www.princeton.edu geo:lat 40.35
http://www.princeton.edu geo:long -74.66
http://www.princeton.edu edu:hasDept http://www.cs.princeton.edu
http://www.cs.princeton.edu dc:title Department of Computer Science

Di dalam kode tersebut terdapat 4 buah representasi triple: 3 buah representasi dari entitas “http://www.princeton.edu” dan 1 buah milik “http://www.cs.princeton.edu “.  Kedua triple berikutnya menjelaskan letak geografis dari Universitas Princeton. Triple ketiga menjelaskan bahwa Universitas Princeton memiliki departemen Computer Science. Dan triple terakhir menjelaskan nama dari departemen tersebut.

Selain dengan format XML, RDF juga dapat diekspresikan dengan menggunakan format Notation3.

@prefix rdf:  .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix geo: <http://www. w3.org/2003/01/geo/wgs84_pos#> .
@prefix edu: <http://www.example.org/> .

<http://www.princeton.edu> geo:lat "40.35" ; geo:long "-74.66" .
<http://www.cs.princeton.edu> dc:title "Department of Computer Science" .
<http://www.princeton.edu> edu:hasDept <http://www.cs.princeton.edu> .
%d blogger menyukai ini: